Aliasul este de obicei determinat de către utilizatorul însuși atunci când creați linkul din meniu, dar trebuie să vă asigurați că sunt îndeplinite cerințele de mai sus pentru adrese URL securizate. Cel mai simplu mod de a face acest lucru este să utilizați metoda Jtable :: check (). Iată cum arată în exemplu:
Dacă câmpul sau aliasul gol alias nu este o adresă sigură, atunci antetul va fi utilizat ca alias.
melc
În continuarea exemplului, "slug" - "1-welcome-to-joomla" are două părți.
Prima parte este faptul că acesta este idul articolului, iar al doilea este un alias. Ele sunt separate printr-o cratimă.
Aceste două elemente sunt combinate în model atunci când se interoghează baza de date:
După acest pas, butonul este folosit în loc de id.
Metoda JRoute :: _ () traduce legăturile noastre Joomla în legături de orice fel. JRoute are trei parametri (pe js și php unul și același):
$ url este un șir care conține o referință absolută sau relativă în interiorul lui joomla.
$ xhtml este o valoare booleană care indică dacă rezultatul ar trebui să fie în XHTML. Acest parametru este opțional
$ ssl este un număr întreg care indică dacă URI trebuie să fie criptat. 1 înseamnă că URI este protejat la nivel global, 0 este starea standard atunci când a fost primit și -1 este pentru URI ca fiind nesigur.
Parametrul cel mai important este $ url. Metoda funcționează astfel:
$ row-> slug este valoarea generată în pasul 2, care combină id-ul și antetul aliasului.
Un alt avantaj al lui Jroute este că ruterul procesează opțiunea $ (nume de componentă) și $ Itemid (identificator de meniu). Acum, linkul nu are nevoie de opțiunea $ și $ Itemid, spre deosebire de versiunile anterioare ale Joomla.
Este important să înțelegeți parametrii în acest stadiu. Vom merge mai departe la router.php.
Procesul de construire a unui JRouter constă în două etape:
- Creați un traducător de rută
În aplicații, ruta este complet ocupată de JRouter, iar dezvoltatorul de componente nu are nevoie să facă nimic pentru a-l face să funcționeze. - Creați un handler de rută component
Pentru a crea un traseu component, JRouter caută fișierul router.php din directorul component. Fișierul router.php este responsabil pentru crearea link-urilor pentru componentă.
router.php
Un exemplu simplu:
Acest exemplu simplu vă va arăta elementele de bază ale funcționării routerului în componenta dvs.
JRouter transmite o matrice de interogare $ la funcția [Componentname] a BuildRoute. Această funcție va adăuga părțile corespunzătoare în matricea de segmente $ în ordinea corectă. Valorile cererii $ query interogare trebuie dezactivate, altfel JRouter o va adăuga la adresa URL.
Următoarea funcție în parser URL parser router.php:
Ce se întâmplă aici? În funcția [Componentname] BuildRoute, am organizat elementele din matricea de interogări $ într-o anumită secvență. Acest lucru înseamnă că în acest exemplu, Vederea merge mai întâi, al doilea catid și al treilea.
Citind $ segmente [0], avem acces la Vid. Am ales vizualizarea corectă, în funcție de valoarea id, și am returnat matricea $ vars către Jrouter.
Rețineți că nu am adăugat numele matricei Vizualizați în segmente de $. Suntem încă dezactivați ca chei, pentru că în caz contrar, JRouter l-ar adăuga la adresa URL ca parte a șirului de interogare. Un alt lucru nou aici este un parametru suplimentar de catid pe care îl facem clic pe segmentele $ ale matricei.
Încă dezactivați variabila $ query ['view'] pentru ao elimina din adresa URL.
Un alt lucru nou aici, este parametrul opțional catid, pe care îl trecem la matricea de segmente $.
În această funcție ParseRoute există multe părți diferite ale codului în comparație cu cea anterioară. Motivul pentru aceasta este simplu. Nu avem un nume de vizualizare în matricea de segmente de $ și trebuie să găsim un alt mod de ao transfera.
Trebuie să aflăm ce nivel de ierarhie luăm ca element rădăcină. Facem acest lucru privindu-ne numele speciei în numele meniului activ:
În plus, trebuie să cunoaștem numărul elementelor din matricea de $ segmente: $ count = count (segmente de $); Cu aceste informații, putem stabili corect ierarhia în toate cele trei cazuri posibile.
În final, avem o legătura umană lizibilă.
Procesarea parametrilor extensiei Joomla
Atunci când dezvoltați extensii pentru Joomla CMS, cum ar fi plug-in-uri, module, componente sau șabloane, devine adesea necesară obținerea parametrilor unei extensii dezvoltate sau a oricărei alte extensii. În asta.
Modelul Kunena se prăbușește
1. În folderul \ components \ com_kunena \ template \ your_pattern \, găsim fișierul template.xml și inserați o piesă (astfel încât să puteți selecta dacă doriți să afișați acest câmp sau nu):