Menus multiples

show_menu2, version 4.9x

Show_Menu2 est un extrait de code pour le créateur de site Web CMS. Depuis WebsiteBaker 2.7, il est inclus avec le CMS.
L’ancienne fonction show_menu est complètement remplacée et étendue par show_menu2. Toutes les données nécessaires à la création du menu sont générées par une seule requête de base de données. Par des possibilités d’ajustement étendues du code HTML généré tous les types de menus possibles (listes, chapelure, plans du site, etc.) peuvent être générés.

  • Installation
  • Utilisation de Show_Menu2
  • FAQ
  • Fonction
  • Sortie HTML
  • Paramètre
  • Options avancées
  • Chaînes de format
  • Mise en forme conditionnelle
  • Formateur

INSTALLATIONup

Puisque show_menu2 est généralement présent dans WebsiteBaker, aucune installation n’est requise. Si, contrairement aux attentes, il n’existe pas, vous pouvez le télécharger ici.

Utilisation de SHOW_MENU2up

Pour utiliser show_menu2, vous devez modifier le modèle où vous souhaitez que le menu apparaisse. Remarque : Si les anciens appels de menu sont remplacés, les nouveaux paramètres correspondants dont show_menu2 a besoin doivent également être utilisés.

Dans la plupart des cas, l’appel standard avec au moins 4 paramètres de show_menu2 est suffisant. Dans ce cas, les valeurs par défaut sont utilisées, cela crée un menu qui affiche la page en cours et les sous-pages de la page en cours:

show_menu2(0, SM2_ROOT, SM2_START, SM2_TRIM);

Remarque: l’appel à show_menu2 est PHP et doit normalement être entouré de caractères de code PHP (sauf si l’appel est déjà dans le code PHP):

 <?php show_menu2(0, SM2_ROOT, SM2_START, SM2_TRIM); ?>

Ce menu par défaut crée déjà un menu complet sur une base de liste avec plusieurs classes qui permettent un formatage facile à l’aide de CSS. Par exemple, la classe « menu-current » est ajoutée à la balise < li > de l’élément de menu actuel. De plus, chaque élément de menu des sous-éléments contient la classe « menu-expand ». Cela permet de créer des règles CSS très différenciées pour chaque élément de menu.
Par exemple:

li.menu-expand { font-weight: bold; }li.menu-current { background: red; }

La section « Sortie HTML » contient une description détaillée des classes affectées à quel élément. En utilisant différents paramètres dans l’appel de fonction show_menu2, il est également possible de créer des structures de menus assez étendues et différentes. Par exemple, pour afficher uniquement les éléments de menu du niveau supérieur de la structure de menu, vous pouvez utiliser l’appel suivant:

show_menu2(0, SM2_ROOT, SM2_START, SM2_TRIM);

Ou, par exemple, pour afficher jusqu’à deux sous-niveaux de la page en cours:

show_menu2(0, SM2_CURR+1, SM2_CURR+2, SM2_TRIM);

Il y a beaucoup de possibilités pour créer différentes structures de menus. De nombreux exemples peuvent être trouvés sur le site de démonstration: KLICK

FAQup

Q: Je ne suis pas un programmeur. N’y a-t-il pas de documentation plus simple ?
D: Non, car c’est déjà la documentation simple.

Q: Comment puis-je créer un menu déroulant?
R: Cela n’a rien à voir avec show_menu2. Pour créer un menu déroulant, il vous suffit d’ajuster le code CSS du modèle respectif. Les ajustements nécessaires peuvent être trouvés par exemple dans le modèle « allcss2 » du référentiel Addon WebsiteBaker -> https://addon.websitebaker.org/

Q : Pourquoi le menu disparaît-il après que j’ai utilisé la fonction de recherche dans une page Web multilingue ?
R : Les lignes nécessaires sont manquantes dans le modèle utilisé :

