wiele Menu

show_menu2, wersja 4.9 x

Show_Menu2 jest fragmentem kodu dla WebsiteBaker CMS. Od WebsiteBaker 2.7 jest dołączony do CMS.
poprzednia funkcja show_menu jest całkowicie zastąpiona i rozszerzona o show_menu2. Wszystkie dane wymagane do utworzenia menu są generowane przez jedno zapytanie do bazy danych. Dzięki rozbudowanym możliwościom dostosowania generowanego kodu HTML wszystkie możliwe typy menu (listy, bułka tarta, mapy witryn, itp.) mogą być generowane.

  • instalacja
  • używanie Show_Menu2
  • FAQ
  • funkcja
  • wyjście HTML
  • parametr
  • Opcje zaawansowane
  • formatowanie ciągów
  • formatowanie warunkowe
  • formatowanie

instalacjaup

ponieważ show_menu2 jest zwykle obecny w websitebaker, nie jest wymagana instalacja. Jeśli wbrew oczekiwaniom nie istnieje, możesz go pobrać tutaj.

używając SHOW_MENU2up

aby użyć show_menu2 musisz zmodyfikować szablon, w którym ma się pojawić menu. Uwaga: Jeśli stare wywołania menu są zastępowane, należy również użyć odpowiednich nowych parametrów, których potrzebuje show_menu2.

w większości przypadków wystarczy standardowe wywołanie z co najmniej 4 parametrami show_menu2. W tym przypadku używane są wartości domyślne, to tworzy menu, które wyświetla bieżącą stronę i podstrony bieżącej strony:

show_menu2(0, SM2_ROOT, SM2_START, SM2_TRIM);

Uwaga: wywołanie show_menu2 to PHP i zwykle musi być zamknięte w znakach kodu PHP (chyba że wywołanie jest już wewnątrz kodu PHP):

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

to domyślne menu tworzy już kompletne menu na podstawie listy z kilkoma klasami, które umożliwiają łatwe formatowanie za pomocą CSS. Na przykład klasa „menu-current” jest dodawana do znacznika <li> bieżącego elementu menu. Dodatkowo każdy element menu podpunktów zawiera klasę „menu-expand”. Pozwala to na tworzenie bardzo zróżnicowanych reguł CSS dla każdego elementu menu.
na przykład:

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

sekcja „HTML Output” zawiera szczegółowy opis klas przypisanych do danego elementu. Używając różnych parametrów w wywołaniu funkcji show_menu2, możliwe jest również tworzenie dość rozbudowanych i różnych struktur menu. Na przykład, aby wyświetlić tylko pozycje menu z górnego poziomu struktury menu, można użyć następującego wywołania:

show_menu2(0, SM2_ROOT, SM2_START, SM2_TRIM);

lub, na przykład, aby wyświetlić do dwóch podpoziomów bieżącej strony:

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

istnieje wiele możliwości tworzenia różnych struktur menu. Liczne przykłady można znaleźć na stronie demo: KLICK

FAQup

P: nie jestem programistą. Czy nie ma prostszej dokumentacji?
A: Nie, ponieważ jest to już prosta dokumentacja.

P: Jak mogę utworzyć rozwijane menu?
A: to nie ma nic wspólnego z show_menu2. Aby utworzyć rozwijane menu, musisz tylko dostosować kod CSS odpowiedniego szablonu. Niezbędne korekty można znaleźć np. w szablonie „allcss2” z repozytorium dodatków WebsiteBaker-> https://addon.websitebaker.org/

P: Dlaczego menu zniknie po skorzystaniu z funkcji wyszukiwania na wielojęzycznej stronie internetowej?
A: brak niezbędnych linii w użytym szablonie:

1. W zapleczu admina WB: Opcje – > Pokaż opcje zaawansowane – > opcje wyszukiwania – > nagłówek-wstaw poniższy wiersz bezpośrednio po otwarciu znacznika< formularz > :

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

2. Wstaw następujący wiersz w indeksie.php użytego szablonu bezpośrednio po otwarciu < formularza > tagu wyszukiwania:

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

