MODX meni na više nivoa koristeći Bootstrap. PdoMenu - kreiranje menija u MODX Wayfinderu, imena između raspona se ne prikazuju

Dom / Instalacija uređaja

Ali ovo nije za nas ;).

Uradićemo sve od nule. Zašto nam je (meni) ovo trebalo, pošto već postoje gotove opcije? Jer mi se ovako više sviđa. Jer mislim da je ovaj pristup najispravniji. Jer, znajući kako da razvijemo svoj, lako možemo razumjeti tuđi kod, promijeniti ga, popraviti greške ili ga dopuniti funkcionalnošću potrebnom u konkretnom slučaju. I, na kraju krajeva, često je tako lijepo napraviti svoj vlastiti!

Sledeći narativ će pretpostaviti da čitalac ima minimalno znanje o PHP programiranju. Teoretski, oni ljudi koji uopće ne razumiju kod moći će kopirati kod i reproducirati sve radnje o kojima će biti riječi u nastavku. Međutim, za njih bi možda bilo bolje da koriste gotove isječke a la Ditto, jer pružaju mnogo opcija za eksternu konfiguraciju bez ulaska u glavni kod.

Ne želim da raspravljam šta je bolje za korisnika - da uzme gotov ili razvije svoj... Oba slučaja imaju svoje prednosti i mane. Za mene lično, druga opcija ima više prednosti. Takođe, svaki čitalac će odlučiti za sebe.

Dakle, pogledajmo ponovo naše. Pošto na našoj web stranici ima dosta različitih softverskih dijelova, a od nečega moramo početi, pa hajde da programiramo...

Top menu

Pod pojmom “top menu” mislim na skup linkova do stranica na vrhu stranice (pogledajte sliku ispod):

Prvi primjer kreiranja isječka ću opisati vrlo detaljno, u budućnosti ću se fokusirati uglavnom na najvažnije detalje.

Hajde da to uporedimo sa našim stablom sajta u sistemu upravljanja, koji smo izgradili u prethodnom članku:

Kao što se vidi sa slike, četiri dokumenta su istaknuta u stablu sajta (i to “Blog”, “O autorima”, “Fotografije” i “ Povratne informacije"), koji će naknadno kreirati veze u gornjem meniju.

Da vas podsjetim i da smo prethodno sakrili dokumente koje ne želimo da prikazujemo u meniju. Na primjer, u postavkama dokumenta pod nazivom “Pretraga web mjesta” uklonili smo potvrdni okvir “Prikaži u meniju”, a preostala dva dokumenta “Linkovi” i “Kategorije” smo sakrili na web stranici tako što smo poništili potvrdni okvir “Objavi” u postavke dokumenta (kartica „Postavke stranice“) u postavkama dokumenta).

Tako smo u prethodnom članku pripremili gornji meni u sistemu upravljanja.

Pređimo sada na pitanje prikazivanja naših akcija direktno na web stranici.

Većinu programa na sajtu izvode tzv. " ", tj. pojedinačni delovi koda (oni se takođe mogu shvatiti kao pojedinačne funkcije ili potprogrami) u PHP-u. Stoga, da bismo implementirali prikaz gornjeg menija u MODx-u, moramo također kreirati novi isječak, programirati ga i dodati poziv ovom isječku u šablonu na pravom mjestu.

Idemo na sistem upravljanja, otvorimo karticu "Resources" -> "Resource Management" -> karticu "Snippets" i kliknite na vezu "New snippet". U polje “Naziv isječka” unesite “TopMenu” bez navodnika i za sada samo sačuvajte prazan isječak bez koda. Nakon spremanja, vidjet ćemo naziv našeg isječka na kartici “Snippets”.

Da vas podsjetim da smo u našem predlošku stavili gornji meni u dio “TOPMENU”. Prijeđimo na karticu "Kunci" i otvorimo " " komad. U sadržaju ovog dijela vidjet ćemo sljedeći kod:


  • Blog

  • O autorima

  • Fotografije

  • Povratne informacije