1. Dans le Backend Administrateur WB: Options – > Afficher les options avancées – > Options de recherche – > En-tête – insérez la ligne suivante directement après l’ouverture de la balise < form >:

<input type="hidden" name="referrer" value="" />

2. insérez la ligne suivante dans l’index.php du modèle utilisé immédiatement après l’ouverture de la balise < form > de la recherche:

<input type="hidden" name="referrer" value="<?php echo defined('REFERRER_ID')?REFERRER_ID:PAGE_ID;?>" />

Q: Multilingue? Ça a l’air génial. Comment faites-vous?
D: https://help.websitebaker.org/en/designerguide/multilingual-websites.php

Q : Chaque fois qu’une page est appelée, SM2 génère le message d’avertissement suivant :
« erreur show_menu2 :aaOptions n’est pas valide. Aucun drapeau du groupe 1 fourni! »
A: Les mauvaises valeurs ou un mauvais nombre de valeurs ont été transmises à la fonction.
Voir la section PARAMÈTRES pour les valeurs d’indicateur correctes à transmettre au paramètre $aOptions.

Q: Comment utiliser une classe/image/ couleur / widget différente pour chaque entrée d’un menu?
A: Utilisez la chaîne de format dans la chaîneaaItemOpen. Créez une classe ou un identifiant unique pour chaque élément de menu, puis référencez cet élément dans votre CSS ou Javascript pour faire ce que vous voulez.
Pour ajouter une classe unique pour chaque élément de menu (ou similaire):

"<li><a href="" target="" class=" p"></a>"

… création d’éléments de menu comme…

<li><a href="/pages/foo/bar.php" target="_top" class="menu-top p45">Top Menu</a>

Référencez ceci dans votre CSS comme:

a.p45 { color: red; }

Pour ajouter un identifiant unique pour chaque élément de menu (ou similaire):

"<li><a href="" target="" class=""></a>"

… création d’éléments de menu comme…

<li><a href="/pages/foo/bar.php" target="_top" class="menu-top">Top Menu</a>

Référencez ceci dans votre CSS comme:

a#p45 { color: red; }

Notez que l’ID ne peut être utilisé que si ce menu est généré et affiché une seule fois sur la page (car les ID HTML doivent être uniques dans une page).

FUNCTIONup

L’appel complet et les valeurs de paramètre par défaut pour show_menu2 sont les suivants:

show_menu2( $aMenu = 0, $aStart = SM2_ROOT, $aMaxLevel = SM2_CURR+1, $aOptions = SM2_TRIM, $aItemOpen = '</a>', $aItemClose = '</li>', $aMenuOpen = '', $aMenuClose = '</ul>', $aTopItemOpen = false, $aTopMenuOpen = false);

La section « Paramètres » contient une description détaillée de chaque paramètre individuel.
Chaque paramètre doit être utilisé absolument correctement. Les règles suivantes peuvent vous aider:

aMenaMenu= 0 est la meilleure valeur dans la plupart des cas.
aStaStart doit être soit un ID de page, soit une valeur commençant par « SM2_ ».
aMaMaxLevel ne peut obtenir que des valeurs commençant par « SM2_ ».
aaOptions à l’exception de quelques cas particuliers, seules les valeurs commençant par « SM2_ » sont autorisées.
Tous les autres paramètres contiennent les balises (HTML) qui contrôlent la sortie du menu.
À partir deaaItemOpen, chaque paramètre peut recevoir la valeur false pour obtenir la valeur par défaut respective.

Cela peut être utilisé, par exemple, pour créer une liste numérotée, tandis que les valeurs par défaut sont toujours utilisées pour les éléments de menu individuels:

show_menu2(0, SM2_ROOT, SM2_ALL, SM2_ALL, false, false, '<ol>', '</ol>');

Remarque: jusqu’à includingaOptions inclus, tous les paramètres doivent être passés explicitement!

Sortie HTML

