You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
229 lines
15 KiB
HTML
229 lines
15 KiB
HTML
[(#REM) Rubrique de depart :
|
|
Si l'id_rubrique saisi vaut "courante" on va chercher l'id de la rubrique courante => env{env{id_rubrique}}
|
|
sinon, on utilise l'id saisi ]
|
|
[(#SET{id_rubrique, #ENV{id_rubrique}|=={courante}|?{#ENV**|unserialize|table_valeur{env}|table_valeur{id_rubrique},#ENV{id_rubrique}|intval}})]
|
|
|
|
[(#SET{id_secteur_exclus, #ENV{id_secteur_exclus}|?{#ENV{id_secteur_exclus}|explode{','},#ARRAY}})]
|
|
[(#SET{niveau_max_txt, #ENV{niveau}|intval|?{#ENV{niveau},infini}})]
|
|
[(#SET{niveau_max, #ENV{niveau}|intval|?{#ENV{niveau},1000}})]
|
|
[(#SET{sousrub_cond, #ENV{sousrub_cond}|=={oui}|?{'on',''}})]
|
|
[(#SET{rubriques_max_affichees, #ENV{rubriques_max_affichees}|intval|?{#ENV{rubriques_max_affichees},10000}})]
|
|
[(#SET{id_rubriques_exclues, #ENV{id_rubriques_exclues}|?{#ENV{id_rubriques_exclues}|explode{','},#ARRAY}})]
|
|
[(#SET{classe_parent, #ENV{classe_parent}})]
|
|
|
|
[(#SET{afficher_articles, #ENV{afficher_articles}|=={oui}|?{'on',''}})]
|
|
[(#SET{masquer_articles_uniques, #ENV{masquer_articles_uniques}|=={oui}|?{'on',''}})]
|
|
[(#SET{lien_direct_articles_uniques, #ENV{lien_direct_articles_uniques}|=={oui}|?{'on',''}})]
|
|
|
|
[(#SET{articles_max, #ENV{articles_max}|intval|?{#ENV{articles_max},10000}})]
|
|
[(#SET{articles_max_plus_un, #GET{articles_max}|plus{1}})]
|
|
[(#SET{articles_max_affiches, #ENV{articles_max_affiches}|intval|?{#ENV{articles_max_affiches},10000}})]
|
|
|
|
[(#REM) Tri des rubriques ]
|
|
[(#SET{tri_num, #ENV{tri,titre}|menus_critere_tri{num}})]
|
|
[(#SET{tri_alpha, #ENV{tri,titre}|menus_critere_tri{alpha}})]
|
|
[(#SET{tri_num_inverse,#GET{tri_num}|match{^!}|oui})]
|
|
[(#SET{tri_alpha_inverse,#GET{tri_alpha}|match{^!}|oui})]
|
|
[(#SET{tri_num,#GET{tri_num}|ltrim{!}})]
|
|
[(#SET{tri_alpha,#GET{tri_alpha}|ltrim{!}})]
|
|
|
|
[(#REM) Tri des articles ]
|
|
[(#SET{tri_num_articles, #ENV{tri_articles,titre}|menus_critere_tri{num}})]
|
|
[(#SET{tri_alpha_articles, #ENV{tri_articles,titre}|menus_critere_tri{alpha}})]
|
|
[(#SET{tri_num_articles_inverse,#GET{tri_num_articles}|match{^!}|oui})]
|
|
[(#SET{tri_alpha_articles_inverse,#GET{tri_alpha_articles}|match{^!}|oui})]
|
|
[(#SET{tri_num_articles,#GET{tri_num_articles}|ltrim{!}})]
|
|
[(#SET{tri_alpha_articles,#GET{tri_alpha_articles}|ltrim{!}})]
|
|
|
|
#SET{depth,#ENV{env/depth,0}}
|
|
|
|
[(#ENV{appel_formulaire}|oui)
|
|
[(#SET{titre, #ENV{id_rubrique}|?{#ENV{id_rubrique}|=={courante}|?{<:menus:info_rubrique_courante:>,#INFO_TITRE{rubrique, #GET{id_rubrique}}}, <:info_racine_site:>}})]
|
|
[(#ENV{secteurlangue}non)<div class="titre">#GET{titre}</div>]
|
|
[(#ENV{secteurlangue}oui)<div class="titre"><:menus:nom_menu_secteurlangue:></div>]
|
|
<div class="infos">
|
|
[(#GET{niveau_max_txt}|=={infini}|non)
|
|
<:menus:entree_sur_n_niveaux{n=#GET{niveau_max_txt}}:>
|
|
]
|
|
[(#GET{niveau_max_txt}|=={infini}|oui)
|
|
<:menus:entree_infini:>
|
|
]
|
|
[(#GET{id_secteur_exclus}|oui)
|
|
<:menus:info_secteur_exclus{id_secteur=#ENV{id_secteur_exclus}}:>
|
|
]
|
|
[(#GET{id_rubriques_exclues}|oui)
|
|
<:menus:info_rubriques_exclues{id_rubriques=#ENV{id_rubriques_exclues}}:>
|
|
]
|
|
[(#GET{sousrub_cond}|oui)
|
|
<br /><:menus:info_sousrub_cond:>
|
|
]
|
|
[(#GET{rubriques_max_affichees}|<{10000}|oui) / <:menus:info_rubriques_max_affichees{max=#GET{rubriques_max_affichees}}:>]
|
|
<br /><:menus:info_tri:> [(#GET{tri_num}) [(#GET{tri_num_inverse}|=={1}|oui) inverse] <:menus:info_tri_num:>][(#GET{tri_num}|et{GET{tri_alpha}}), ][(#GET{tri_alpha}) [(#GET{tri_alpha_inverse}|=={1}|oui) inverse] <:menus:info_tri_alpha:>]
|
|
[<br /><:menus:info_classe_parent:>(#GET{classe_parent})]
|
|
|
|
[(#GET{afficher_articles}|oui)
|
|
<br /><:menus:info_afficher_articles:>
|
|
[(#GET{articles_max}|<{10000}|oui) / <:menus:info_articles_max{max=#GET{articles_max}}:>]
|
|
[(#GET{articles_max_affiches}|<{10000}|oui) / <:menus:info_articles_max_affiches{max=#GET{articles_max_affiches}}:>]
|
|
[(#GET{masquer_articles_uniques}|oui) / <:menus:info_masquer_articles_uniques:>]
|
|
]
|
|
<br /><:menus:info_tri_articles:> [(#GET{tri_num_articles}) [(#GET{tri_num__articles_inverse}|=={1}|oui) inverse] <:menus:info_tri_num:>][(#GET{tri_num_articles}|et{GET{tri_alpha_articles}}), ][(#GET{tri_alpha_articles}) [(#GET{tri_alpha_articles_inverse}|=={1}|oui) inverse] <:menus:info_tri_alpha:>]
|
|
</div>
|
|
]
|
|
<BOUCLE_appel(CONDITION){si #ENV{appel_menu}|oui}>
|
|
<BOUCLE_rubriques(RUBRIQUES){id_parent=#GET{id_rubrique}}{id_secteur !IN #GET{id_secteur_exclus}}{id_rubrique !IN #GET{id_rubriques_exclues}}{par num #GET{tri_num}}{inverse #GET{tri_num_inverse}}{par #GET{tri_alpha}}{inverse #GET{tri_alpha_inverse}}{0,#GET{rubriques_max_affichees}}>
|
|
[(#SET{niveau_actuel,1})]<li class="menu-entree item menu-items__item menu-items__item_objet menu-items__item_rubrique[ (#ID_RUBRIQUE|menus_exposer{rubrique,#ENV*{env}})] rub#ID_RUBRIQUE">[(#REM)
|
|
si articles uniques masqués
|
|
faire le lien vers l'article quand il est seul dans la rubrique ?
|
|
]<BOUCLE_cpt_art(ARTICLES){id_rubrique}{lang}{si #GET{masquer_articles_uniques}}{si #GET{lien_direct_articles_uniques}}> #SET{id_article_unique, #ID_ARTICLE}</BOUCLE_cpt_art>
|
|
[(#TOTAL_BOUCLE|>{1}|?{
|
|
<a href="#URL_RUBRIQUE" class="menu-items__lien">#TITRE</a>,
|
|
<a href="[(#URL_ARTICLE{#GET{id_article_unique}})]" class="menu-items__lien">#TITRE</a>
|
|
})]</B_cpt_art>
|
|
<a href="#URL_RUBRIQUE" class="menu-items__lien">#TITRE</a><//B_cpt_art>[(#REM)
|
|
|
|
Doit-on descendre plus loin ?
|
|
|
|
][(#SET{cond,#GET{niveau_max}|>{#GET{niveau_actuel}}|et{#GET{sousrub_cond}|?{#ID_RUBRIQUE|menus_exposer{rubrique,#ENV*{env}},'on'}}})]<BOUCLE_test_niveau(CONDITION){si #GET{cond}}>[(#REM)
|
|
|
|
On commence par compter le nombre total de sous-rubriques (servira pour l'item "Toutes les rubriques")
|
|
|
|
][(#SET{cpt_sousrub,0})]
|
|
<BOUCLE_cpt_sousrub(RUBRIQUES){id_parent}{id_rubrique !IN #GET{id_rubriques_exclues}}> </BOUCLE_cpt_sousrub>#SET{cpt_sousrub,#TOTAL_BOUCLE}</B_cpt_sousrub>
|
|
<B_sous_rubriques>
|
|
<ul class="menu-liste menu-items menu-items"[ data-depth="(#GET{depth}|plus{1})"]>
|
|
<BOUCLE_sous_rubriques(RUBRIQUES){id_parent}{id_rubrique !IN #GET{id_rubriques_exclues}}{par num #GET{tri_num}}{inverse #GET{tri_num_inverse}}{par #GET{tri_alpha}}{inverse #GET{tri_alpha_inverse}}{0,#GET{rubriques_max_affichees}}>
|
|
[(#SET{niveau_actuel,#GET{niveau_actuel}|plus{1}})][(#REM)
|
|
Doit-on descendre recursivement plus loin ?
|
|
][(#SET{cond,#GET{niveau_max}|>{#GET{niveau_actuel}}|et{#GET{sousrub_cond}|?{#ID_RUBRIQUE|menus_exposer{rubrique,#ENV*{env}},'on'}}})]
|
|
<li class="menu-entree item menu-items__item menu-items__item_objet menu-items__item_rubrique[ (#ID_RUBRIQUE|menus_exposer{rubrique,#ENV*{env}})] rub#ID_RUBRIQUE">[(#REM)
|
|
------------------------------------------------
|
|
Positionnement de la classe daddy sur le lien pour indiquer qu'il a un ul a suivre, un autre sous-menu a ouvrir
|
|
si on doit descendre plus loin et
|
|
- qu'il y a des sous-rubriques a afficher
|
|
- ou qu'il y a des articles a afficher et qu'on l'a demande
|
|
][(#SET{class,''})]
|
|
<BOUCLE_test_classe_parent(CONDITION){si #GET{classe_parent}}>[(#REM)
|
|
|
|
On commence par compter le nombre de sous-rubriques
|
|
|
|
][(#SET{cpt_sousrub_asuivre,0})]
|
|
<BOUCLE_cpt_sousrub_asuivre(RUBRIQUES){id_parent}{id_rubrique !IN #GET{id_rubriques_exclues}}> </BOUCLE_cpt_sousrub_asuivre>#SET{cpt_sousrub_asuivre,#TOTAL_BOUCLE}</B_cpt_sousrub_asuivre>[(#REM)
|
|
|
|
Puis on compte le nombre d'articles
|
|
|
|
][(#SET{cpt_articles_asuivre,0})]
|
|
<BOUCLE_cpt_articles_asuivre(ARTICLES){id_rubrique}{lang}> </BOUCLE_cpt_articles_asuivre>#SET{cpt_articles_asuivre,#TOTAL_BOUCLE}</B_cpt_articles_asuivre>
|
|
[(#GET{cond}|oui)
|
|
[(#GET{cpt_sousrub_asuivre}|oui) [(#SET{class,[(#GET{classe_parent})]})]]
|
|
[(#GET{afficher_articles}|et{#GET{cpt_articles_asuivre}|<={#GET{articles_max}}|oui|et{#GET{cpt_articles_asuivre}|>{1}|ou{#GET{masquer_articles_uniques}|=={'on'}|non}}}) #SET{class,#GET{classe_parent}}]
|
|
]
|
|
</BOUCLE_test_classe_parent>[(#REM)
|
|
|
|
--------------------------- Fin Positionnement de la classe daddy
|
|
|
|
]<a href="#URL_RUBRIQUE" class="menu-items__lien[ (#GET{class})]">#TITRE</a>
|
|
<BOUCLE_test_niveau2(CONDITION){si #GET{cond}}>
|
|
<BOUCLE_sous_sous(BOUCLE_sous_rubriques)></BOUCLE_sous_sous>
|
|
</BOUCLE_test_niveau2>
|
|
</li>
|
|
</BOUCLE_sous_rubriques>[(#REM)
|
|
|
|
On affiche le lien vers le reste si on a dépassé le quota
|
|
|
|
][(#GET{cpt_sousrub}|>{#GET{rubriques_max_affichees}}|oui)
|
|
<li class="menu-entree item menu-items__item menu-items__item_objet menu-items__item_rubrique"><a class="menu-items__lien suite" href="#URL_RUBRIQUE"><:menus:toutes_les_rubriques:></a></li>]
|
|
[(#REM) ------------------------------------------------
|
|
Premier cas de gestion de l'affichage des articles
|
|
Ce code est dupliqué dans les 2e et 3e cas, voir ci dessous (a un ul pres)
|
|
Il n'est pas possible en spip 2 d'utiliser inclure pour eviter la duplication
|
|
Cf http://comments.gmane.org/gmane.comp.web.spip.devel/60475
|
|
Ce doit etre le meme soucis qui fait que #URL_RUBRIQUE est trasnforme en
|
|
spip.php?page=rubrique&id_rubrique=2&connect=condition qu'on enleve avec le filtre parametre_url ]
|
|
<BOUCLE_test_articles_si_sousrub(CONDITION){si #GET{afficher_articles}}>[(#REM)
|
|
|
|
On commence par compter le nombre d'articles de la rubrique (servira pour l'item "Tous les articles")
|
|
|
|
][(#SET{cpt,0})]
|
|
<BOUCLE_cpt_si_sousrub(ARTICLES){id_rubrique}{lang}> </BOUCLE_cpt_si_sousrub>#SET{cpt,#TOTAL_BOUCLE}</B_cpt_si_sousrub>[(#REM)
|
|
On affiche les articles :
|
|
- S'il y en a moins que le max demandé
|
|
- ET - si on n'a pas demandé de masquage des articles uniques
|
|
- OU si le masquage des articles uniques est demandé et qu'il y en a plus d'un
|
|
][(#SET{afficher,non})]
|
|
[(#GET{cpt}|<={#GET{articles_max}}|oui|et{#GET{cpt}|>{1}|ou{#GET{masquer_articles_uniques}|=={'on'}|non}})
|
|
#SET{afficher,oui}]
|
|
<BOUCLE_test_afficher_si_sousrub(CONDITION){si #GET{afficher}|=={oui}|oui}>
|
|
<BOUCLE_articles_si_sousrub(ARTICLES){id_rubrique}{lang}{par num #GET{tri_num_articles}}{inverse #GET{tri_num_articles_inverse}}{par #GET{tri_alpha_articles}}{inverse #GET{tri_alpha_articles_inverse}}{0,#GET{articles_max_affiches}}>
|
|
<li class="menu-entree item menu-items__item menu-items__item_objet menu-items__item_article[ (#ID_ARTICLE|menus_exposer{article,#ENV*{env}})]">
|
|
<a href="#URL_ARTICLE" class="menu-items__lien">#TITRE</a>
|
|
</li>
|
|
</BOUCLE_articles_si_sousrub>
|
|
[(#GET{cpt}|>{#GET{articles_max_affiches}}|oui)
|
|
<li class="menu-entree item menu-items__item menu-items__item_objet menu-items__item_rubrique"><a class="menu-items__liens suite" href="[(#URL_RUBRIQUE|parametre_url{connect,''})]"><:menus:tous_les_articles:></a></li>]
|
|
</B_articles_si_sousrub>
|
|
</BOUCLE_test_afficher_si_sousrub>
|
|
</BOUCLE_test_articles_si_sousrub>[(#REM)
|
|
|
|
--------------------------- Fin Premier cas
|
|
|
|
]</ul>
|
|
</B_sous_rubriques>[(#REM)
|
|
----------------------------------
|
|
Second cas de gestion de l'affichage des articles
|
|
]<BOUCLE_test_articles_pas_de_sousrub(CONDITION){si #GET{afficher_articles}}>
|
|
[(#REM) On commence par compter le nombre d'articles de la rubrique (servira pour l'item "Tous les articles") ]
|
|
#SET{cpt,0}
|
|
<BOUCLE_cpt_pas_de_sousrub(ARTICLES){id_rubrique}{lang}> </BOUCLE_cpt_pas_de_sousrub>#SET{cpt,#TOTAL_BOUCLE}</B_cpt_pas_de_sousrub>[(#REM)
|
|
On affiche les articles :
|
|
- S'il y en a moins que le max demandé"
|
|
- ET - si on n'a pas demandé de masquage des articles uniques
|
|
- OU si le masquage des articles uniques est demandé et qu'il y en a plus d'un ]
|
|
#SET{afficher,non}
|
|
[(#GET{cpt}|<={#GET{articles_max}}|oui|et{#GET{cpt}|>{1}|ou{#GET{masquer_articles_uniques}|=={'on'}|non}})
|
|
#SET{afficher,oui}]
|
|
|
|
<BOUCLE_test_afficher_pas_de_sousrub(CONDITION){si #GET{afficher}|=={oui}|oui}>
|
|
<B_articles_pas_de_sousrub>
|
|
<ul class="menu-liste menu-items menu-items"[ data-depth="(#GET{depth}|plus{1})"]>
|
|
<BOUCLE_articles_pas_de_sousrub(ARTICLES){id_rubrique}{lang}{par num #GET{tri_num_articles}}{inverse #GET{tri_num_articles_inverse}}{par #GET{tri_alpha_articles}}{inverse #GET{tri_alpha_articles_inverse}}{0,#GET{articles_max_affiches}}>
|
|
<li class="menu-entree item menu-items__item menu-items__item_objet menu-items__item_article[ (#ID_ARTICLE|menus_exposer{article,#ENV*{env}})]">
|
|
<a href="#URL_ARTICLE" class="menu-items__lien">#TITRE</a>
|
|
</li>
|
|
</BOUCLE_articles_pas_de_sousrub>
|
|
[(#GET{cpt}|>{#GET{articles_max_affiches}}|oui)
|
|
<li class="menu-entree item menu-items__item menu-items__item_objet menu-items__item_rubrique"><a class="menu-items__lien suite" href="[(#URL_RUBRIQUE|parametre_url{connect,''})]"><:menus:tous_les_articles:></a></li>]
|
|
</ul>
|
|
</B_articles_pas_de_sousrub>
|
|
</BOUCLE_test_afficher_pas_de_sousrub>
|
|
</BOUCLE_test_articles_pas_de_sousrub>
|
|
[(#REM) --------------------------- Fin Second cas ]
|
|
<//B_sous_rubriques>
|
|
</BOUCLE_test_niveau>
|
|
</li></BOUCLE_rubriques>[(#REM) ----------------------------------
|
|
troisieme cas de gestion de l'affichage des articles : les articles de la rubriques de départ
|
|
]<BOUCLE_test_articles_pas_de_rub(CONDITION){si #GET{afficher_articles}}>[(#REM)
|
|
|
|
On commence par compter le nombre d'articles de la rubrique (servira pour l'item "Tous les articles")
|
|
|
|
][(#SET{cpt,0})]<BOUCLE_cpt_pas_de_rub(ARTICLES){id_rubrique=#GET{id_rubrique}}{lang}> </BOUCLE_cpt_pas_de_rub>#SET{cpt,#TOTAL_BOUCLE}</B_cpt_pas_de_rub>
|
|
[(#REM) On affiche les articles :
|
|
- S'il y en a moins que le max demandé
|
|
- ET
|
|
- si on n'a pas demandé de masquage des articles uniques
|
|
- OU si le masquage des articles uniques est demandé et qu'il y en a plus d'un ]
|
|
[(#SET{afficher,non})][(#GET{cpt}|<={#GET{articles_max}}|oui|et{#GET{cpt}|>{1}|ou{#GET{masquer_articles_uniques}|=={'on'}|non}})#SET{afficher,oui}]
|
|
<BOUCLE_test_afficher_pas_de_rub(CONDITION){si #GET{afficher}|=={oui}|oui}>
|
|
<B_articles_pas_de_rub>
|
|
<BOUCLE_articles_pas_de_rub(ARTICLES){id_rubrique=#GET{id_rubrique}}{lang}{par num #GET{tri_num_articles}}{inverse #GET{tri_num_articles_inverse}}{par #GET{tri_alpha_articles}}{inverse #GET{tri_alpha_articles_inverse}}{0,#GET{articles_max_affiches}}>
|
|
<li class="menu-entree item menu-items__item menu-items__item_objet menu-items__item_article[ (#ID_ARTICLE|menus_exposer{article,#ENV*{env}})]">
|
|
<a href="#URL_ARTICLE" class="menu-items__lien">#TITRE</a>
|
|
</li>
|
|
</BOUCLE_articles_pas_de_rub>[(#GET{cpt}|>{#GET{articles_max_affiches}}|oui)
|
|
<li class="menu-entree item menu-items__item menu-items__item_objet menu-items__item_rubrique"><a class="menu-items__lien suite" href="[(#URL_RUBRIQUE|parametre_url{connect,''})]"><:menus:tous_les_articles:></a></li>]
|
|
</B_articles_pas_de_rub>
|
|
</BOUCLE_test_afficher_pas_de_rub>
|
|
</BOUCLE_test_articles_pas_de_rub>
|
|
</BOUCLE_appel>
|
|
#FILTRE{trim}
|