Ovaj kod je ono što kreira naš meni. Hajde da to prokomentarišemo i dodamo poziv u isječak "TopMenu" u komadu:


[]

Ovdje ćemo opet morati malo odstupiti da bismo objasnili značenje ove konstrukcije []. Činjenica je da uz pomoć konstrukcija kao što su [] ili [!SnippetName!] možemo pozvati isječke bilo gdje u našim predlošcima, dijelovima, pa čak i samo na bilo kojoj pojedinačnoj stranici web stranice.

U ovom slučaju, konstrukcija [] označava poziv cacheable isječak, tj. pozivanjem dinamičke potprograme čiji će se rezultat izračunati i izvršiti jednom, a naknadno prilikom učitavanja stranice na kojoj je ovaj isječak pozvan, rezultat će biti nepromijenjen, jer isječak se više ne poziva ponovo. Na ovaj način štedimo resurse na našem web serveru (a to je uvijek vrlo važno kada postoji veliki promet na resursu).

Međutim, postoje situacije kada morate stalno ponovo izvršavati isječak koda i ne možete keširati rezultate. U takvim slučajevima koristi se konstrukcija [!SnippetName!], koja će uvijek prisiliti da se isječak izvrši bez keširanja. Po analogiji, ova konstrukcija se zove poziv non-cacheable snippet.

Dakle, hajde da sačuvamo "TOPMENU" deo i ažuriramo stranicu sajta. Hmm, začudo, gornji meni je nestao. Ali da li je ovo zaista toliko iznenađujuće? Komentarišući HTML kod menija u komadu, sakrili smo njegov prikaz u pretraživaču (provjerite ovo gledajući izvorni kod HTML stranice). Ali naš "TopMenu" isječak ne radi ništa jer mu još ništa nije dodano. Ispravimo ovaj nedostatak :).

Vratimo se na karticu "Snippets", otvorimo kreirani isječak "TopMenu" i pokušamo testirati njegove mogućnosti... Strpljenje, moji napredni čitaoci, nisu svi upoznati sa ovim detaljima.

Prvo, napišimo najjednostavniji kod (običan PHP kod):

echo "Testiranje...";
?>

Prije spremanja odaberite “Nastavi sa uređivanjem”, jer morat ćemo više puta promijeniti sadržaj našeg isječka, a nakon toga ćemo sačuvati isječak. Osvježimo stranicu i vidimo umjesto gornjeg menija... pa, da budem iskren, na prvi pogled nećemo vidjeti skoro nikakve promjene, osim blago proširene plave pozadine menija. Hajde da pritisnemo "CRTL+A" da selektujemo sav tekst na stranici sajta, i videćemo da naš isečak ipak prikazuje tekst "Testiranje..." umesto menija, samo boja teksta odgovara boji pozadine.

Promijenimo isječak koda u sljedeće:

eho" Testiranje...";
?>

Sada možemo jasno vidjeti da naš isječak radi i čak (!) prikazuje neki tekst. Pa, ovo je odlično, ali nije dovoljno za naš zadatak, jer moramo osigurati da naš isječak prikazuje veze iz kontrolnog sistema, i to u potpuno istom HTML kodu koji smo komentirali u dijelu “TOPMENU”.

I opet malo ometanja...

Čitav sistem odnosa između dokumenata u MODx-u je izgrađen na principu: svaki „roditeljski dokument“ sadrži od nula do mnogo „podređenih dokumenata“ („roditelj“ -> „podređeni“).

Svaki dokument u MODx bazi podataka ima svoj jedinstveni identifikator "ID" - to je broj koji vidimo u zagradama u stablu stranice pored svakog dokumenta.

