PdoMenu – MODX meniu aplankas. Turtingesnis MODX meniu už pagalbos Bootstrap Modx meniu priekinėje pusėje

Alece ne mums;).

Viską statome nuo nulio. Ko dar mums (vyrams) reikėjo, net jei esame pasiruošę pasirinkimams? Nes man tai labai tinka. Nes gerbiu panašius pidkhid naivirnishim. Štai kodėl, plėsdami savo, galime nesunkiai plėtoti svetimą kodą, pakeisti, ištaisyti atleidimus ar papildyti jį reikiamu funkcionalumu tam tikram tipui. Tai, zreshtoyu, pasilik savo – tai dažnai taip sveikintina!

Toli, pasakyk mamai gatvėje, ką skaitytojas gali mažiausiai žinoti PHP programavimas. Teoriškai tie žmonės, kurie nesupranta kodo, gali nukopijuoti kodą ir sukurti visus tuos dalykus, apie kuriuos bus paminėta žemiau. Tačiau gali būti geriau, kad jie išplaktų paruoštus fragmentus a la Ditto, dvokiančias skeveldras, kad suteiktų daugybę galimybių gerai konfigūruoti, neįsigilinus į pagrindinį kodą.

Nenoriu diskutuoti ta tema, kuri koristuvachui geriau - ruoškis ar plėsk savo... Taip ir kitaip tavo pliusai ir minusai. Ypač man kitas variantas turi daugiau pliusų. Taip pat galiu išsiregistruoti iš skaitytojų.

Tėve, vėl stebėkimės savaisiais. Oskіlki raznih programinės įrangos dalys mūsų svetainė turi daug ką veikti, ir būtina ką nors pradėti, ji programuojama.

Viršutinis meniu

Pagal terminą " Viršutinis meniu Galvoju apie žinučių įvedimą viršutinės svetainės dalies šonuose (padalykite mažuosius žemiau):

Pirmą fragmento kūrimo užpakalį aprašysiu ataskaitoje, bet tada sutelksiu dėmesį į pagrindines detales.

Kaip minėjome ankstesniame straipsnyje, valdymo sistemoje suderiname savo svetainės medį:

Kaip matote iš mažylio, prie svetainės medžio matosi keli dokumentai (ir „Tinklaraštis“, „Apie autorius“, „Nuotraukos“ ir „ Zvorotniy zv'azok“), kaip sukurti Dievo galią viršutiniame meniu.

Taigi spėju, kad labai atsilikome nuo dokumentų, kurių nenorime rodyti meniu. Pavyzdžiui, iš dokumento pavadinimu „Ieškoti svetainėje“ buvo pašalintas praporščikas „Rodyti meniu“, o du dokumentai „Pozicija“ ir „Kategorijos“, kurie buvo palikti, buvo pridėti prie svetainės, turint panaikino praporščiuką dokumente „Publikacija“ (skirtukas „Sulenkto dokumento pusės redagavimas“).

Šiame reitinge parengėme viršutinį valdymo sistemos meniu priekiniame straipsnyje.

Pereikime prie mūsų vaikų mitybos be tarpininkų svetainėje.

Dauguma svetainėje esančių programų skambina t.sv. "", tada. okremі schmatki kodas (taip pat galite suprasti, kaip atlikti okremі funkcijas ї chi subprogramose) PHP. Norėdami įdiegti viršutinį meniu MODx, taip pat turime sukurti naują fragmentą, jį užprogramuoti ir pridėti greitą fragmentą prie šablono reikiamoje srityje.

Eikime į valdymo sistemą, atidarykite skirtuką „Ištekliai“ -> „Išteklių valdymas“ -> „Fragmentai“ ir spustelėkite pranešimą „Naujas fragmentas“. Lauke „Fragmento pavadinimas“ įveskite „TopMenu“ be letenėlių, o kol kas tiesiog išsaugokite tuščią fragmentą be kodo. Apsaugos sumetimais norėtume savo fragmentą pavadinti skirtuke „Fragmentai“.

Spėju, kad mūsų šablono viršutinis meniu buvo įtrauktas į „TOPMENU“ dalį. Perjunkite į skirtuką „Grupės“ ir pamatykite „Grupas“. Toje pačioje dalyje turime šį kodą:


  • Dienoraštis

  • Apie autorius

  • Nuotraukos

  • Zvorotniy zv'azok

Šis kodas vis dar kuria mūsų meniu. Komentuodamas yogo ta dodamo quiklik snіpetu "TopMenu" at chantsі:


[]

Čia vėl turėsiu šiek tiek vargo paaiškinti statybos prasmę. Dešinėje, kas yra už pagalbinės proto konstrukcijos [] arba [! SnippetName!].

Kodėl konstrukcija [] reiškia savaitės paspaudimą grynųjų pinigų snipta, tobto. vyklik dinamiškas pіdprogramami, rezultatas vykonannya bude podrakhovaniya і vykonany vieną kartą, ir zgod, kai zavantazhenny pusėje, tsey snіpet vyklikaetsya, rezultatas bus nekintamas, t.to. pasikartojantis tviterio fragmentas nebepasiekiamas. Šiame reitinge mes taupome savo žiniatinklio serverio resursus (tačiau tai gali būti dar svarbiau esant dideliems ištekliams).

Ištirkite situaciją, jei reikia dar kartą tikrinti fragmento kodą visą valandą ir nėra galimybės talpinti rezultatų. Tokiais atvejais [!SnippetName!] konstrukcija yra pergalinga, todėl visada galite nustatyti, kad fragmentas būtų pergalingas be pinigų. Pagal analogiją ši konstrukcija vadinama vikliku nėra talpykloje Fragmentas.

Taigi, išsaugokite dalį "TOPMENU" ir pakeiskite svetainės pusę. Hmm, nenuostabu, bet iššoko viršutinis meniu. Ale chi tse tikrai toks nuostabus? Giesmėse pakomentavę meniu HTML kodą, šį ekraną įtraukėme į naršyklę (pakeiskite, žiūrėdami į išėjimo kodą HTML pusė). O mūsų fragmentas „TopMenu“ nieko nelaužo, prie naujo nieko nepridėta. Ištaisykime šį trūkumą :).

Grįžkime prie „Fragmentų“ žymės, pažiūrėkime „TopMenu“ fragmento kūrinius ir pabandykime protestuoti prieš šį gebėjimą... Būkite kantrūs, mano skaitytojai, kurie nežinote visų smulkmenų.

Pirmą kartą parašykime paprasčiausią kodą (geriausią PHP kodą):

aidas „Bandymas...“;
?>

Prieš taupydami, mes oberom "Prodovzhiti redaguvannya", nes. turėsime keisti ne vieną kartą, o ne savo fragmentą, o jei išsaugosime fragmentą. Atnaujinkime svetainės pusę ir pereikime prie viršutinio meniu... na, tiesą pasakius, atrodo, kad iš pirmo žvilgsnio dienos pokyčiai mums negali rūpėti, meniu yra mėlynas fonas, kuriame yra šiek tiek išsiplėtė. Įveskite „CRTL+A“, kad pamatytumėte visą tekstą svetainės šone, ir geriau, kad mūsų fragmente vis tiek būtų rodomas tekstas „Testing...“ meniu erdvėje, tik teksto spalva sutampa su fone.