La sortie HTML dépend en grande partie des paramètres transmis à la fonction. Indépendamment de cela, les classes suivantes sont toujours utilisées pour chaque menu, les éléments de menu individuels pouvant également avoir plusieurs classes si nécessaire.

CLASSE AFFECTATION
menu- top Uniquement le premier élément de menu.
menu – parent Tout élément du menu principal.
menu – current Seul l’élément de menu de la page actuelle.
menu – frères et sœurs Tous les « frères et sœurs » de la page en cours.
menu – enfant Tout sous-menu de la page en cours.
menu – développez Tout menu comportant des sous-menus.
menu-first Le premier élément d’un menu ou d’un sous-menu.
menu – last Le dernier élément d’un menu ou d’un sous-menu.

Les classes suivantes ne sont ajoutées que si l’indicateur SM2_NUMCLASS est défini:
menu – N Chaque élément de menu, où le N représente la profondeur de menu ABSOLUE, commençant par 0, de l’élément de menu respectif.
Donc le niveau supérieur est toujours menu-0, le niveau suivant est menu-1, et ainsi de suite.
menu-child-N Chaque sous-menu des pages en cours, où le N représente la profondeur RELATIVE du sous-menu, en commençant par 0.

Exemple de sortie HTML:

<ul class="menu-top menu-0"> <li class="menu-0 menu-first"> ... </li> <li class="menu-0 menu-expand menu-parent"> ... <ul class="menu-1"> <li class="menu-1 menu-expand menu-first"> ... <ul class="menu-2"> <li class="menu-2 menu-first"> ... <li class="menu-2 menu-last"> ... </ul> </li> <li class="menu-1 menu-expand menu-parent"> ... <ul class="menu-2"> <li class="menu-2 menu-expand menu-current menu-first"> ... ** CURRENT PAGE ** <ul class="menu-3"> <li class="menu-3 menu-child menu-child-0 menu-first"> ... <ul class="menu-4"> <li class="menu-4 menu-child menu-child-1 menu-first"> ... </li> <li class="menu-4 menu-child menu-child-1 menu-last"> ... </li> </ul> </li> <li class="menu-3 menu-child menu-child-0 menu-last"> ... </li> </ul> </li> <li class="menu-2 menu-sibling menu-last"> ... </li> </ul> </li> <li class="menu-1"> ... </li> <li class="menu-1 menu-expand menu-last"> ... <ul class="menu-2"> <li class="menu-2 menu-first menu-last"> ... </li> </ul> </li> </ul> </li> <li class="menu-0 menu-last"> ... </li> </ul> 

PARAMETERup

aMenaMenu

Numéro de menu. Ceci est utile pour utiliser plusieurs menus sur une page. Le menu numéro 0 est le menu par défaut de la page en cours, SM2_ALLMENU renvoie tous les menus utilisés dans le système.

aStaStart

Spécifie le niveau à partir duquel la création du menu doit commencer. Dans la plupart des cas, ce sera le niveau supérieur du menu à afficher. L’une des valeurs suivantes peut être utilisée :

SM2_ROOT + N

Commence N niveaux en dessous du niveau supérieur, par exemple :

SM2_ROOT Commence au niveau supérieur
SM2_ROOT +1 Commence une couche en dessous de la couche supérieure
SM2_ROOT+2 Commence deux niveaux en dessous du niveau supérieur

SM2_CURR+N

Commence N niveaux en dessous du niveau actuel, par exemple :

SM2_CURR Commence à la couche actuelle. Tous les frères et sœurs du niveau actuel
SM2_CURR+1 Démarre un calque sous le calque actuel avec tous les sous-niveaux.

page_id

