Navigációs funkciók - cms netcat

A példák elrendezésében háromféle navigáció létezik: egyszintű menü, többszintű menü és kenyérmorzsák.

A webhelyen található navigáció az alábbi funkciók segítségével alakul ki:

  • nc_browse_level () - megjeleníti egy bizonyos szintű fészek menüjét;
  • nc_browse_path () - kenyérmorzsák kibocsátása;
  • nc_browse_path_range () - kenyérmorzsák (paraméterekkel);
  • nc_browse_sub () - megjeleníti a menüt egy adott szakaszból;
  • nc_cond_browse_sub () - megjeleníti a menüt egy adott szakaszból (feltételes);
  • nc_browse_cc () - megjeleníti a szakasz adatblokkjait;
  • nc_browse_catalogue () - adja ki a helyek menüjét.

Vessünk egy pillantást az egyes funkciókra.

A menü megjelenítéséhez három funkció van:

  • nc_browse_level ($ szint, $ browse_template).
    Készítsen egy bizonyos szintű fészekmenüt.
  • nc_browse_sub ($ browse_parent_sub, $ browse_template, $ ignore_check = 0, $ where_cond = "", $ level = 0)
    A menü megjelenítése egy adott szakaszból.
  • nc_cond_browse_sub ($ browse_parent_sub, $ browse_template, $ where_cond = "")
    Menü megjelenítése egy adott szakaszból, feltétellel. A funkció az előző egy speciális esete.

Egyszintű menü

A minta elrendezésének első típusú típusa egyszintű:

Az elrendezés elrendezésében a menü így néz ki:

Egyszintes menü létrehozásához használhatja az első vagy a második funkciót.

A szükséges paramétereket át kell adni a függvénynek:

  • $ level - partíciós szint száma (a legmagasabb szint az 0 értéknek felel meg);
  • $ browse_template - navigációs kimeneti sablon.

A navigációs kimeneti sablon az űrlap $ browse_template egydimenziós tömbje:

A navigációs sablonokban a következő makrováltozók állnak rendelkezésre:

  • % NAME - az elem (szakasz) neve;
  • % URL - a szakasz elérési útja;
  • % PARENT_SUB - a szülőpartíció száma (csak partíciók esetén);
  • % KEYWORD - a szakasz kulcsszava (csak partíciók esetén);
  • % SUB a partíció száma;
  • % COUNTER - a megjelenített elemek száma a listán (kezdődően nulla);
  • % NEXT_LEVEL - Megjeleníti a következő menüszintet. Többszintű menük létrehozásakor használható.
  • A (z) system_table mezőben% mezőnév egy tetszőleges változó, amelyet a rendszer táblázatok "Partíciók" blokkja határoz meg.

Néhány változó csak menük készítésére szolgál.

A navigáció kialakításának tömbje a következő elemekkel rendelkezhet:

Módosítsuk a $ browse_template tömböt a megadott html-kód szerint:

Tegye ezt a tömböt a navigációs kimeneti sablon mezőbe.

A sablonban a html-kód helyett írja be a függvényt:

A funkció 0-as száma jelzi a menü kimenetének szintjét. Ebben az esetben a gyökérpartíció összes eleme megjelenik.

Navigációs funkciók - cms netcat

Az ábrán a szürkével jelölt részek nem jelennek meg.

Most a webhely felső részének kódtöredéke így néz ki:

Többszintű menü

Az oldal oldalsó oszlopában többszintű menü található:

Navigációs funkciók - cms netcat

Abban az esetben, ha az oldalsó oszlopban a vízszintes menü (vagyis csak egy szint) alpontjainak megjelenítéséhez ugyanazt a funkciót kell használni, de az 1, 2 stb. Szintparamétert a fészekszinttől függően:

Ebben az esetben megjelenik egy adott szakasz alszekvenciája, és a funkciót a kimenethez használja:

A funkció egyszintű menü létrehozására és többszintű menüre is használható. A szükséges paramétereket át kell adni a függvénynek:

  • $ browse_parent_sub az a szülőpartíció azonosítója, ahonnan a menüelemek generálásra kerülnek. A gyökérpartíciónak 0-as száma van.
  • $ browse_template - navigációs kimeneti sablon. A függvényben át kell adni egy változót a menüszinttel és a sablon tömbjével.

Opcionális paramétereket is megadhat:

  • $ ignore_check = 0 - ha a paraméter értéke 1, akkor az összes letiltott partíció megjelenik.
  • $ where_cond = "" - a paraméter további mintafeltételeket határoz meg az Alagosztási táblázatból.
  • $ level = 0

Az opcionális paraméterek használatát az alábbiakban ismertetjük.

A kódban a menü kimenete így néz ki:

Tegyük fel a többszintű menü kimeneti tömbjét:

Mivel a menü többszintű, egy új,% NEXT_LEVEL makróváltozót kell hozzáadni a navigációs sablonhoz.

Az elrendezésben a HTML kód helyett írja le a függvényhívást:

ahol 299 az a szülő szakasz száma, amelyből az alfejezetek megjelennek. A webhelytérképen így néz ki:

Navigációs funkciók - cms netcat