P: wielojęzyczny? Brzmi świetnie. Jak ty to robisz?
A: https://help.websitebaker.org/en/designerguide/multilingual-websites.php

P: przy każdym wywołaniu strony, SM2 generuje następujący komunikat ostrzegawczy:
” show_menu2 error: $aoptions is invalid. Nie dostarczono FLAG z grupy 1!”
A: Błędne wartości lub niewłaściwa liczba wartości zostały przekazane do funkcji.
patrz sekcja parametry dla poprawnych wartości znaczników, które należy przekazać do parametru $aOptions.

P: Jak użyć innej klasy/obrazu/koloru / widżetu dla każdej pozycji w menu?
a: użyj łańcucha formatu w łańcuchu $aitemopen. Utwórz unikalną klasę lub identyfikator dla każdego elementu menu, a następnie odwołaj się do tego elementu w CSS lub Javascript, aby zrobić, co chcesz.
aby dodać unikalną klasę dla każdego elementu menu (lub podobnego):

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

… tworzenie elementów menu, takich jak …

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

odwołaj się do tego w swoim CSS jak:

a.p45 { color: red; }

aby dodać unikalny identyfikator dla każdego elementu menu (lub podobnego):

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

… tworzenie elementów menu, takich jak …

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

odwołaj się do tego w swoim CSS jak:

a#p45 { color: red; }

zauważ, że ID może być użyte tylko wtedy, gdy to menu jest generowane i wyświetlane tylko raz na stronie (ponieważ identyfikatory HTML muszą być unikalne na stronie).

FUNCTIONup

pełne wywołanie i domyślne wartości parametrów dla show_menu2 są następujące:

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);

sekcja „parametry” zawiera szczegółowy opis każdego parametru.
każdy parametr musi być użyty absolutnie poprawnie. Poniższe zasady mogą pomóc:

$aMenu = 0 jest najlepszą wartością w większości przypadków.
$aStart musi być albo ID strony, albo wartością zaczynającą się od „SM2_”.
$aMaxLevel może pobierać tylko wartości zaczynające się od”SM2_”.
$aoptions z wyjątkiem kilku szczególnych przypadków dozwolone są tylko wartości zaczynające się od „SM2_”.
wszystkie pozostałe parametry zawierają znaczniki (HTML), które kontrolują wyjście menu.
począwszy od $aitemopen każdy parametr może być przekazany wartości false, aby uzyskać odpowiednią wartość domyślną.

można tego użyć na przykład do utworzenia numerowanej listy, podczas gdy wartości domyślne są nadal używane dla poszczególnych pozycji menu:

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

Uwaga: do $aoptions włącznie wszystkie parametry muszą być przekazane jawnie!

wyjście HTML

wyjście HTML zależy w dużej mierze od tego, które parametry są przekazywane do funkcji. Niezależnie od tego, kolejne klasy są zawsze używane dla każdego menu, przy czym poszczególne pozycje menu mogą mieć również kilka klas, jeśli to konieczne.

Klasa przypisanie
menu-Góra tylko pierwsza pozycja menu.
menu-rodzic dowolny element menu głównego.
menu-bieżąca tylko pozycja menu bieżącej strony.
menu-rodzeństwo wszystkie „rodzeństwo” bieżącej strony.
menu-dziecko dowolne podmenu bieżącej strony.
menu-rozwiń dowolne menu, które ma podmenu.
menu-pierwszy pierwszy element dowolnego menu lub podmenu.
menu-ostatnia ostatnia Pozycja dowolnego menu lub podmenu.
następujące klasy są dodawane tylko wtedy, gdy ustawiony jest znacznik SM2_NUMCLASS:
menu-N każdy element menu, gdzie N oznacza absolutną głębokość menu, począwszy od 0, danego elementu menu.
więc najwyższym poziomem jest zawsze menu-0, następnym poziomem jest menu-1 i tak dalej.
menu-child-N każde podmenu bieżących stron, gdzie N oznacza względną głębokość podmenu, zaczynając od 0.