Inače, ovaj jedinstveni identifikator ima samo jedno jedino značenje - jedinstveno identifikuje određeni dokument u sistemu upravljanja i ništa više! Posebno naglašavam ovu činjenicu, budući da sam nailazio na ponovljene pokušaje da se ti identifikatori izmijene u razne svrhe... Trebate odmah zapamtiti da je to jednostavno besmisleno, stoga nemojte pokušavati mijenjati ove brojeve. Uopće ne biste trebali obraćati pažnju na njih; obično se ovi brojevi jednostavno koriste za generiranje veza do određenih dokumenata.

MODx baza podataka također kreira posebno "nadređeno" polje za svaki dokument. Vrijednost ovog polja je broj koji označava ili jedinstveni identifikator roditeljskog dokumenta, ili, ako je dokument u korijenu stabla, nula. Dakle, uvijek možete nedvosmisleno odrediti koji je dokument nadređeni dokument za dati.

Da jasno vidite o čemu smo upravo pričali, otvorite phpMyAdmin, odaberite svoju bazu podataka i pronađite (PREFIX)site_content tabelu, gdje je (PREFIX) vaš prefiks koji ste unijeli tokom instalacije. Vidjet ćete mnoga polja koja pohranjuju specifične podatke dokumenta, uključujući "ID" - jedinstveni identifikator, "parent" - broj nadređenog dokumenta, "pagetitle" - naslov stranice i druge.

Dakle, koristeći ove informacije o principu pohranjivanja i povezivanja dokumenata u MODx-u, možemo razumjeti kako doći do potrebnih podataka za prikaz linkova gornjeg menija: u bazi podataka moramo pronaći sve dokumente koji se nalaze u korijenu stranice drvo, tj. imaju vrijednost nula u polju "roditelj".

Koristeći SQL jezik, sličan zahtjev je opisan otprilike ovako (možete pokušati unijeti ovaj zahtjev u SQL polju za unos u phpMyAdmin, nakon što zamenite "modx_" vašim prefiksom):

ODABIR *
IZ `modx_site_content`
GDJE `roditelj` = 0;

Međutim, takav zahtjev će nam vratiti apsolutno sve dokumente iz korijena stranice, što nije sasvim ispravno, na osnovu glavnog zadatka - da prikažemo veze samo na one dokumente koji imaju:

  • objavljen status (u bazi podataka ova stavka je predstavljena poljem “objavljeno”, gdje vrijednost = 1 znači da je dokument objavljen, a vrijednost = 0 neobjavljeni).
  • neobrisano (polje "izbrisano", gdje je 1 obrisano, a 0 nije izbrisano),
  • i koji imaju podešenu opciju „Prikaži u meniju“ (polje „sakrij meni“, gde 1 znači sakriti, a 0 znači prikazati u meniju).

Osim toga, gledajući malo unaprijed, odmah ćemo sortirati dokumente prema parametru „Pozicija u meniju“, koji će odrediti poziciju svake veze u našem meniju.

Pa, sa SQL tačke gledišta, ovo je potpuno jednostavan zadatak i može se riješiti ovako:

ODABIR *
IZ `modx_site_content`
GDJE `objavljeno` = 1
I `roditelj` = 0
I `izbrisan` = 0
I `hidemenu` = 0
ORDER BY `menuindex` ASC;

Teoretski, svi SQL upiti mogu se izvršiti u isječcima direktno koristeći PHP skripte, svaki put iznova povezujući bazu podataka i obavljajući mnoge druge rutinske operacije, ponavljajući ih iznova i iznova... Ali, vidite, ovo bi poništilo poentu upotrebe okvira, što naš sistem upravljanja svakako jeste, jer MODx, između ostalih prednosti, pruža spreman set sredstva softverski interfejs(API, aplikacijski programski interfejs). API-ji su softverske funkcije koje objedinjuju i olakšavaju mnoge procese obrade podataka.