Tekintsük azt a példát, hogy mely esetekben használhatja az nc_browse_sub () és az nc_cond_browse_sub () függvények $_Hoi_kond paraméterét.

Tegyük fel, hogy a webhelytérkép körülbelül tizenöt elemet tartalmaz a gyökérpartícióban. Néhány elemet fel kell tüntetni a felső menüben, néhány alján. A tervezéstől függően a menük különböző helyeken helyezhetők el, és lehet, hogy több mint kettő.

A $ where_cond condition paraméter használata nélkül a feladat végrehajtása sokkal bonyolultabb. A megoldás egyszerű - a "Szekciók" blokk rendszer táblázataiban új mezőket kell felvenni.

Navigációs funkciók - cms netcat

A mezőknek annyinak kell lenniük, mint a menü típusai.

Ennek eredményeképpen a speciális beállítások lapon minden szakasz rendelkezik egy opcióval, amelyet a kívánt értékre kell állítani.

Navigációs funkciók - cms netcat

A kimeneti függvényben meg kell adnia a $ name_hold paramétert, amely tartalmazza a mező nevét. Például,

A menük megjelenítésének más esetére hasonló beillesztést kell végrehajtani.

Az s_browse_

Ha nincs elegendő makrováltozó, vagy ha a PHP feltételeket szeretné használni, használhatja az s_browse_ előtag funkcióit. benne egy belsõ tömb $ data [], és a template-ek eval () kerül végrehajtásra, így átadhatja a kódot a PHP sablonnak. Az $ data [] tömb tartalmazza az alagazdálkodási táblázat összes adatait a függvény által megjelenített aktuális alszakaszokról.
Például:

A sablonban további lekérdezéseket is használhat. Például meg kell jeleníteni az elemek számát a szakaszokban. Ehhez csatolja a lekérdezést a sablonhoz:

ahol XX a partíciókban lévő komponensek száma.

Vegye figyelembe a $ és a "jelek előtt a csíkokat, ezek kötelezőek, mivel a tömb feldolgozása és a beágyazott függvények végrehajtása az s_browse_ függvényen belül kell lennie, és nem a $ browse_sub tömb kezdeti szakaszában.

Fontos: a% NEXT_LEVEL makróváltozó nem érhető el az s_browse_ függvényekben.

Fontos: Az s_browse_ nem választja ki automatikusan a sablon szintjét, mint ahogy a% NEXT_LEVEL fájlban történik, ezért egy bizonyos sablonszintet kell átadnia, például amikor hívja a funkciót, például

A tömb következő szintjének megjelenítéséhez szükség van a függő hívás bejelentésére a következő szintre a sablonon belül és megjeleníteni, hogy a hívás az aktuális szint függvényében megy keresztül.

Továbbá a $ left_menu1 [1] következő szintű sablonja nem lesz elérhető az s_browse_sub függvényében, tehát a globalizáción keresztül kell hozzáférnie:

A 3 szint fészkelésének teljes példája:

Fontos: abban az esetben, ha a navigációs sablon leírása az összetett sablonban (előtag / rendszerbeállítások), akkor a sablon tömbjét a komponens hatókörétől a következőhöz kell adni:

Webhelytérkép

A webhelyen található összes szakasz (site map) listája ugyanúgy látható. A webhelytérképhez létre kell hoznia egy új szakaszt, és hozzá kell kapcsolódnia ahhoz a tervhez, amely elolvassa:

  • a navigációs kimeneti sablonban írja be:
  • a kártya kimeneti helyén regisztrálja a függvényhívást:

Ebben a példában minden sablonelem ismételten ugyanazt a mintát hívja a függvényre, és az aktuális kimeneti szakasz azonosítója a szekció számként kerül átadásra. Így egy oldalon teljes hierarchia van a webhelystruktúrában.

Kenyérmorzsák

Az oldal utolsó navigációs eleme a kenyérmorzsák. A következő funkciók felhasználásával alakul ki:

  • nc_browse_path ($ browse_template)
    Egy adott sablon kimenete
  • nc_browse_path_range ($, $, $ browse_template, $ fordított = 0, $ show = 0)
    Kimenet a megadott paraméterekkel

Mint $ browse_template változók is szükséges megadni egy adatmátrixot. A kódban a zsemlemorzatok a sorban jelennek meg:

Készítsen egy tömböt a kimenethez:

és írja le a kimenetet az elrendezésben:

Utolsó nézet

A navigációs elemek adaptálva vannak, és most a "Navigation Output Templates" mezőben négy tömb tömbök vannak:

Az elrendezés felső része jelentősen csökkent, és most így néz ki:

  • nc_browse_sub () - adja ki az adott szakasz alszekcióinak listáját a sablon $ sablon szerint
  • nc_browse_catalogue () - a webhelyek kimeneti listája
  • nc_browse_level () - egy bizonyos szintű menüt (szakaszok listáját) ad ki
  • nc_browse_messages () - létrehoz egy listát oldalak objektumokkal
  • nc_browse_path () - kimeneti útvonal "kenyérmorzsák"
  • nc_browse_path_range () - a megadott tartomány elérési útja (kenyérmorzsák)

Kapcsolódó cikkek