przykład wyjścia 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

$aMenu

numer Menu. Jest to przydatne do korzystania z wielu menu na jednej stronie. Menu numer 0 jest domyślnym menu bieżącej strony, SM2_ALLMENU zwraca wszystkie menu używane w systemie.

$aStart

określa poziom, od którego ma rozpocząć się tworzenie menu. W większości przypadków będzie to najwyższy poziom wyświetlanego menu. Można zastosować jedną z następujących wartości:

SM2_ROOT+N

rozpoczyna N poziomów poniżej najwyższego poziomu, np.:

SM2_ROOT rozpoczyna się na najwyższym poziomie
SM2_ROOT+1 rozpoczyna warstwę poniżej najwyższej warstwy
SM2_ROOT+2 rozpoczyna dwa poziomy poniżej najwyższego poziomu

SM2_CURR+N

rozpoczyna N poziomów poniżej bieżącego poziomu, np.:

SM2_CURR rozpoczyna się od bieżącej warstwy. Wszystkie rodzeństwo bieżącego poziomu
SM2_CURR+1 uruchamia warstwę pod bieżącą warstwą ze wszystkimi podpoziomami.

page_id

używa strony o podanym id strony jako elementu nadrzędnego.
wszystkie podmenu tej strony są wyświetlane. (Identyfikator strony można określić, edytując stronę w panelu administracyjnym, zostanie ona wyświetlona w pasku adresu przeglądarki: http://SITE/admin/pages/modify.php?page_id=35

$aMaxLevel

Maksymalna liczba wyświetlanych poziomów. Wyświetlanie
rozpoczyna się od poziomu podanego w $aStart, aż do poziomu podanego tutaj.
SM2_ALL

bez ograniczeń, wyświetlane są wszystkie poziomy.

SM2_CURR+N

zawsze pokazuje bieżącą stronę + N poziomów.

Sm2_curr bieżąca warstwa (bez podwarstwy)
SM2_CURR+3 Wszystkie podpoziomy nadrzędne + bieżące + 3

SM2_START+N

zawsze zaczyna się od poziomu początkowego + N poziomów.
poziomy są wyświetlane niezależnie od tego, na którym poziomie znajduje się bieżąca strona.

SM2_START a single level from the start level.
SM2_START+1 poziom startowy + jeden poziom poniżej.

SM2_MAX+N

wyświetla maksymalnie N poziomów od poziomu początkowego.
warstwy poniżej bieżącego poziomu nie są wyświetlane.

SM2_MAX tylko płaszczyzna startowa (taki sam efekt jak SM2_START)
SM2_MAX+1 poziom startowy i jeden poziom poniżej niego.

$Aoptions

specjalne flagi dla różnych opcji generowania menu. Można je ze sobą łączyć za pomocą linku OR (|).
na przykład, aby zdefiniować zarówno TRIM, jak i PRETTY, użyj : (SM2_TRIM | SM2_PRETTY).

Grupa 1
——-
z tej grupy należy zawsze podać jedną flagę. Te flagi określają, w jaki sposób elementy siostrzane w drzewie menu są tłumione na wyjściu.

SM2_ALL

pokazuje wszystkie gałęzie drzewa menu

 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

pokazuje wszystkie siostrzane menu strony w bieżącej ścieżce.
wszystkie podmenu elementów, których nie ma w ścieżce.
są usuwane.

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

SM2_CRUMB

wyświetla ścieżkę ścieżki do menu, tzn. bieżącą pozycję Menu
i wszystkie prowadzące do niej pozycje menu.

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

SM2_SIBLING

podobnie jak SM2_TRIM, ale wyświetlane są tylko siostrzane menu bieżącej strony. Wszystkie pozostałe elementy są tłumione.

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

Grupa 2
——-
flagi te są opcjonalne, mogą być łączone w dowolnej liczbie.

SM2_NUMCLASS

dodaje ponumerowane klasy menu „menu-n” i „menu-child-N”.

SM2_ALLINFO

wczytuje wszystkie pola z tabeli stron bazy danych.
powoduje to dość duże zużycie pamięci i dlatego należy je stosować ostrożnie.
oznacza to na przykład, że można załadować słowa kluczowe, opis strony i
wszystkie inne dostępne informacje, które normalnie nie są
.
Uwaga: znacznik ten musi być ustawiony przy pierwszym wywołaniu schow_menu2
może być użyty dla odpowiedniego ID menu, lub w połączeniu z
z SM2_NOCACHE, w przeciwnym razie nie ma to wpływu.

SM2_NOCACHE

po ponownym wywołaniu show_menu2 dane odczytane z bazy danych nie są ponownie wykorzystywane, lecz są ponownie odczytywane z bazy danych.

SM2_PRETTY

przynosi wyjście HTML menu ze spacjami i
podziałami linii do czytelnej formy. Jest to szczególnie przydatne podczas debugowania wyjścia menu.

SM2_BUFFER

nie wypisuje kodu HTML bezpośrednio, ale zapisuje go wewnętrznie i wypisuje jako kompletny ciąg znaków.

SM2_CURRTREE

wyklucza wyświetlanie wszystkich innych menu najwyższego poziomu.
wyświetlane są tylko pozycje menu bieżącej gałęzi menu.
w razie potrzeby flaga ta może być łączona z dowolną flagą z grupy 1.

SM2_ESCAPE

stosuje htmlspecialchars do ciągu menu.
może to być wymagane w przypadku starszych instalacji WebsiteBaker.
aby wygenerować poprawny wynik HTML.

SM2_SHOWHIDDEN

Ukryte strony są zwykle ukryte przez cały czas, również wtedy, gdy są aktywne (tj. bieżąca strona lub Strona nadrzędna).
używaj prywatnych stron przez czas, gdy chcesz, aby strony były ukryte, chyba że są aktywne. Jednak dla zgodności z wersją 4.8, podaj tę flagę, aby umożliwić widoczność ukrytych stron, gdy są aktywne.

SM2_XHTML_STRICT

zapewnia zgodność linków z XHTML, usuwając specyfikację docelową w linkach sformatowanych z or i wstawiając argument title=””. W przypadku ręcznie kompilowanych linków projektant jest odpowiedzialny za zgodność XHTML.

SM2_NO_TITLE

tłumi wyjście zawartości atrybutu Title Dla lub sformatowanych linków.
dla tego parametru istnieje również tryb rozszerzony, w którym opcje są przekazywane jako tablica asocjacyjna. Szczegółowe informacje można znaleźć w sekcji Opcje zaawansowane. W przypadku większości zastosowań nie jest to jednak wymagane.

$aItemOpen

określa ciąg formatowania, z którym uruchamiany jest każdy element menu. Łańcuch w innym formacie może być zdefiniowany dla pierwszego elementu menu za pomocą $aTopItemOpen.
Jeśli ten parametr jest ustawiony na false, domyślny ciąg formatujący
'</A>’, aby zapewnić zgodność ze standardową funkcją show_menu () WebsiteBaker.
ponieważ formatowanie za pomocą klas CSS jest często łatwiejsze, gdy stosuje się je do znacznika <A>, zaleca się użycie następującego formatu: '<li></A>’.
ten parametr może być również użyty jako instancja klasy formatującej dla menu. Bardziej szczegółowy opis można znaleźć w sekcji formatowanie. Jeśli podano tutaj formatowanie, wszystkie argumenty po $aitemopen są ignorowane.

$aitemclose

ten ciąg znaków uzupełnia każdy element menu. Uwaga: nie jest to ciąg formatowy i żadne słowa kluczowe nie zostaną zastąpione!
jeśli ten parametr jest ustawiony na false, używana jest domyślna wartość '</li>’.

$aMenuOpen

ten ciąg formatujący otwiera listę pozycji menu. Łańcuch w innym formacie może być zdefiniowany dla pierwszego menu za pomocą $aTopMenuOpen.
jeśli ten parametr jest ustawiony na false, używana jest wartość domyślna”.

$aMenuClose

ten ciąg uzupełnia każde menu. Uwaga: nie jest to ciąg formatowy i żadne słowa kluczowe nie zostaną zastąpione!
jeśli ten parametr jest ustawiony na false, używana jest domyślna wartość '</ul>’.

$aTopItemOpen

ciąg formatowania pierwszego elementu menu. Jeśli ten parametr jest ustawiony na false, używany jest taki sam format jak dla $aitemopen.

$aTopMenuOpen

ciąg formatujący dla pierwszego menu. Jeśli ten parametr jest ustawiony na false, używany jest taki sam format jak $aMenuOpen.

Advanced OPTIONSup

parametr $aOptions można wykorzystać na dwa sposoby. Po pierwsze, jak opisano powyżej w sekcji Opcje, ten typ powinien wystarczyć dla większości przypadków użycia. Jednak w szczególnych przypadkach, aby odnieść się do specjalnych parametrów, niezbędne wartości muszą być podane jako tablica asocjacyjna.
Uwaga: flagi SM2_* są również potrzebne i powinny być przekazywane jako „flagi”.

'flagi’

* * wymagane * * są to flagi opisane powyżej w sekcji Parametry pod $aOptions.

’notrim’

definiuje liczbę poziomów, które są zawsze wyświetlane względem poziomu menu zdefiniowanego w $aStart. Powoduje to, że znacznik SM2_TRIM jest ignorowany dla tych poziomów.

w celu użycia tej tablicy zaleca się najpierw ją wytworzyć a następnie podać parametr $aOptions z wytworzoną tablicą:

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

FORMAT STRINGSup

następujące znaczniki mogą być używane w ciągach formatu dla $aitemopen i $aMenuOpen i powinny być zastąpione odpowiednim tekstem.

< > tag bez klasy:

'<a href="" target="">'
< > tag z klasą:

'<a href="" target="" class="">'
<li> tag z klasą:

'<li class="">'
<UL > tag z klasą:

'<ul class="">'
lista klas dla tej strony
tekst tytułu menu
(encja HTML uciekła, chyba że ustawiono flagę SM2_NOESCAPE)
adres URL do pliku obrazu o normalnej reprezentacji
adres URL do pliku obrazu z aktywnym wyświetlaczem/najazdem
tekst tytułu strony
(encja HTML uciekła, chyba że ustawiono flagę SM2_NOESCAPE)
adres URL do pliku obrazu związanego ze stroną
URL stron dla tagu <a>
strona dla tagu < a>
identyfikator strony bieżącego elementu menu.
identyfikator strony elementu menu nadrzędnego.
poziom strony, jest to ten sam numer użyty w znaczniku CSS” menu-N”.
Liczba rodzeństwa aktualnego elementu menu.
liczba wszystkich rodzeństwa w tym menu.
warunek (szczegóły w sekcji” Formatowanie warunkowe”)

następujące znaczniki są dostępne tylko wtedy, gdy ustawiono flagę SM2_ALLINFO.

opis strony
słowa kluczowe strony

Formatowanie warunkowe w górę

Instrukcja formatowania warunkowego może przyjmować jedną z następujących form:


a

warunek. Szczegóły poniżej.

B

wyrażenie używane, gdy warunek jest spełniony.
może to być dowolny ciąg znaków, który nie zawiera znaku ’}’.
może zawierać. Może zawierać dowolny ciąg formatujący z sekcji
Formatuj ciągi’, ale nie ma dalszego testowania warunków (ponieważ znak’} ’ nie jest dozwolony).