Pakeiskite atakos kodo fragmentą:

aidas" Testuojama...";
?>

Dabar man aišku, kad mūsų fragmentas veikia ir eikite (!), kad būtų rodomas tikrasis tekstas. Na, tai nuostabu, bet mūsų užduotis nereikėjo daug, mes patys kalti bandėme ištraukti savo fragmentą iš valdymo sistemos, be to, lygiai tame pačiame HTML kode, kurį pakomentavome „TOPMENIU“ variantas.

Aš vėl mažas susitaikymas...

Visa dokumentų tarpusavio santykių sistema MODx yra įkvėpta principo: "Batkiv dokumentą" nulupkite nuo nulio iki beasmenių "vaiko dokumentų" ("tėvas" -> "vaikai").

Odos dokumentas MODx duomenų bazėje turi savo unikalų identifikatorių „ID“ – tą patį numerį, kokį galime skinti dokumentams patikėtose medžio aikštelės arkose.

Kalbant apie tai, šis unikalus identifikatorius gali turėti tik vieną reikšmę – vin unikaliai identifikuoja konkretų dokumentą valdymo sistemoje ir nieko daugiau! Ypatingai nuplikę dėl šio fakto, skambančios skeveldros ne kartą bando pakeisti identifikatorių numerius pelningiausiais tikslais... Reikia vieną kartą prisiminti, kad tai tiesiog kvaila, todėl nemėginkite keisti skaičių. Ant jų, o ne varto zvertat turtingą pagarbą, skambinkite tsі skaitmenis vikoristovuyutsya tik tam, kad būtų galima rašyti ant dokumentų dainų.

MODx duomenų bazėje yra specialus laukas „parent“, sukurtas odos dokumentui. Šio lauko reikšmė yra skaičius, kuris reiškia unikalų Batkiv dokumento identifikatorių arba nulį, jei dokumentas yra medžio šaknyje. Šiame range visada galite vienareikšmiškai nurodyti, kuris dokumentas skirtas kuriam tėvui.

Norėdami patikrinti, apie ką mes kalbėjome, atidarykite phpMyAdmin, pasirinkite savo duomenų bazę ir raskite lentelę (PREFIX) site_content, de (PREFIX) - savo priešdėlį, kurį įvedėte diegimo laikui. Galite naudoti anoniminius laukus, iš kurių išsaugomi dokumentų pavadinimai, zocrema "ID" - unikalus identifikatorius, "parent" - tėvo dokumento numeris, "pagetitle" - puslapio pavadinimas ir kt.

Tėvas, vikoristas Ši informacija Pagal principą išsaugoti tą dokumentų saitą MODx, galime suprasti, kaip mums reikia duomenų, kad būtų rodomas viršutinis meniu: duomenų bazėje turime žinoti visus dokumentus, kurie yra svetainės medžio šaknyje, t. lauke „parent“ gali būti nulinė reikšmė.

Vykoristovuyuchi SQL mov, tokia užklausa aprašyta taip (Galite pabandyti įvesti Danų zapit SQL įvesties lauke phpMyAdmin, iš anksto pakeisdami "modx_" savo priešdėliu):

PASIRINKTI*
IŠ „modx_site_content“.
KUR „tėvas“ = 0;

Tačiau toks prašymas grąžins mums absoliučiai visus dokumentus iš svetainės šaknies, kurių mes neteisingai žinome, iš pagrindinės užduoties – dėti daugiau pastangų dėl tų dokumentų, kaip gali būti:

  • publikacijų būsena (duomenų bazėje šis elementas turi lauką „paskelbta“, devalvacija = 1 reiškia, kad dokumentas paskelbtas, o reikšmė = 0 – nepaskelbta).
  • neištrintas („ištrintas“ laukas, kuriame ištrinamas 1, o neištrinamas 0),
  • O jiems įdiegta parinktis „Rodyti meniu“ (laukelis „hidemenu“, kur 1 – slėpti, o 0 – rodyti meniu).

Be to, eidami žingsniu į priekį, dokumentus iš karto surūšiuosime po parametro „Pozicija meniu“, kuris lemia odos pranešimo vietą mūsų meniu.

Na, žiūrint į SQL, jis gana gremėzdiškas ir klysta taip:

PASIRINKTI*
IŠ „modx_site_content“.
KUR „paskelbta“ = 1
IR „tėvas“ = 0
IR „ištrinta“ = 0
IR „slėpimo meniu“ = 0
UŽSAKYTI PAGAL `menuindeksą` ASC;

Teoriškai visos SQL užklausos gali būti nulaužtos iš fragmentų be tarpininko pagalbos PHP scenarijai, dar kartą jungdamas odą prie duomenų bazės ir padirbinėdamas beveides įprastas operacijas, jas kartodamas vis iš naujo... Palaukite, kaina būtų sumažinta iki karkaso jautrumo, kaip, beprotiškai, є mūsų valdymo sistema, nes. MOD x programinės įrangos sąsaja(API, taikomųjų programų sąsaja). API – visos programinės įrangos funkcijos, suvienijančios ir palengvinančios turtingų duomenų apdorojimo procesus.

Savo fragmente laimime vieną iš toliau nurodytų API funkcijų „getDocumentChildren“. Funkcija „getDocumentChildren“ atsižvelgia į šiuos parametrus:

  • $id – Batkivo dokumento numeris,
  • $aktyvus – pasirinkite tik paskelbtus arba nepaskelbtus dokumentus (galioja 1 arba 0),
  • $deleted – pasirinkite tik ištrintus arba nematytus dokumentus (1 | 0),
  • $fields - laukai, kurie yra pasirinkti iš duomenų bazės,
  • $kur – ypač protas, tobto. protas KUR SQL užklausa,
  • $ sort - laukas, po kurio rezultatai gali būti rūšiuojami
  • $direction – tiesioginis rūšiavimas, gali priimti ASC arba DESC reikšmes. rūšiavimas nuo mažos iki didelės vertės arba tuo pačiu metu
  • $ limitas - zamuzhennya zapomu, tobto. umova LIMIT SQL užklausoje

$results = $modx->getDocumentChildren(
$id = 0
$aktyvus = 1
$ištrintas = 0
$where="hidemenu=0",
$sort="menuindex",
$dir="ASC",
$ limitas
);