Utilise la page avec l’id de page spécifié comme élément parent.
Tous les sous-menus de cette page sont affichés. (L’id de page peut être déterminé en éditant la page dans le backend d’administration, il sera affiché dans la barre d’adresse du navigateur: http://SITE/admin/pages/modify.php?page_id=35

$ aMaxLevel

Le nombre maximum de niveaux pouvant être affichés. L’affichage
commence à partir du niveau spécifié dansaStaStart, jusqu’au niveau spécifié ici.
SM2_ALL

Aucune restriction, tous les niveaux sont affichés.

SM2_CURR+N

Affiche toujours la page actuelle + N niveaux.

Couche actuelle SM2_CURR (pas de sous-couche)
SM2_CURR +3 Tous les sous-niveaux parent + courant + 3

SM2_START + N

Démarre toujours au niveau de départ + N niveaux.
Les niveaux sont affichés quel que soit le niveau sur lequel se trouve la page en cours.

SM2_COMMENCER un seul niveau à partir du niveau de départ.
SM2_START + 1 Niveau de départ + un niveau en dessous.

SM2_MAX+N

Affiche un maximum de N niveaux à partir du niveau de départ.
Les calques en dessous du niveau actuel ne sont pas affichés.

SM2_MAX Seulement le plan de départ (même effet que SM2_START)
SM2_MAX +1 Le niveau de départ et un niveau en dessous.

$ aOptions

Drapeaux spéciaux pour différentes options de génération de menus. Ils peuvent être combinés entre eux à l’aide d’un lien OU (|).
Par exemple, pour définir à la fois TRIM et PRETTY, utilisez :(SM2_TRIM|SM2_PRETTY).

GROUPE 1
——-
Un drapeau doit toujours être spécifié dans ce groupe. Ces indicateurs déterminent comment les éléments frères de l’arborescence des menus sont supprimés dans la sortie.

SM2_ALL

Affiche toutes les branches de l’arborescence des menus

 A-1 -> B-1 -> B-2 -> C-1 -> C-2 (CURRENT) -> D-1 -> D-2 -> C-3 A-2 -> B-3 -> B-4

SM2_TRIM

Affiche tous les menus frères de la page dans le chemin courant.
Tous les sous-menus d’éléments qui ne sont pas dans le chemin.
sont supprimés.

 A-1 -> B-1 -> B-2 -> C-1 -> C-2 (CURRENT) -> D-1 -> D-2 -> C-3 A-2 

SM2_CRUMB

Affiche le chemin du fil d’ariane du menu, c’est-à-dire l’élément de menu actuel
et tous les éléments de menu qui y mènent.

A-1 -> B-2 -> C-2 (CURRENT)

SM2_SIBLING

Comme SM2_TRIM, mais seuls les menus frères de la page en cours sont affichés. Tous les autres éléments sont supprimés.

 A-1 -> B-2 -> C-1 -> C-2 (CURRENT) -> D-1 -> D-2 -> C-3 

GROUPE 2
——-
Ces drapeaux sont facultatifs, ils peuvent être combinés en n’importe quel nombre.

SM2_NUMCLASS

Ajoute les classes de menu numérotées « menu-N » et « menu-child-N ».

SM2_ALLINFO

Charge tous les champs de la table de page de la base de données.
Cela entraîne une consommation de mémoire assez élevée et doit être
doit donc être utilisé avec prudence.
Cela signifie, par exemple, que les mots-clés, la description de la page et
toutes les autres informations disponibles qui ne sont normalement pas
peuvent être chargés.
Veuillez noter: cet indicateur doit être défini au PREMIER appel de schow_menu2
peut être utilisé pour l’ID de menu respectif, ou en conjonction avec le
avec SM2_NOCACHE, sinon cela n’a aucun effet.

SM2_NOCACHE

Les données lues dans la base de données ne sont pas réutilisées lorsque show_menu2 est à nouveau appelé, mais sont relues dans la base de données.

SM2_PRETTY

Apporte la sortie HTML du menu avec des blancs et des sauts de ligne
sous une forme lisible. Ceci est particulièrement utile lors du débogage de la sortie du menu.

SM2_BUFFER

Ne génère pas directement le code HTML, mais l’enregistre en interne et le produit sous forme de chaîne complète.

SM2_CURRTREE

Exclut tous les autres menus de niveau supérieur de l’affichage.
Seuls les éléments de menu de la branche de menu actuelle sont affichés.
Si nécessaire, ce drapeau peut être combiné avec n’importe quel drapeau du groupe 1.

SM2_ESCAPE

Applique htmlspecialchars à la chaîne de menu.
Cela peut être nécessaire pour les anciennes installations de WebsiteBaker.
pour générer une sortie HTML valide.

SM2_SHOWHIDDEN

Les pages masquées sont généralement masquées tout le temps, y compris lorsqu’elles sont actives (c’est-à-dire la page en cours ou une page parente).
Utilisez des pages privées pendant le temps où vous souhaitez que les pages soient masquées, sauf lorsqu’elles sont actives. Cependant, pour la compatibilité avec la version 4.8, fournissez cet indicateur pour permettre aux pages masquées de devenir visibles lorsqu’elles sont actives.

SM2_XHTML_STRICT

Assure la compatibilité XHTML des liens en supprimant la spécification cible dans les liens formatés avec ou et en insérant l’argument title= » ». Pour les liens compilés manuellement, le concepteur est responsable de la conformité XHTML.

SM2_NO_TITLE

Supprime la sortie du contenu de l’attribut Title pour les liens formatés ou formatés.
Pour ce paramètre, il existe également un mode étendu où les options sont passées en tant que tableau associatif. Consultez la section OPTIONS AVANCÉES pour plus de détails. Pour la plupart des applications, cependant, cela n’est PAS nécessaire.

$ aItemOpen

Définit la chaîne de format avec laquelle chaque élément de menu individuel est démarré. Une chaîne de format différente peut être définie pour le tout premier élément de menu à l’aide deaTaTopItemOpen.
Si ce paramètre est défini sur false, la chaîne de format par défaut
‘</a >’ pour assurer la compatibilité avec la fonction standard de WebsiteBaker show_menu().
Étant donné que le formatage à l’aide de classes CSS est souvent plus facile lorsqu’il est appliqué à la balise <a >, il est recommandé d’utiliser la chaîne de format suivante: ‘< li > </a >’.
Ce paramètre peut également être utilisé comme instance d’une classe de formatage pour le menu. Une description plus détaillée peut être trouvée dans la section FORMATTER. Si un formateur est spécifié ici, tous les arguments aprèsaaItemOpen sont ignorés.

aaItemClose

Cette chaîne complète chaque élément de menu. Remarque: ce n’est pas une chaîne de format et aucun mot-clé ne sera remplacé!
Si ce paramètre est défini sur false, la valeur par défaut ‘</li >’ est utilisée.

aMenaMenuOpen

Cette chaîne de format ouvre une liste d’éléments de menu. Une chaîne de format différente peut être définie pour le premier menu à l’aide deaTaTopMenuOpen.
Si ce paramètre est défini sur false, la valeur par défaut  » est utilisée.

aMenaMenuClose

Cette chaîne complète chaque menu. Remarque: ce n’est pas une chaîne de format et aucun mot-clé ne sera remplacé!
Si ce paramètre est défini sur false, la valeur par défaut ‘</ul >’ est utilisée.

aTAu Sommeouvrez

La chaîne de format du tout premier élément de menu. Si ce paramètre est défini sur false, la même chaîne de format est utilisée que pouraaItemOpen.

aTAu sommet du menu Ouvrir

La chaîne de format du premier menu. Si ce paramètre est défini sur false, la même chaîne de format queaMenaMenuOpen est utilisée.

ADVANCED OPTIONSup

le paramètre $aOptions peut être utilisé de deux façons. Tout d’abord, comme décrit ci-dessus dans la section Paramètres, ce type devrait suffire pour la grande majorité des cas d’utilisation. Toutefois, pour pouvoir aborder les options spéciales dans des cas particuliers, les valeurs requises doivent être fournies sous forme de tableau associatif.
veuillez noter: les indicateurs SM2_ * sont également requis et doivent être transmis en tant que ‘flags’.

‘flags’

** CONCÉLAIRE REQUIS ** Ce sont les flags décrits ci-dessus dans la section PARAMÈTRES sousaaOptions.

‘ notrim’

Cela définit un certain nombre de niveaux qui sont toujours affichés par rapport au niveau de menu défini dansaStaStart. Cela fait que l’indicateur SM2_TRIM est ignoré pour ces niveaux.

Pour utiliser ce tableau, il est recommandé de le créer d’abord, puis de fournir le paramètre $aOptions avec le tableau créé:

$options = array('flags' => (SM2_TRIM|...), 'notrim' => 1); show_menu2(0, SM2_ROOT, SM2_CURR+1, $options);

FORMAT STRINGSup

Les balises suivantes peuvent être utilisées dans les chaînes de format pour $aItemOpen et $aMenuOpen et doivent être remplacées par le texte correspondant.

< une balise > sans classe:

'<a href="" target="">'
< une balise > avec classe:

'<a href="" target="" class="">'
< balise li > avec classe:

'<li class="">'
< étiquette ul > avec classe:

'<ul class="">'
Liste des cours pour cette page
Texte du titre du menu
(entité HTML échappée sauf si l’indicateur SM2_NOESCAPE est défini)
L’URL d’un fichier image avec une représentation normale
L’URL d’un fichier image avec affichage actif/survol
Texte du titre de la page
(entité HTML échappée sauf si l’indicateur SM2_NOESCAPE est défini)
L’URL d’un fichier image lié à une page
L’URL des pages de la balise <a >
La cible de page pour la balise <a >
ID de page de l’élément de menu actuel.
ID de page de l’élément de menu parent.
Au niveau de la page, c’est le même numéro utilisé dans la balise CSS « menu-N ».
Nombre de frères et sœurs de l’élément de menu actuel.
Nombre de frères et sœurs dans ce menu.
Condition (voir la section « Mise en forme conditionnelle » pour plus de détails)

Les balises suivantes ne sont disponibles QUE si l’indicateur SM2_ALLINFO est défini.

description de la page
Mots-clés de la page

Mise en forme conditionnelle jusqu’à

L’instruction de mise en forme conditionnelle peut prendre l’une des formes suivantes:


A

La condition. Voir ci-dessous pour plus de détails.

B

L’expression utilisée lorsque la condition est remplie.
Cela peut être n’importe quelle chaîne qui ne contient pas le caractère ‘}’.
peut contenir. Il peut contenir n’importe quelle chaîne de format de la section
Chaînes de format ‘, mais aucun autre test de condition (car le caractère ‘}’ n’est pas autorisé).