C

wyrażenie używane, gdy warunek nie jest spełniony.
może to być dowolny ciąg znaków, który nie zawiera znaku ’}’.
może zawierać. Może zawierać dowolny ciąg formatujący z sekcji
Formatuj ciągi’, ale nie ma dalszego testowania warunków (ponieważ znak’} ’ nie jest dozwolony).

warunek jest kombinacją jednego lub więcej porównań logicznych.
jeśli wymagane jest więcej niż jedno porównanie, należy je połączyć z innymi porównaniami
można połączyć za pomocą || (boolean or – OR) lub && (boolean and – AND).

pojedyncze porównanie składa się z lewego argumentu, operatora i prawego argumentu.
np. X = = Y-gdzie X jest lewym operandem, = = operatorem, A Y prawym operandem.

Lewy operand. Musi być jednym z następujących słów kluczowych:
Klasa sprawdź, czy ta klasa istnieje. Tylko ” = = „i”!= „operatory są dozwolone. W tym przypadku operatory mają znaczenie „zawiera ” lub” nie zawiera „zamiast” jest równe ” lub „nie jest równe”.
poziom sprawdzanie poziomu strony.
sib sprawdź liczbę rodzeństwa na bieżącej stronie.
sibCount Sprawdź całkowitą liczbę rodzeństwa w bieżącym menu.
id Sprawdź ID strony.
target