Spausdinti ("

Foreach($results kaip $key => $value) (
print_r($ vertė);
}

Spausdinti ("");
?>

Išsaugokite fragmentą ir atnaujinkite pusę. Peržiūrėję atnaujintą „TopMenu“ fragmentą, pridėsite tų reikšmių masyvų sąrašą, surūšiuotą po „menuindex“ lauko reikšmes nuo mažiausios iki didžiausios. Pabandykite pakeisti parametrą $dir="ASC" į $dir="DESC" – dėl to masyvas bus pakeistas ir pirmasis dokumentas bus dokumentas su didžiausia "menuindex" lauko reikšme.

Patirties turintys programuotojai, ko gero, suprato, kad rezultato paėmimas jau duoda viską, ko reikia, paskatinti meniu ruošti iš pagalbos. Na, tegul viskas. Tęsiu savo nuomonę: perrašykime PHP kodą, kad būtų kuo arčiau norimo rezultato.

$results = $modx->getDocumentChildren(
$id = 0
$aktyvus = 1
$ištrintas = 0
"id, puslapio pavadinimas, paskelbtas, meniuindex, ištrintas, slėpti meniu, meniu pavadinimas",
$where="hidemenu=0",
$sort="menuindex",
$dir="ASC",
$ limitas
);

$elementai = "";
$output="";

Foreach($results kaip $key => $value) (
$items .= "


  • ".$value["puslapio pavadinimas"]."
  • \n";
    }

    Jei ($items != "") (
    $išvestis = "

      \n";
      $išvestis .= $elementai;
      $išvestis .="
    \n";
    }

    Grąžinti $išvestis;

    Kodo detaliai neanalizuosime, o tik PHP kodo pavyzdžius, ne daugiau. Jei kas neturi nuojautos apie jokias konstrukcijas, prašau komentarų, o greičiau - palaikymo forumuose.

    Išsaugokite naują fragmento kodą ir atnaujinkite šoną. Dėl to mes patobulinome kodą praktiniais tikslais tiems, kurie norėjo atsiimti:

    Tobto. tse automatiškai generuojamus pranešimus, kurių struktūra visiškai atkartoja dokumentų struktūrą MODx medyje. Norėdami peržiūrėti, pabandykite sukurti bandomąjį dokumentą svetainės šaknyje ir pakeisti puslapį.

    Tačiau tai dar ne viskas. Tai turtuolis, kuris jau dainingai prisiminė, kad tai galia, bet jėgos nėra... Paradoksas :). Aš galiu būti ant ribos, kad jei meniu įvardinsite dokumentus, jie jiems nebus siunčiami. Tai logiška, bet šukės kode vis tiek rodo „#“ kaip tikrų kelių pakaitalą.

    Norint patikrinti gamyklą, būtina žinoti apie vieną ribinę MODx galimybę: bet kurios vidinės aikštelės pusės adresas gali būti laikomas papildomai įžeidžiančia konstrukcija [~id~], kur id yra unikalus numeris. reikalingas dokumentas, tada. visas skaičius, nuorodos prie šventyklų, patikėjau odos dokumento pavadinimą svetainės medyje. Tokiu būdu, pridėjus tokią konstrukciją [~1~] prie šablono/tiksumo/vidaus,

      • indeksas – „Blogo“ dokumento slapyvardis, nes kaip dokumento slapyvardį įrašėme „index“, kitu atveju
      • 1.html, nes dokumento „Tinklaraštis“ lauke „Slapyvardis“ nieko neįvedėme
    • kaip draugišką pranešimą, galime siųsti žinutę index.php?id=1

    Mes perrašysime fragmentą, vikoristovuyuchi tsyu іnformatsiyu:

    $results = $modx->getDocumentChildren(
    $id = 0
    $aktyvus = 1
    $ištrintas = 0
    "id, puslapio pavadinimas, paskelbtas, meniuindex, ištrintas, slėpti meniu, meniu pavadinimas",
    $where="hidemenu=0",
    $sort="menuindex",
    $dir="ASC",
    $ limitas
    );

    $elementai = "";
    $output="";

    Foreach($results kaip $key => $value) (
    $items .= "


  • ".$value["puslapio pavadinimas"]."
  • \n";
    }

    Jei ($items != "") (
    $išvestis = "

      \n";
      $išvestis .= $elementai;
      $išvestis .="
    \n";
    }

    Grąžinti $išvestis;

    Be to, pakeitėme # į [~".$value["id"]."~], taigi. Praktiškai unikalus ID [~id~] konstrukcijos viduryje pateikiamas odos dokumentui iš masyvo. Dėl to mes priimame meniu su praktiškomis galimybėmis.

    Praktiškai pasiekėme idealą... Tačiau dabar viena detalė palikta, nes ją būtina keisti: dizainerė nustatė, kad galime aktyviai skatinti pasaulio stiprybę, o stiprybės spalvą galima keisti iki oranžinės spalvos.

    Norėdami tai pasiekti, vėl atskleisime MODx TVS paslaptis :). Funkcija $modx->documentIdentifier yra prijungta prie API, kad būtų pakeista srautinio perdavimo pusės unikalaus identifikatoriaus reikšmė. Mums jo reikia norint pažymėti aktyviąją pusę ir pamatyti ją meniu:

    $results = $modx-> getDocumentChildren(
    $id = 0
    $aktyvus = 1
    $ištrintas = 0
    "id, puslapio pavadinimas, paskelbtas, meniuindex, ištrintas, slėpti meniu, meniu pavadinimas",
    $where="hidemenu=0",
    $sort="menuindex",
    $dir="ASC",
    $ limitas
    );

    $cid = $modx->documentIdentifier;

    $elementai = "";
    $output="";

    Foreach($results kaip $key => $value) (
    if ($value["id"] == $cid) (
    $aktyvus = "id="aktyvus"";
    }
    Kitas(
    $aktyvus = "";
    }
    $items .= "
    ".$value["puslapio pavadinimas"]."
    \n";
    }

    Jei ($items != "") (
    $išvestis = "

      \n";
      $išvestis .= $elementai;
      $išvestis .="
    \n";
    }

    Grąžinti $išvestis;

    Na jak, wiyshlo? Wiishlo!

    Bet jūs nepagalvojote, kodėl viskas baigsis? Aš teisus. Mes nustatome savo kartelę, norime laimėti maksimalią MODx galimybių dalį. Ir be to, viena smulkmena, yaku mi praleista.

    Pagarbiai žiūrime į laukų pavadinimus, nes prašome papildomos funkcijos getDocumentChildren: "id, pagetitle,published, menuindex, deleted, hidemenu, menutitle". Jų viduryje yra toks laukas kaip „menutilė“. Kaip šaukti ant vardo, kuris laukas gali išsaugoti meniu pavadinimas. Kasos sistemoje taip pat yra laukas „Meniu elementas“. Tse laukas nėra obov'yazkovo zapovnyuvati. Tačiau logika tokia, kad jeigu šis laukas užpildytas, tai mes patys kalti įžangų meniu atsiųstą tekstą pakeisti trumpu tekstu. Na, išskaidykime:

    /********************************
    Pavadinimas: TopMenu
    Tikslas: viršutinio meniu atskleidimas
    Projektas: MODx demonstracinė svetainė
    ********************************/

    $results = $modx->getDocumentChildren(
    $id = 0, // Batkivo dokumento ID
    $aktyvus = 1, // Atrenkame mažiau nei paskelbtų dokumentų
    $ištrintas = 0, // Mes pasirenkame tik nematytus dokumentus
    "id, puslapio pavadinimas, paskelbtas, meniuindex, ištrintas, slėpti meniu, meniu pavadinimas", // Pasirinkite laukus iš duomenų bazės
    $where = "hidemenu = 0" // Pasirinkite tik tuos dokumentus, kurie turi būti paskelbti meniu
    $sort="menuindex", // Rūšiuoti dokumentus pagal meniuindex lauką
    $dir="ASC", // Dokumentų rūšiavimas Kaip išplėsti
    $limit = "" // Keitimasis negali būti nustatytas (SQL užklausos parametras LIMIT)
    );

    $cid = $modx->documentIdentifier; //reikalingas srautinio perdavimo pusės ID

    $elementai = "";
    $output="";

    Foreach($results kaip $key => $value) (
    if ($value["id"] == $cid) (
    $aktyvus = "id="aktyvus"";
    }
    Kitas(
    $aktyvus = "";
    }
    if ($value["menutitle"] != "") (
    $pavadinimas = $value["menutitle"];
    }
    Kitas(
    $pavadinimas = $value["puslapio pavadinimas"];
    }
    $items .= "
    ".$titulas".
    \n"; // pasirinkite meniu elementą
    }

    // Jakščo toli žinoti, kad nori būti vienas meniu elementą,
    // sukurti HTML meniu kodą
    if ($items != "") (
    $išvestis = "

      \n";
      $išvestis .= $elementai;
      $išvestis .="
    \n";
    }

    // Patikrinkite roboto fragmento rezultatą
    return $output;

    Dabar pabandyk kokio nors dokumento įvedimo laukelyje „Meniu elementas“ įvesti tekstą... Viskas veikia? Stebuklingas!

    PS: Tikriausiai kai kurie skaitytojai apsidžiaugs, kad užėjus į mūsų meniu žinutes pusių skaičius nesikeičia, jei norite, sprendžiant iš kelio iki naršyklės adreso, pereisime į naujas puses. Patikėkite, tai visiškai normalu, nes. absoliučiai visos pusės iš karto laimi tą patį šabloną. Šiam šablonui jis yra praktiškas, tačiau kol kas viršutinis meniu buvo išplėstas dinamiškesniu viršutiniu meniu, o detalės paliekamos. Ateityje mes tuo užsiimsime, bet kol kas - be panikos;).

    Visnovok:

    Taigi, dar vienas straipsnis padarė savo logišką išvadą.

    Treniruočių krepšiai:

    • Bandėme pažiūrėti į atpažintus įvestų dokumentų MODx laukus ir pažvelgėme į informacijos rinkimą iš duomenų bazės;
    • Sužinojome apie naujas specialias MODx konstrukcijas: [], [!SnippetName!], [~id~];
    • Jie žinojo apie specialios API buvimą ir greitai tapo efektyvūs API funkcijos;
    • Remdamiesi savo žiniomis, jie sukūrė savo naują fragmentą MODx!


    Kelio ieškiklis tarnauti kuriant MODX pranešimų sąrašus. „Zavdyaki podtrimtsі“ šablonai leidžia kurti sąrašus bet kokiai reikalingai išvaizdai:
    • Meniu, pavyzdžiui, sąrašas, lentelės, vaizdai, taip pat su piktogramomis.
    • Statinis meniu
    • Meniu su skirtingais efektais
    • Svetainės žemėlapis
    Vikliko pavyzdys:


    &rowTpl=`rowTpl
    &outerTpl=`outerTpl`
    &hereClass=`aktyvus`
    &rowClass=`eNav_li`]]

    Fragmento parametrai:

    &pradžios ID- tėvo pusės id, todėl įveskite 0, kad būtų svetainės šaknis. Už užrakto yra aktyvios šalies ID reikšmė

    &rodyti Pradėti - rodyti dokumentą su startId meniu pavadinime, reklamuota klaidinga

    &lygis- investicijų gylis, fiksavimui 0 - viskas lygu

    &riba- kelių pusių aptvėrimas prie lango (užrakinti 0 - be tvoros)

    &ignoruotiPaslėptas- Nepaisykite žymės langelio „Rodyti meniu“, esantį langelio pusėje, tobto. Jei pasakysite 1, pamatysite visas puses. Užrakinti 0. Rodyti tik tas puses, kurios turi žymimąjį langelį "Rodyti meniu"

    &ph - im'ya podstanovnik, mokyklų mainai pakeisti rezultatus, mokyklų mainai be tarpininkavimo. Paprastai 0.

    &derinti- „lagodzhennya“ režimas (užrakinti 0)

    &slėpti submeniu - išplėsti aktyvų submeniu (užrakinti 0)

    &Pašalinti naujas eilutes- pasiimti vizito valandos eilutės perkėlimo simbolį (užrakinant 0)

    &textOfLinks- Pavadinkite norimą meniu. Galimi variantai:Meniu pavadinimas, ID, puslapio pavadinimas, aprašas, pirminis vardas, slapyvardis, ilgasis pavadinimas, introtekstas . Dėl zamovchuvannyam meniu pavadinimas

    &titleOfLinks- už meniu pavadinimą. Galimybės:Meniu pavadinimas, ID, puslapio pavadinimas, aprašymas, pirminis vardas, slapyvardis, ilgasis pavadinimas, introtekstas. Dėl zamovchuvannyam puslapio pavadinimas

    &rowIdPrefix- Nustatykite odos elemento ID (rowIdPrefix + docId). Paprastai 0

    &įtrauktiDokumentus- dokumentų ID, per kuriuos bus įtrauktas į meniu (nenurodytas užrakinti)

    &išskirtiDokumentus - dokumentų ID per ką, kuris bus išjungtas iš meniu (užrakinti 0)

    &kontekstai- Meniu generavimo kontekstas. Už akcijų.

    &startIdContext - Konteksto identifikatorius, iš kurio paimami dokumentai rezultatui suformuoti.

    &konfig - Zovnishhnіy PHP failą, išsaugokite „Wayfinder“ konfigūraciją (pavyzdys: branduolys / komponentai / kelio ieškiklis / konfigūracijos).

    &schema - URL lyginimo formatas. Galimos reikšmės (pagal wiki makeURL API):

    1: (užrakinti) URL nukreipiant į site_url;

    0: stebuklas http;

    1: stebuklas https;

    pilnas: absoliutus URL, pagrįstas site_url;

    abs: absoliutus URL, pagrįstas bazinio_url;

    http: absoliutus URL;


    https: absoliutus URL, užduotys išjungtos naudojant https schemą.

    &Rūšiuoti pagal - Laukas, kuris susitvarko. (dėl užrakinimo meniu indeksas)

    Galimybės:

    ID, meniu pavadinimas, puslapio pavadinimas, introtekstas, meniuindex, paskelbtas, slėpti meniu, pirminis, isfolder, aprašymas, slapyvardis, ilgasis pavadinimas, tipas, šablonas

    &Rikiuoti- Rūšiavimo tvarka.„ASC“ arba „DESC“. Tipiškas ASC

    &kur - JSON stiliaus parametrai filtruojant (Patikrinkite, kur yra MySQL). Pavyzdžiui, jei reikia pridėti tinklaraštį arba naujų papildymų Straipsniai: &where=`[("class_key:!=": "Straipsnis")]`
    Taikyti:
    peržiūrėti tik aplankus: & kur = `isfolder = 1

    &čiaId - Nurodykite fragmentų srautinio perdavimo ID. Žyma [[*id]] kaip žinyno šablonas hereTpl ir activeRowParentTpl nėra tinkamai įdėti į meniu elementą. Reklamos atveju dabartinis ID.
    Būtina nurodyti ne tik tai, kaip neteisingai rodomas pats scenarijus, pavyzdžiui, peržiūrint meniu iš kitos fragmento dalies.

    &čiaTpl - Šablonas hereTpl patvirtinamas, jei meniu rodomas dabartinis elementas.
    Galimos rezervuotos vietos:
    [[+wf.classes]] – vieta įterpti pakaitos CSS klasę (įskaitant class=" ")
    [[+wf.classnames]] – neįtraukite CSS klasės pavadinimo (neįtraukite class=" ")
    [[+wf.link]] – adresai (href), kuriuos reikia siųsti
    [[+wf.title]] – pridėtas pavadinimo tekstas
    [[+wf.linktext]] – pavadinkite norimą tekstą
    [[+wf.wrapper]] – vieta, kurioje rodomas submeniu
    [[+wf.id]] – unikalaus identifikatoriaus (id) šablonas
    [[+wf.attributes]] - visnovok papildomų atributų jėga
    [[+wf.docid]] – srauto elemento dokumento identifikatorius
    [[+wf.subitemcount]] - elementų skaičius tėve
    [[+wf.description]] – parodykite aprašo lauko reikšmę
    [[+wf.introtext]] – parodykite introteksto lauko reikšmę

    Šablono pavyzdys: [[+wf.linktext]][[+wf.wrapper]]

    Šablono parametrai

    Kiek parametrų nurodo gabalus, kaip šluoti raštus, kaip generuoti Wayfinder perukus.

    AT transliacijos versija Kelio ieškiklis skirtas MODX revoliucija Galite uždrausti prieigą prie pasirinkto televizoriaus naudodami papildomą rezervuotąją vietą su priešdėliu wf. , pavyzdžiui [[+mano_TV]]

    Straipsnio rašymo metu jis bus apverstas į kairę nuo TV vertės – smarvė nebus suformatuota. Pavyzdžiui, jūsų televizorius yra vaizdas – zvichaine vikoristannya todėl jūsų šablono viduryje esantis televizorius pasuks naują vaizdo žymą, o „Wayfinder“ šablono viduryje pasuks tik kelią į vaizdą.

    Jei norite redaguoti televizorių, galite naudoti greitai spustelėjusį fragmentą tarp „Wayfinder“ eilutės šablono (&rowTpl . Pavyzdžiui, jūsų TV vaizdas vadinamas piktogramą ir suskambėkite, kad pamatėte šabloną ir laimėjote maždaug šį kodą:

    ... ...

    Ale oskіlki tse neleidžia apiplėšti televizoriaus, turite pakeisti jogą:

    ... ...

    Dabar procesoTV fragmento viduryje naudoju šį PHP kodą:

    getObject("modResource", $myId); return $doc->getTVValue($myTV);

    Dėl to TV vaizdas vėl pasukamas.

    &outerTpl

    Dalies pavadinimas yra pradinio konteinerio šablonas.

    Galimos rezervuotos vietos:

    • wf.classes – rodyti klases, paimtas iš Wayfinder parametrų rinkinio (įskaitant atributą class="").
    • wf.classnames – rodomi klasių pavadinimai (be class="")
    • wf.wrapper – vidinės erdvės (eilės) vizualizacija.
      [[+wf.wrapper]]

    Parametras &innerTpl nustato tą patį rezervuotų vietų rinkinį kaip ir &outerTpl .

    &rowTpl

    Dalies pavadinimas skirtas pakeisti elemento šabloną meniu eilutėje.

    Galimos rezervuotos vietos:

    • wf.classes – klasės rodymo (įskaitant class="") atributas
    • wf.classnames – galiojančių klasių rodymas (be class="")
    • wf.link – „href="" atributo reikšmė, skirta susieti meniu
    • wf.title – pavadinimo teksto pavadinimas, kuris siunčiamas į lauką, nurodytą &titleOfLinks parametre
    • wf.linktext – tekstas, siunčiamas į saitą, nurodytą lauke, perduotame &textOfLinks parametre
    • wf.wrapper – rodo vidinę erdvę, pavyzdžiui, submeniu
    • wf.id - visnovka unikalus ID atributas. Turite nurodyti parametrą &rowIdPrefix, kad reikšmė būtų nedelsiant nuskaityta. Reikšmė yra priešdėlis + docId.
    • wf.attributes – rodyti srauto elemento atributo leidimus
    • wf.docid – srauto elemento dokumento ID
    • wf.description – srauto elemento aprašymas
    • wf.level – dabartinis indėlio lygis

    Vikoristano pavyzdys:

    [[+wf.linktext]][[+wf.wrapper]]

    Dar vienas variantas:

  • [[+wf.linktext]] – [[+wf.description]] [[+wf.wrapper]]

  • Taikyti

    Pirmoji Rivnė


    [[! Kelio ieškiklis? &startId=`0` &level=`1`
    &rowTpl=`rowTpl
    &outerTpl=`outerTpl`
    &hereClass=`aktyvus`
    &rowClass=`eNav_li`]]

    outerTpl gabalo kodas



      [[+wf.wrapper]]

    rowTpl gabalo kodas



      [[+wf.wrapper]]

    Kitas lygis (kiekvienam meniu elementui tas meniu punktas buvo vizualiai tame pačiame lygyje

    [[! Kelio ieškiklis? &startId=`0` &level=`2`
    &rowTpl=`rowTplFooterMenu`
    &outerTpl=`outerTplFooterMenu`
    &innerTpl=`vidinisTplFooterMenu`
    &innerRowTpl=`innerRowTplFooterMenu`
    &hereClass=`aktyvus`]]

    OuterTplFooterMenu gabalo kodas



    [[+wf.wrapper]]

    rowTplFooterMenu gabalo kodas




    • [[+wf.title]]


    • [[+wf.wrapper]]

    innerTplFooterMenu gabalo kodas

    [[+wf.wrapper]]

    innerRowTplFooterMenu gabalo kodas



  • [[+wf.title]]




  • Kelio ieškiklis tarnauti kuriant MODX pranešimų sąrašus. „Zavdyaki podtrimtsі“ šablonai leidžia kurti sąrašus bet kokiai reikalingai išvaizdai:
    • Meniu, pavyzdžiui, sąrašas, lentelės, vaizdai, taip pat su piktogramomis.
    • Statinis meniu
    • Meniu su skirtingais efektais
    • Svetainės žemėlapis
    Vikliko pavyzdys:


    &rowTpl=`rowTpl
    &outerTpl=`outerTpl`
    &hereClass=`aktyvus`
    &rowClass=`eNav_li`]]

    Fragmento parametrai:

    &pradžios ID- tėvo pusės id, todėl įveskite 0, kad būtų svetainės šaknis. Už užrakto yra aktyvios šalies ID reikšmė

    &rodyti Pradėti - rodyti dokumentą su startId meniu pavadinime, reklamuota klaidinga

    &lygis- investicijų gylis, fiksavimui 0 - viskas lygu

    &riba- kelių pusių aptvėrimas prie lango (užrakinti 0 - be tvoros)

    &ignoruotiPaslėptas- Nepaisykite žymės langelio „Rodyti meniu“, esantį langelio pusėje, tobto. Jei pasakysite 1, pamatysite visas puses. Užrakinti 0. Rodyti tik tas puses, kurios turi žymimąjį langelį "Rodyti meniu"

    &ph - im'ya podstanovnik, mokyklų mainai pakeisti rezultatus, mokyklų mainai be tarpininkavimo. Paprastai 0.

    &derinti- „lagodzhennya“ režimas (užrakinti 0)

    &slėpti submeniu - išplėsti aktyvų submeniu (užrakinti 0)

    &Pašalinti naujas eilutes- pasiimti vizito valandos eilutės perkėlimo simbolį (užrakinant 0)

    &textOfLinks- Pavadinkite norimą meniu. Galimi variantai:Meniu pavadinimas, ID, puslapio pavadinimas, aprašas, pirminis vardas, slapyvardis, ilgasis pavadinimas, introtekstas . Dėl zamovchuvannyam meniu pavadinimas

    &titleOfLinks- už meniu pavadinimą. Galimybės:Meniu pavadinimas, ID, puslapio pavadinimas, aprašymas, pirminis vardas, slapyvardis, ilgasis pavadinimas, introtekstas. Dėl zamovchuvannyam puslapio pavadinimas

    &rowIdPrefix- Nustatykite odos elemento ID (rowIdPrefix + docId). Paprastai 0

    &įtrauktiDokumentus- dokumentų ID, per kuriuos bus įtrauktas į meniu (nenurodytas užrakinti)

    &išskirtiDokumentus - dokumentų ID per ką, kuris bus išjungtas iš meniu (užrakinti 0)

    &kontekstai- Meniu generavimo kontekstas. Už akcijų.

    &startIdContext - Konteksto identifikatorius, iš kurio paimami dokumentai rezultatui suformuoti.

    &konfig - Dabartinis PHP failas, skirtas „Wayfinder“ konfigūracijos išsaugojimui (pavyzdžiui: core/components/wayfinder/configs).

    &schema - URL lyginimo formatas. Galimos reikšmės (pagal wiki makeURL API):

    1: (užrakinti) URL nukreipiant į site_url;

    0: stebuklas http;

    1: stebuklas https;

    pilnas: absoliutus URL, pagrįstas site_url;

    abs: absoliutus URL, pagrįstas bazinio_url;

    http: absoliutus URL;


    https: absoliutus URL, užduotys išjungtos naudojant https schemą.

    &Rūšiuoti pagal - Laukas, kuris susitvarko. (dėl užrakinimo meniu indeksas)

    Galimybės:

    ID, meniu pavadinimas, puslapio pavadinimas, introtekstas, meniuindex, paskelbtas, slėpti meniu, pirminis, isfolder, aprašymas, slapyvardis, ilgasis pavadinimas, tipas, šablonas

    &Rikiuoti- Rūšiavimo tvarka.„ASC“ arba „DESC“. Tipiškas ASC

    &kur - JSON stiliaus parametrai filtruojant (Patikrinkite, kur yra MySQL). Pavyzdžiui, jei reikia pridėti tinklaraštį arba naujų papildymų Straipsniai: &where=`[("class_key:!=": "Straipsnis")]`
    Taikyti:
    peržiūrėti tik aplankus: & kur = `isfolder = 1

    &čiaId - Nurodykite fragmentų srautinio perdavimo ID. Žyma [[*id]] kaip žinyno šablonas hereTpl ir activeRowParentTpl nėra tinkamai įdėti į meniu elementą. Reklamos atveju dabartinis ID.
    Būtina nurodyti ne tik tai, kaip neteisingai rodomas pats scenarijus, pavyzdžiui, peržiūrint meniu iš kitos fragmento dalies.

    &čiaTpl - Šablonas hereTpl patvirtinamas, jei meniu rodomas dabartinis elementas.
    Galimos rezervuotos vietos:
    [[+wf.classes]] – vieta įterpti pakaitos CSS klasę (įskaitant class=" ")
    [[+wf.classnames]] – neįtraukite CSS klasės pavadinimo (neįtraukite class=" ")
    [[+wf.link]] – adresai (href), kuriuos reikia siųsti
    [[+wf.title]] – pridėtas pavadinimo tekstas
    [[+wf.linktext]] – pavadinkite norimą tekstą
    [[+wf.wrapper]] – vieta, kurioje rodomas submeniu
    [[+wf.id]] – unikalaus identifikatoriaus (id) šablonas
    [[+wf.attributes]] – peržiūrėti papildomus pridėtus atributus
    [[+wf.docid]] – srauto elemento dokumento identifikatorius
    [[+wf.subitemcount]] - elementų skaičius tėve
    [[+wf.description]] – parodykite aprašo lauko reikšmę
    [[+wf.introtext]] – parodykite introteksto lauko reikšmę

    Šablono pavyzdys: [[+wf.linktext]][[+wf.wrapper]]

    Šablono parametrai

    Kiek parametrų nurodo gabalus, kaip šluoti raštus, kaip generuoti Wayfinder perukus.

    Naudodami dabartinę Wayfinder for MODX Revolution versiją, galite pasiekti savo pasirinktinius televizorius su papildomu rezervuotos vietos wf priešdėliu. , pavyzdžiui [[+mano_TV]]

    Straipsnio rašymo metu jis bus apverstas į kairę nuo TV vertės – smarvė nebus suformatuota. Pavyzdžiui, jei jūsų televizorius yra vaizdas – kaip ir jūsų šablono viduryje esantis televizorius, naujoji vaizdo žyma bus pasukta, bet „Wayfinder“ šablono viduryje – bus pasukti tik keli keliai į vaizdą.

    Jei norite redaguoti televizorių, galite naudoti greitai spustelėjusį fragmentą tarp „Wayfinder“ eilutės šablono (&rowTpl . Pavyzdžiui, jūsų TV vaizdas vadinamas piktogramą ir suskambėkite, kad pamatėte šabloną ir laimėjote maždaug šį kodą:

    ... ...

    Ale oskіlki tse neleidžia apiplėšti televizoriaus, turite pakeisti jogą:

    ... ...

    Dabar procesoTV fragmento viduryje naudoju šį PHP kodą:

    getObject("modResource", $myId); return $doc->getTVValue($myTV);

    Dėl to TV vaizdas vėl pasukamas.

    &outerTpl

    Dalies pavadinimas yra pradinio konteinerio šablonas.

    Galimos rezervuotos vietos:

    • wf.classes – rodyti klases, paimtas iš Wayfinder parametrų rinkinio (įskaitant atributą class="").
    • wf.classnames – rodomi klasių pavadinimai (be class="")
    • wf.wrapper – vidinės erdvės (eilės) vizualizacija.
      [[+wf.wrapper]]

    Parametras &innerTpl nustato tą patį rezervuotų vietų rinkinį kaip ir &outerTpl .

    &rowTpl

    Dalies pavadinimas skirtas pakeisti elemento šabloną meniu eilutėje.

    Galimos rezervuotos vietos:

    • wf.classes – klasės rodymo (įskaitant class="") atributas
    • wf.classnames – galiojančių klasių rodymas (be class="")
    • wf.link – „href="" atributo reikšmė, skirta susieti meniu
    • wf.title – pavadinimo teksto pavadinimas, kuris siunčiamas į lauką, nurodytą &titleOfLinks parametre
    • wf.linktext – tekstas, siunčiamas į saitą, nurodytą lauke, perduotame &textOfLinks parametre
    • wf.wrapper – rodo vidinę erdvę, pavyzdžiui, submeniu
    • wf.id - visnovka unikalus ID atributas. Turite nurodyti parametrą &rowIdPrefix, kad reikšmė būtų nedelsiant nuskaityta. Reikšmė yra priešdėlis + docId.
    • wf.attributes – rodyti srauto elemento atributo leidimus
    • wf.docid – srauto elemento dokumento ID
    • wf.description – srauto elemento aprašymas
    • wf.level – dabartinis indėlio lygis

    Vikoristano pavyzdys:

    [[+wf.linktext]][[+wf.wrapper]]

    Dar vienas variantas:

  • [[+wf.linktext]] – [[+wf.description]] [[+wf.wrapper]]

  • Taikyti

    Pirmoji Rivnė


    [[! Kelio ieškiklis? &startId=`0` &level=`1`
    &rowTpl=`rowTpl
    &outerTpl=`outerTpl`
    &hereClass=`aktyvus`
    &rowClass=`eNav_li`]]

    outerTpl gabalo kodas



      [[+wf.wrapper]]

    rowTpl gabalo kodas



      [[+wf.wrapper]]

    Kitas lygis (kiekvienam meniu elementui tas meniu punktas buvo vizualiai tame pačiame lygyje

    [[! Kelio ieškiklis? &startId=`0` &level=`2`
    &rowTpl=`rowTplFooterMenu`
    &outerTpl=`outerTplFooterMenu`
    &innerTpl=`vidinisTplFooterMenu`
    &innerRowTpl=`innerRowTplFooterMenu`
    &hereClass=`aktyvus`]]

    OuterTplFooterMenu gabalo kodas



    [[+wf.wrapper]]

    rowTplFooterMenu gabalo kodas




    • [[+wf.title]]


    • [[+wf.wrapper]]

    innerTplFooterMenu gabalo kodas

    [[+wf.wrapper]]

    innerRowTplFooterMenu gabalo kodas



  • [[+wf.title]]


  • Norėdami sukurti dinaminį meniu, greitai paruošiame fragmentą Kelio ieškiklis. Fragmentas, kaip matote, seku, prisimindamas ankstesnes pamokas, Php kodo fragmentus, kuriuos galime įtraukti į savo šabloną. Vіdminnіst vіd chunkіv іlki in kodі ta metodi vikliku. Jei iškviečiame gabalus dėl papildomų garbanotų arkų, tada fragmentai šaukiasi tokių [!Im'ya_snipte!]- talpykloje neskelbiantis wiki, kitaip toks [[Im'ya_snippet]]- Wiklik, kas išgrynina. Kaltas odos fragmento kodas ir baigti ?> . Galima perkelti specialias parametrų reikšmes į odos fragmentą, kai jis yra apdorojamas. MODx jau turi krūvą paruoštų fragmentų, tad galėsime dainuoti.

    fragmentas Kelio ieškiklis tarnauti organizuojant MODx pareigybių sąrašus. Mūsų svetainės meniu yra tokių pranešimų sąrašas. Susipažinkime su kodu ant burbuolės, kuri yra mūsų meniu kūrimo pagrindas. Meniu yra Chanci ANTRAŠTĖ, ašis wono:


    • Sveiki

    • Dizaino tinklaraštis

    • Portfelis

    • Mūsų kompanija

    • Susisiekite su mumis

    Peržiūrėkime šį kodą, pakeiskime jį nauju:

    ((MENIU))

    Ir kodas įterpiamas į naują gabalą MENIU, gabalo aprašyme rašome Svetainės meniu. Dabar paleiskite šį kodą.

    Mūsų svetainės meniu yra paprastas, nenumeruotas sąrašas, kas yra konteineryje id="templatemo_menu". Redaguokime šį sąrašą iš sudėtinio rodinio ir pakeiskime nauju, greitai įterpdami mūsų fragmentą:


    [! Kelio ieškiklis? &startId=`0`!]

    &startId=`0`- tas pats parametras su reikšme 0, kuris nurodo aplanko ID fragmentą, kuriame turi būti saugomi tvarkomi dokumentai. Visi mūsų dokumentai, kaip parodyta meniu, yra šakniniame aplanke, šakninio aplanko ID yra nulis. Pažiūrėkime, kas yra mumyse.

    Mūsų meniu buvo atkurtas, tik aktyvus elementas neberodomas baltai:

    Norėdami suprasti, kodėl taip atsitiko, turime pažvelgti į partijos išstojimo kodą. „Mozilla Firefox“ turi tokį reitingą: Žiūrėti >> Išorės šalies kodas arba tiesiog paspausdami klavišus Ctrl + U. Mes žinome savo meniu kodą:

    • Golovna

    • Dizaino tinklaraštis

    • Portfelis

    • Apie įmonę

    • Kontaktai

    Mes gerbiame tuos, kurie turi aktyvų elementą išėjimo kode klasė = "dabartinė" ir mūsų fragmentas bus automatiškai priskirtas aktyviam elementui class="aktyvus". Taip pat pažymime momentą, kad išvesties kodas klasės zastosovuvavsya prieš žymą o dabar prie žymos

  • . Negalėsime perrašyti fragmento, o atsiminti klasę stiliuose nėra problemų.

    Žinomas aplanke C:/xampp/htdocs/site/www/assets/templates/file templatemo_style.css kad v_dkrivaєmo yogo už pagalbą Notepad ++. Shukaєmo šiame faile yra dabartinės klasės aprašymas, jis randamas 198 eilutė:

    #templatemo_menu li .current(
    užpildymas kairėje: 40 piks
    spalva: #ffffff;
    }

    pakeisti klasę srovė ant aktyvus, nepamirškite iš naujo priskirti yogo žymos :

    #templatemo_menu li.active a (
    užpildymas kairėje: 40 piks
    spalva: #ffffff;
    }

    Išsaugokite failą. Įdomu, kas atsitiko.
    Mūsų meniu buvo sukurtas taip, kaip sumanė dizaineriai. Dabar galime eiti į mūsų svetainės šonus, kad gautume pagalbos dėl pagrindinio meniu. Pridedant kitus dokumentus į šakninį aplanką, smarvė automatiškai atsiras mūsų meniu. Kad neaktualūs dokumentai nebūtų rodomi meniu, juos reikia pažymėti Rodyti meniu. Papildomam parametrui galite išjungti nereikalingą elementą &excludeDocs=`išskiriamų dokumentų ID sąrašas, per ką`.

    Kad meniu nebūtų rodomi vaiko dokumentai, kaip darome būsimose pamokose, savaitės fragmentą įtraukime parametrą lygiu, kuris nurodo lygų skaičių meniu, užraktui bus rodomi visi lygūs, išskyrus vieną lygų:


    [! Kelio ieškiklis? &startId=`0` &level=`1`!]

    MODx Revolution taisymas 8 pamoka pradedantiesiems. Spėju, mano robimo svetainė MODx Revolution renginiui. Likusioje pamokos dalyje apžvelgėme fragmentų, pavyzdžiui, PHP kodo fragmentų, leidžiančių mūsų svetainei pridėti funkcijų, sąvoką. Šiame lygyje galime pamatyti specialų fragmentą – „Wayfinder“ ir jį panaudosime kurdami dinamišką mūsų svetainės meniu.

    Kas yra Wayfinder?

    Kelio ieškiklis– fragmentas, kuriame bus rodomas nerūšiuotas sąrašas, išsiųstas į jūsų medžio svetainės išteklius, rodomo sąrašo tipas turi būti fragmento wiki ir šio wiki parametrai. Trumpai tariant, tai reiškia, kad jei į savo šabloną įdėsite Wayfinder wiki, pradėsite ieškoti išteklių, tada nustatysite naujus parametrus ir pasukite sąrašą, kad išsiųstumėte juos į šiuos išteklius nerūšiuoto sąrašo formatu arba formatu. nurodėte.

    Reikia laimėti „Wayfinder“?

    Paleiskite „Wayfinder vicorist“, kad sukurtumėte dinamišką svetainės naršymą, pavyzdžiui, meniu. Kadangi yra daugiau HTML šablonų, skirtų nerūšiuotiems meniu kūrimo sąrašams kurti, Wayfinder yra ideali priemonė šiems tikslams. Kai kuriate svetainę, galite efektyviai įterpti savo URL į naršymo meniu, kaip tai darėte anksčiau statinėje HTML svetainėje. Tuo pačiu metu, jei jums reikia pamatyti ar sukurti pusę, turite pakeisti savo meniu, prisiminti URL. Naudojant „Wayfinder“ fragmentą dinaminiam meniu generavimui, galvos skausmas išnyksta, nes jis automatiškai priskiria pakeitimus ir automatiškai keičia meniu.

    „Wayfinder“ yra išmanusis įrankis, leidžiantis pasirinkti, ar įjungti ar išjungti išteklius meniu, kokį meniu šabloną, kokio gylio jūsų svetainės meniu. Jūsų gebėjimų ribos nustatomas pagal jūsų HTML/CSS kodą.

    Kaip vikoristas Wayfinder?

    Kaip jau spėjome ankstesnėje pamokoje, greitojo fragmento sintaksė atrodo taip: [[!somesnippet]]

    Tik pagrindinio vikliko yra daugiau nei pakankamai, bet dėl ​​kurio nusikaltimo aš kaltas, reikšdamas šio vikliko valdžios diakonus. Wayfinder elgesys yra mažiausiai, nes jis turi būti priskirtas valdžios institucijoms: išteklių medyje Wayfinder yra atsakingas už išteklių sąrašo taisymą. Tokiu būdu „Wayfinder“ fragmento wiki turi priimti vieną parametrą – burbuolės ID. Bazinis „Wayfinder“ fragmento wiki šiuo metu atrodo taip:

    Tsey viklik liepia Wayfinder pradėti nuo medžio šaknies ( ID 0 reiškia svetainės šaknį) ir rodo visus paskelbtus išteklius ir tuos, kurių žymimajame laukelyje nėra varnelės Slėpti iš meniu.

    Žvelgdami į šabloną, kurį laimime, galime pridėti viršutinį meniu su lipdukų elementais ir sąrašais.

    Pažiūrėkime į šabloną ir kodą, kuris parodys šį meniu:

    Jakų bachitas, netvarkingo sąrašo tse telkiniai. Pakeiskime šį kodą Wayfinder baziniu wiki ir pažiūrėkime, ką matome savyje. Peržiūrėkite vadovo kodą meniu ir įdėkite naują:

    [[! Kelio ieškiklis? &startId=`0` ]]

    Jei nulaužsite tą patį modelį kaip aš, jūsų kodas atrodys maždaug taip:

    Išsaugokite šabloną ir pažiūrėkite į pagrindinį puslapį, galite pažiūrėti:

    Grožinė literatūra! Matote, kad mūsų priekinis meniu, kaip ir keletas elementų, dabar buvo pakeistas paprastu meniu, kuriame yra tik vienas elementas - Pagrindinis. Nesakykite mums, kaip veikia „Wayfinder“, nes tai būtina, ir paimkite vieną mūsų svetainės pusę ir parodykite meniu elemento pavadinimą.

    Sukurkime daugiau išteklių. Bandau pridėti „Apie“ pusę su 3 antrinėmis pusėmis (MODx, vadovėliai, kontaktai ir DUK). Savo svetainei galite sukurti bet kurį iš šaltinių. Teisingai meta tsієї – sukurkite išteklių pabarstymą, kad Wayfinder galėtų tai parodyti.

    Baigiau kurti puslapius ir mano svetainės išteklių medis atrodo taip:

    Dabar turime daugybę puslapių ir stebimės, kaip „Wayfinder“ wiki sukuria mūsų svetainės meniu:

    Geros naujienos yra tos, kad meniu atsirado visos mūsų pusės, prisispaudusios prie meniu punkto odos, pereisime į priešingą pusę. (Norėdami išbandyti šį elementą, pridėkite šiek tiek teksto odos pusėje, pvz., apie pusėje, galite pridėti „Šią pusę Apie“ ir jūs nepasirodysite, kai pusė bus atidaryta. Atminkite, kad turime priskirti šabloną odos pusėje, bet šiuo metu aš nesu zbirayus apie tse turbuєtsya).

    Nešvari naujovė yra ta, kad meniu formatavimas žlugo, bet mes galime padėti. Dešiniuoju pelės klavišu spustelėkite tinklalapį ir pažiūrėkite į išvesties kodą (arba tos firebug žymą), galite tai patikrinti dabar Kelio ieškiklis generuoti įžeidžiančios paieškos HTML:

    • Namai
    • Apie
      • MODX TVS
      • Kodavimo blokas
        • Dienoraštis
        • Paslaugos
    • Susisiekite su mumis
    • Pamokos
    • DUK

    Kaip jūs tai matote, atrodo dar panašesnis į mūsų statinį kodą, slypintį už kažkokios kaltės. Visų pirma, Wayfinder sukūrė