C

Expression utilisée lorsque la condition n’est pas remplie.
Cela peut être n’importe quelle chaîne qui ne contient pas le caractère ‘}’.
peut contenir. Il peut contenir n’importe quelle chaîne de format de la section
Chaînes de format ‘, mais aucun autre test de condition (car le caractère ‘}’ n’est pas autorisé).

La condition est une combinaison d’une ou plusieurs comparaisons booléennes.
Si plus d’une comparaison est nécessaire, elle doit être combinée avec les autres comparaisons
peuvent être liées en utilisant |/ (booléen ou -OU) ou & & (booléen et – ET).

Une seule comparaison se compose de l’opérande gauche, de l’opérateur et de l’opérande droit.
par exemple X == Y – où X est l’opérande gauche, == l’opérateur et Y l’opérande droit.

Opérande gauche. Doit être l’un des mots clés suivants:
classe Vérifiez si cette classe existe. Seuls les « == » et « != »les opérateurs sont autorisés. Dans ce cas, les opérateurs ont la signification « contient » ou « ne contient pas » au lieu de « est égal » ou « n’est pas égal ».
niveau Vérification du niveau de la page.
sib Vérifiez le nombre de frères et sœurs sur la page en cours.
sibCount Vérifiez le nombre total de frères et sœurs dans le menu actuel.
id Vérifiez l’id de la page.
cible Vérification de la spécification cible.
Opérateur. Doit être l’un des éléments suivants:
< Moins de
<= Inférieur ou égal à
== Égal
!= Pas égal
>= Supérieur ou égal à
> Supérieur à
Opérande droit. Le type de cet opérande dépend du mot-clé utilisé pour l’opérande de gauche.
class Un des noms de classe « menu-* » tels que spécifiés dans la section « Sortie ».
niveau Vérifiez le niveau de la page par rapport aux valeurs suivantes:

  • < numéro > le niveau de page absolu
  • racine est le niveau supérieur de la page
  • mamie un niveau de page Au-dessus du niveau de page parent
  • parent le niveau de page parent
  • courant le niveau de page actuel
  • enfant le niveau de page subordonné