Centrala. Musi być jednym z następujących:
< mniej niż
<= mniejsza lub równa
== równe
!= Nie równe
>= większe lub równe
> większe niż
prawy operand. Typ tego argumentu zależy od słowa kluczowego używanego dla lewego argumentu.
Klasa jedna z nazw klas” menu -* „określonych w sekcji” wyjście”.
poziom Sprawdź poziom strony na podstawie następujących wartości:

  • <liczba> bezwzględny poziom strony
  • root jest najwyższym poziomem strony
  • babcia poziom strony powyżej poziomu strony nadrzędnej
  • rodzic poziom strony nadrzędnej
  • current aktualny poziom strony
  • child podrzędny poziom strony
id Sprawdź ID strony pod kątem następujących wartości:

  • < liczba > absolutny ID strony
  • rodzic ID strony nadrzędnej
  • aktualny aktualny id strony
sib dodatnia liczba całkowita lub „sibCount”, aby sprawdzić liczbę rodzeństwa w tym menu.
sibCount dodatnia liczba całkowita
target ciąg znaków, który reprezentuje możliwą specyfikację celu.
poniższe przykłady dają „true”, a wyrażenie {exp} jest wykonywane, jeśli true:
ma podmenu
jeśli pierwszy wpis w menu jest
nie jest pierwszą pozycją w menu
jeśli ostatni wpis w menu jest
znajduje się na najwyższym poziomie
nie jest na najwyższym poziomie
jeśli druga pozycja w menu jest
jeśli w menu z więcej niż jedną pozycją
jest w menu który nie ma dokładnie 2 elementów
jest w menu rodzeństwa lub w podmenu menu rodzeństwa
jest punktem nadrzędnym bieżącego id
łańcuch '_self’jest zawarty w atrybucie target.

