source: spip-zone/_plugins_/urls_pages/trunk/prive/squelettes/contenu/controler_urls_pages.html @ 99665

Last change on this file since 99665 was 99665, checked in by tcharlss@…, 3 years ago

v1.0.0 : premier jet d'une nouvelle version complètement refactorisée, et toujours aussi expérimentale.
Désolé pour le gros commit en 1 seule fois.

Les URLs des pages ne sont plus stockées dans le meta du plugin, mais dans le table spip_urls comme les autres URLs, avec type=, id_objet=0.
On ajoute une colonne 'page' utilisée uniquement pour les URLs des pages.
La migration est effectuée automatiquement lors de la mise à jour du plugin. Seules les URLs éventuellement non migrées (doublon dans la BDD) sont conservées dans la meta urls_pages. Réfléchir à leur prise en charge (message sur la page de gestion des URLs ?).

Le gros avantage de cette version, c'est qu'on à plus besoin de modifier le htaccess, ni d'indiquer le rewritebase dans la configuration.
On a juste à saisir une URL, et c'est tout.
De plus, on peut rentrer manuellement les pages, on ne se repose pas sur la détection automatique des squelettes, qui n'est donnée qu'à titre indicatif.

La fonction qui détecte les fonds de page a été refactorisée et migrée pour être utilisée dans une boucle DATA : <BOUCLE_fonds(DATA){source fonds_pages}>.
Par défaut, une boucle <BOUCLE_urls(URLS)> ne retourne pas les URLs des pages, à moins d'utiliser le critère {tout}.

On est obligé de surcharger la fonction urls_propres_dist() pour prendre en compte les pages, faute de pipeline.
Néammoins, la fonction dist est toujours utilisée pour tout autre URL que les pages.

Les URLs des pages sont gérées à partir du menu des URLs : publication -> gestion des URLs. On ajoute un menu sur cette page pour basculer entre la gestion des URLs des objets éditoriaux, et celle des URLs des pages.

Cette version est compatible SPIP >= 3.1

C'est un premier jet donc, il reste quelques pétouilles à finir.
À tester, mais pas en production !

File size: 934 bytes
Line 
1[(#REM)
2
3        Administration des URLs des pages
4
5]
6[(#AUTORISER{administrer,url}|sinon_interdire_acces)]
7
8<INCLURE{fond=prive/squelettes/inclure/menu_urls_pages}>
9
10<h1 class="grostitre"><:urls_pages:titre_urls_pages:></h1>
11
12#SET{onglets, #LISTE{pages,fonds}}
13#SET{onglet, #ENV{onglet}|in_array{#GET{onglets}}|?{#ENV{onglet},#GET{onglets/0}}}
14<div class='onglets_simple clearfix'>
15        <ul>
16                <BOUCLE_onglets(DATA){source table, #GET{onglets}}>
17                <li>
18                        [(#SELF|parametre_url{onglet,#VALEUR}
19                                |lien_ou_expose{#VAL{#VAL{urls_pages:menu_onglet_#VALEUR}|_T},#GET{onglet}|=={#VALEUR}})]
20                </li>
21                </BOUCLE_onglets>
22        </ul>
23</div>
24
25[(#GET{onglet}|=={pages}|oui)
26<INCLURE{fond=prive/objets/liste/urls_pages, ajax}>
27]
28
29[(#GET{onglet}|=={fonds}|oui)
30<INCLURE{fond=prive/objets/liste/fonds_pages, boutons=editer}>
31]
32
33[(#URL_ECRIRE{url_page_edit}|parametre_url{redirect,#SELF}|icone_verticale{<:urls_pages:icone_ajouter_url_page:>,url,new,'right'})]
Note: See TracBrowser for help on using the repository browser.