id Vérifiez l’ID de la page par rapport aux valeurs suivantes:

  • < numéro > l’id de page absolu
  • parent l’id de page parent
  • courant l’id de page actuel
sib Un entier positif, ou « sibCount » pour vérifier le nombre de frères et sœurs dans ce menu.
sibCount Un nombre entier positif
target Une chaîne qui représente une spécification cible possible.
Les exemples suivants donnent « true » et l’expression {exp} est exécutée si true:
A un sous-menu
Si la première entrée d’un menu est
N’EST PAS le premier élément d’un menu
Si la dernière entrée d’un menu est
Situé au plus haut niveau
N’est PAS au niveau supérieur
Si la deuxième entrée dans un menu est
Si dans un menu avec plus d’une entrée
Est dans un menu qui n’a pas exactement 2 articles
Se trouve dans un menu frère ou dans le sous-menu d’un menu frère
Est le point parent de l’id actuel
La chaîne ‘_self’ est contenue dans l’attribut target.

Si une clause else est ajoutée, elle sera exécutée dans tous les autres cas.
Par exemple, « foo » est toujours exécuté lorsque la vérification if est incorrecte, donc:

N’EST PAS le deuxième élément du menu
n’est PAS dans un menu avec plus de deux entrées
Dans plusieurs comparaisons, l’expression « exp » n’est exécutée que si:
est la première entrée OU est la quatrième entrée ou plus dans le menu
Si l’entrée actuelle est ET a des sous-menus