jeśli dodana zostanie klauzula else, zostanie ona wykonana we wszystkich innych przypadkach.
na przykład, ” foo ” jest zawsze wykonywane, gdy sprawdzenie if jest błędne, więc:

nie jest drugą pozycją w menu
nie znajduje się w menu z więcej niż dwoma wpisami
w wielu porównaniach wyrażenie ” exp ” jest wykonywane tylko wtedy, gdy:
jest pierwszym wpisem lub czwartym lub wyższym wpisem w menu
Jeśli bieżący wpis jest i ma podmenu

Uwaga:
wszystkie kontrole będą wykonywane w kolejności, w jakiej są odnotowywane, ponieważ:

  • nie ma sprawdzania możliwych Pętli (wszystkie sprawdzania są zawsze wykonywane).
  • kontrole nie są zgrupowane (nawiasy kontroli nie są obsługiwane)
  • obie te rzeczy mają tę samą wartość.

FORMATTERup

uwaga: jest to zaawansowana i rzadko używana funkcja!

dzięki rozległej wiedzy w zakresie programowania PHP możliwe jest użycie predefiniowanego
formatowania show_menu2 z własnym.
w załączeniu.php z show_menu2 możesz zobaczyć jak napisać formater.
API, które musi być użyte wygląda tak:

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() { }};

strona wydana na licencji GNU General Public License

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.