“Prérequis : notions de PHP/MYSQL”
Dans un site SPIP, quand les secteurs servent comme entrées pour les langues (rubriques français, anglais, chinois, etc), le critère racine n’est pas utilisable dans la BOUCLE RUBRIQUES pour afficher des menus cohérents. La balise #RUBRIQUEPRINCIPALE permet d’assimiler les rubriques de niveau 1 à des secteurs et donc d’afficher les menus désirés.
Exemple :
Niveau 0 : FRANÇAIS
Niveau 1 : DÉCOUVRIR ; S’ORIENTER ; PARTICIPER ;
Dans cet exemple (voir en ligne http://forum-china-europa.net/spip.php?article1 ), une boucle avec le critère racine afficherait toutes les rubriques de niveau 1 avec leurs sousrubriques, ce qui n’est pas souhaitable. #RUBRIQUEPRINCIPALE permet d’afficher uniquement les sous-rubriques des rubriques de niveau1.
La syntaxe de base utilisée pour la boucle servant à générer les différents sous menus est la suivante :
<BOUCLE_rubriques(RUBRIQUES) {id_rubrique=#RUBRIQUEPRINCIPALE}{lang} {par titre}>
<BOUCLE_sous_rubriques(RUBRIQUES){id_parent} {par num titre}>
<a href="liensouhaité">#TITRE</a> ou tout autre balise
</BOUCLE_sous_rubriques>
</BOUCLE_rubriques>
Le code de la balise (à insérer dans le fichier mes_fonctions.php situé dans le répertoire squelettes ) est le suivant :
Function balise_RUBRIQUEPRINCIPALE($p){
$_id_rubrique = interprete_argument_balise(1,$p);
if (!$_id_rubrique)
$_id_rubrique = champ_sql('id_rubrique',$p);
$p->code = "fce_getRubriquePrincipale($_id_rubrique)" ;
$p->interdire_scripts = false;
return $p;
}
function fce_getRubriquePrincipale($idrubrique) {
$requete = "SELECT id_parent, id_secteur FROM nomdevotretable_rubriques WHERE id_rubrique = $idrubrique";
$query = mysql_query($requete);
$row = mysql_fetch_row($query);
$idparent = $row[0];
$idsecteur = $row[1];
if ($idparent == $idsecteur) return $idrubrique;
return fce_getRubriquePrincipale($idparent, $idsecteur);
}
Aucune discussion
Ajouter un commentaire
Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :
Merci d’avance pour les personnes qui vous aideront !
Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.
Suivre les commentaires : |