Remarque :
Tous les contrôles seront effectués dans l’ordre dans lequel ils sont notés, car:

  • Il n’y a pas de vérification des boucles possibles (toutes les vérifications sont toujours exécutées).
  • Les vérifications ne sont pas groupées (les parenthèses de vérifications ne sont pas prises en charge)
  • Ces deux éléments ont la même valeur.

FORMATTERup

Attention: Il s’agit d’une fonctionnalité avancée et rarement utilisée!

Avec une connaissance approfondie de la programmation PHP, il est possible d’utiliser le formatage
prédéfini de show_menu2 avec le vôtre.
Dans l’inclusion.php de show_menu2 vous pouvez voir comment écrire le formateur.
L’API qui doit être utilisée ressemble à ceci:

class SM2_Formatter{ // called once before any menu is processed to allow object initialization function initialize() { } // called to open the menu list function startList($aPage, $aUrl) { } // called to open the menu item function startItem($aPage, $aUrl, $aCurrSib, $aSibCount) { } // called to close the menu item function finishItem() { } // called to close the menu list function finishList() { } // called once after all menu has been processed to allow object finalization function finalize() { } // called once after finalize() if the SM2_NOOUTPUT flag is used function getOutput() { }};

Websitebakerest publié sous la Licence Publique Générale GNU

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.