Upotrijebimo jednu od spomenutih API funkcija "getDocumentChildren" u našem isječku. Funkcija "getDocumentChildren" prima sljedeće podatke kao parametre:

  • $id - broj matičnog dokumenta,
  • $active - odaberite samo objavljene ili neobjavljene dokumente (1 odnosno 0),
  • $deleted - odaberite samo izbrisane ili neobrisane dokumente (1 | 0),
  • $fields - polja koja su odabrana iz baze podataka,
  • $gdje - posebni uslovi, tj. GDJE stanje u SQL upit,
  • $sort - polje po kojem treba sortirati rezultate
  • $direction - smjer sortiranja, može uzeti ASC ili DESC vrijednosti, tj. sortiraj od najmanje do najveće vrijednosti ili obrnuto
  • $limit - ograničenje zahtjeva, tj. LIMIT uvjet u SQL upitu

$results = $modx->getDocumentChildren(
$id = 0,
$aktivan = 1,
$izbrisan = 0,
$gdje = "hidemenu = 0",
$sort="menuindex",
$dir="ASC",
$limit
);

Print("

Foreach($rezultati kao $ključ => $vrijednost) (
print_r($vrijednost);
}

Print("");
?>

Sačuvajte isječak i osvježite stranicu. Kao rezultat izvršavanja ažuriranog isječka "TopMenu", vidjet ćete listu nizova i njihovih vrijednosti, sortiranih prema vrijednostima polja "menuindex" od najmanjeg do najvećeg. Pokušajte promijeniti parametar $dir="ASC" u $dir="DESC" - kao rezultat toga, nizovi će biti ponovo izgrađeni i dokument sa najvećom vrijednošću polja "menuindex" će biti prikazan kao prvi dokument.

Iskusni programeri vjerovatno razumiju da dobijeni rezultat već pruža sve što vam je potrebno za izradu gotovog menija sa vezama. Pa, skoro sve. U svakom slučaju, nastaviću: prepišimo PHP kod kako bismo se što više približili željenom rezultatu.

$results = $modx->getDocumentChildren(
$id = 0,
$aktivan = 1,
$izbrisan = 0,
"id, pagetitle, objavljeno, menuindex, deleted, hidemenu, menutitle",
$gdje = "hidemenu = 0",
$sort="menuindex",
$dir="ASC",
$limit
);

$items = "";
$output = "";

Foreach($rezultati kao $ključ => $vrijednost) (
$items .="


  • ".$value["pagetitle"]."
  • \n";
    }

    Ako ($items != "") (
    $output = "

      \n";
      $output .= $items;
      $output .="
    \n";
    }

    Povratak $output;

    Nećemo detaljno analizirati kod, jer je ovo najobičniji PHP kod, ništa više. Ako neko ne razumije značenje bilo koje konstrukcije, ostavite komentar, ili još bolje, idite na relevantne forume podrške.

    Sačuvajmo novi isječak koda i osvježimo stranicu. Kao rezultat izvršavanja koda, vidjet ćemo skoro ono što smo željeli dobiti:

    One. To su već automatski generirane veze, čija struktura u potpunosti ponavlja strukturu dokumenata u MODx stablu. Da biste ovo testirali, pokušajte kreirati neki probni dokument u korijenu stranice i osvježite stranicu.

    Međutim, to nije sve. Mnogi su verovatno već primetili da linkova ima, ali nema... Paradoks :). Mislim da su nazivi dokumenata prikazani u meniju, ali veze do njih ne rade. Ovo je logično, jer za sada kod veze prikazuje "#" umjesto pravih putanja.

    Da biste riješili ovaj problem, morate naučiti o još jednoj izuzetno korisnoj funkciji MODx-a: adresa bilo koje interne stranice stranice može se dobiti pomoću sljedeće konstrukcije [~id~], gdje je id jedinstveni broj traženi dokument, tj. isti broj naveden u zagradama pored naziva svakog dokumenta u stablu sajta. Dakle, dodavanjem takve konstrukcije [~1~] u sadržaj šablona/komada/stranice,

      • index – alias dokumenta "Blog", ako smo upisali "index" kao pseudonim dokumenta, ili
      • 1.html, ako nismo ništa upisali u polje "Nadimak" za dokument "Blog".
    • ako su prijateljske veze onemogućene, vidjet ćemo tekst index.php?id=1

    Prepišimo isječak koristeći ove informacije:

    $results = $modx->getDocumentChildren(
    $id = 0,
    $aktivan = 1,
    $izbrisan = 0,
    "id, pagetitle, objavljeno, menuindex, deleted, hidemenu, menutitle",
    $gdje = "hidemenu = 0",
    $sort="menuindex",
    $dir="ASC",
    $limit
    );

    $items = "";
    $output = "";

    Foreach($rezultati kao $ključ => $vrijednost) (
    $items .="


  • ".$value["pagetitle"]."
  • \n";
    }

    Ako ($items != "") (
    $output = "

      \n";
      $output .= $items;
      $output .="
    \n";
    }

    Povratak $output;

    Tako smo promijenili # u [~".$value["id"].."~], tj. zapravo, za svaki dokument iz niza, njegov jedinstveni ID se zamjenjuje unutar konstrukcije [~id~]. Kao rezultat, dobijamo meni sa radnim vezama.

    Skoro smo postigli ideal... Međutim, i sada postoji još jedan detalj koji se mora uzeti u obzir: dizajner je odredio da naš aktivni link treba istaknuti bijelom pozadinom, a boju linka u skladu s tim promijeniti u narandžastu.

    Da bismo to postigli, ponovo ćemo otkriti tajne MODx CMS-a :). U API-ju je skrivena funkcija $modx->documentIdentifier, koja vraća vrijednost jedinstvenog identifikatora trenutne stranice. Trebat će nam da odredimo aktivnu stranicu i označimo je u meniju:

    $results = $modx->getDocumentChildren (
    $id = 0,
    $aktivan = 1,
    $izbrisan = 0,
    "id, pagetitle, objavljeno, menuindex, deleted, hidemenu, menutitle",
    $gdje = "hidemenu = 0",
    $sort="menuindex",
    $dir="ASC",
    $limit
    );

    $cid = $modx->documentIdentifier;

    $items = "";
    $output = "";

    Foreach($rezultati kao $ključ => $vrijednost) (
    if ($value["id"] == $cid) (
    $active = " id=\"aktivan\"";
    }
    drugo(
    $active = "";
    }
    $items .="
    ".$value["pagetitle"]."
    \n";
    }

    Ako ($items != "") (
    $output = "

      \n";
      $output .= $items;
      $output .="
    \n";
    }

    Povratak $output;

    Pa, kako je ispalo? Upalilo je!

    Ali niste mislili da će se sve ovo završiti, zar ne? I s pravom. Postavili smo sebi najvišu traku, želimo da iskoristimo maksimalne mogućnosti MODx-a. I zato postoji još jedan mali detalj koji nam je promakao.

    Pogledajmo pomno imena polja koja tražimo pomoću funkcije getDocumentChildren: "id, pagetitle, published, menuindex, deleted, hidemenu, menutitle". Među njima postoji polje kao što je "menutitle". Kao što ime govori, ovo polje može pohraniti naslov menija. Upravljački sistem ima i polje za unos "Stavka menija". Ovo polje nije obavezno. Međutim, logika je da ako je ovo polje popunjeno, onda moramo zamijeniti tekst linka u meniju onim koji je unio korisnik. Pa, uradimo ovo:

    /********************************
    Naziv: Gornji meni
    Svrha: Prikaz gornjeg menija
    Projekat: MODx Demosite
    ********************************/

    $results = $modx->getDocumentChildren(
    $id = 0, // ID roditeljskog dokumenta
    $active = 1, // Odaberite samo objavljene dokumente
    $deleted = 0, // Odaberite samo neobrisane dokumente
    "id, pagetitle, published, menuindex, deleted, hidemenu, menutitle", // Odaberite polja iz baze podataka
    $where = "hidemenu = 0", // Odaberite samo one dokumente koje je potrebno objaviti u meniju
    $sort="menuindex", // Sortiraj dokumente prema polju menuindex
    $dir="ASC", // Sortiraj dokumente uzlaznim redoslijedom
    $limit = "" // Ne postavljamo ograničenja (LIMIT parametar u SQL upitu)
    );

    $cid = $modx->documentIdentifier; //dobijamo ID trenutne stranice

    $items = "";
    $output = "";

    Foreach($rezultati kao $ključ => $vrijednost) (
    if ($value["id"] == $cid) (
    $active = " id=\"aktivan\"";
    }
    drugo(
    $active = "";
    }
    if ($value["menutitle"] != "") (
    $title = $value["menutitle"];
    }
    drugo(
    $title = $value["pagetitle"];
    }
    $items .="
    ".$title."
    \n"; //prikupljamo stavke menija
    }

    // Ako bismo uspjeli pronaći barem jednu stavku menija,
    // kreiranje HTML koda menija
    if ($items != "") (
    $output = "

      \n";
      $output .= $items;
      $output .="
    \n";
    }

    // Vraća rezultat isječka
    return $output;

    Sada pokušajte da unesete tekst u polje za unos “Menu Item” bilo kojeg dokumenta... Da li sve radi? Nevjerovatno!

    P.S.: Neki čitaoci mogu biti iznenađeni da kada pratite linkove u našem meniju, sadržaj stranica se ne menja, iako se čini da, sudeći po putanji u adresi pretraživača, prelazimo na nove stranice... Verujte meni, ovo je apsolutno normalno, jer Apsolutno sve stranice trenutno koriste isti šablon. U ovom predlošku, zapravo, do sada smo učinili samo gornji meni dinamičnim; O tome ćemo svakako kasnije, ali za sada - bez panike ;).

    zaključak:

    Dakle, još jedan članak je došao do svog logičnog zaključka.

    Rezultati obuke:

    • Pokušali smo da razumemo svrhu nekih od polja za unos u MODx dokumentima i pogledali smo čuvanje ovih informacija u bazi podataka;
    • Saznali smo o novim specijalnim MODx dizajnima: [], [!SnippetName!], [~id~];
    • Saznali smo o dostupnosti posebnog API-ja i iskoristili neke API funkcije;
    • I na osnovu ovog znanja, kreirali smo naš novi isječak u MODx-u!

    Započnimo lekciju 8 MODx Revolutiona za početnike. Da vas podsjetim da radimo web stranicu za proučavanje MODx Revolution. U prošloj lekciji, pogledali smo koncept isječaka, koji su dijelovi PHP koda koji nam omogućavaju da dodamo funkcionalnost našoj web stranici. U ovoj lekciji ćemo pogledati poseban isječak - Wayfinder, koji ćemo koristiti za kreiranje dinamičkog menija za našu web stranicu.

    Šta je Wayfinder?

    Wayfinder je isječak koji prikazuje nerazvrstanu listu veza do resursa u stablu vašeg sajta. Uopšteno govoreći, to znači da kada postavite Wayfinder poziv u svoj predložak, on počinje tražiti resurse koji zadovoljavaju parametre navedene u njemu i vraća listu veza do tih resursa u nesortiranom formatu liste ili u formatu koji vi definirate.

    Zašto koristiti Wayfinder?

    Obično koristim Wayfinder za kreiranje dinamičke navigacije web stranice, odnosno menija. Od većine HTML šablon ov koristiti neuređene liste za kreiranje menija, tada je Wayfinder savršen alat za ove svrhe. Kada kreirate web lokaciju, možete pažljivo umetnuti svoje URL-ove u navigacijski meni, baš kao što ste ranije radili na statičkoj HTML stranici. Istovremeno, svaki put kada trebate da izbrišete ili kreirate stranicu, potrebno je izvršiti odgovarajuće promjene u svom meniju, promijeniti URL-ove. Korištenje Wayfinder isječka za dinamičko generiranje vaših menija izbjegava ovu glavobolju jer automatski otkriva promjene i mijenja vaš meni u skladu s tim.

    Wayfinder je prilično fleksibilan alat i omogućava vam da odredite koje resurse želite uključiti ili isključiti iz menija, šta je predložak menija i koliko je dubok meni vašeg sajta. Ograničenje vaših mogućnosti je određeno vašim HTML/CSS kodom.

    Kako koristiti Wayfinder?

    Kao što smo već spomenuli u prethodnoj lekciji, sintaksa za pozivanje isječaka izgleda ovako: [[!somesnippet]]

    Ovo je samo osnovni poziv i nije dovoljan, osim toga moramo definisati neka svojstva ovog poziva. U slučaju Wayfinder-a, minimum koji treba da bude definisan u svojstvima: gde u stablu resursa Wayfinder treba da počne da pravi listu resursa. Stoga, prilikom pozivanja isječka Wayfinder, morate navesti barem jedan parametar - početni ID. Osnovni poziv na Wayfinder isječak u ovom slučaju će izgledati ovako:

    Ovaj poziv govori Wayfinder-u da počne od korijena stabla ( ID 0 označava korijen stranice) i prikazuje sve resurse koji su objavljeni i koji nemaju kvačicu u polju za potvrdu Sakrij iz menija.

    Ako pogledamo šablon koji koristimo, možemo vidjeti gornji meni sa nekoliko opcija i padajućim listama.

    Pogledajmo šablon i kod koji izlazi ovaj meni:

    Kao što vidite, ovo je ugniježđena neuređena lista. Zamenimo ovaj kod sa osnovnim Wayfinder pozivom i vidimo šta dobijamo. Izbrišite gornji kod i zalijepite na njegovo mjesto:

    [[!Wayfinder? &startId=`0` ]]

    Ako koristite isti šablon kao ja, vaš kod će izgledati otprilike ovako:

    Sačuvajte šablon i pogledajte početna stranica, trebalo bi izgledati ovako:

    Fantasticno! Vidite da je naš prethodni meni, koji je imao nekoliko opcija, sada zamijenjen jednostavnim menijem sa samo jednom stavkom - Početna. Ovo nam govori da Wayfinder radi kako se očekuje i da uzima jednu stranicu sa naše stranice i prikazuje njen naslov kao stavku menija.

    Kreirajmo još par resursa. Dodaću stranicu o stranici sa 3 podređene stranice (MODx, Tutoriali, Kontakt i FAQ stranice). Možete kreirati bilo koje resurse ili stranice za svoju web lokaciju. Cilj ove vježbe je kreiranje nekoliko resursa tako da Wayfinder ima nešto za prikazati.

    Završio sam sa kreiranjem stranica i stablo resursa moje stranice izgleda ovako:

    Sada imamo nekoliko stranica, da vidimo kako će pozivanje Wayfindera generirati meni za našu web stranicu:

    Dobra vijest je da su se sve naše stranice pojavile u meniju i klikom na svaku stavku menija prelazimo na odgovarajuću stranicu. (Da biste testirali ovaj element, dodajte malo teksta svakoj stranici, na primjer na stranici O stranici možete dodati “Ovo je stranica o stranici” i ova poruka će se pojaviti kada se stranica otvori. Zapamtite da moramo definirati predložak za svaku stranicu stranicu, ali u trenutno Neću da brinem o tome).

    Loša vijest je da je formatiranje menija pokvareno, ali možemo to popraviti. Kliknite desni klik mišem na web stranici i pogledajte izvorni kod (ili koristite firebug za ovo), to ćete sada vidjeti Wayfinder generira HTML ovako:

    • Dom
    • O
      • MODx CMS
      • The Coding Pad
        • The Blog
        • Usluge
    • Kontaktirajte nas
    • Tutoriali
    • FAQ

    Kao što možete vidjeti, ovo izgleda vrlo slično našem početnom statičkom kodu sa nekoliko izuzetaka. Prvo, generiran je Wayfinder

    © 2024 ermake.ru -- O popravci računara - Informativni portal