Există două modalități de configurare a pluginului: utilizarea formularelor în interfața administrativă și utilizarea fișierelor de configurare. Formularele oferă mai multe oportunități, dar aplicarea acestora necesită cunoștințe speciale. Prin urmare, în stadiul inițial de dezvoltare este mai bine să utilizați fișierele cu setări.
Configurarea bazei de date
Puteți crea modele pentru stocarea setărilor în baza de date prin implementarea comportamentului SettingsModel în clasa de modele. Acest model poate fi, de asemenea, utilizat pentru a crea formulare cu setări în partea administrativă a site-ului. Nu este nevoie să creați tabele în baza de date și controlere pentru crearea formularelor.
O clasă cu setări de model ar trebui să extindă clasa Model și să implementeze comportamentul System.Behavior.SettingsModel. Modelele cu setări, precum și alte modele, ar trebui să fie în subfolderul modelelor plugin. Modelul din exemplul următor ar trebui să fie în modulele plugins / acme / demo / models / Settings.php.
Proprietatea $ settingsCode este necesară pentru modelul de configurare. Acesta conține o cheie unică care este utilizată pentru salvarea setărilor în baza de date.
Proprietatea $ settingsFields este, de asemenea, obligatorie dacă doriți să adăugați un formular cu setări utilizând acest model. Proprietatea conține numele fișierului YAML în care este localizată descrierea câmpurilor. Acest fișier trebuie să fie într-un dosar al cărui nume coincide cu numele clasei de model. Pentru exemplul anterior, structura folderului ar trebui să arate astfel:
Modelele cu setări pot fi înregistrate în fișierul de înregistrare al plug-in-ului. Că au apărut pe pagina cu setările, dar nu este necesar. Puteți seta și obține valori la fel ca în orice alte modele.
Scrieți modelului cu setări
Modelul cu setările are o metodă statică setată. care vă permite să salvați valori individuale sau multiple. De asemenea, puteți utiliza funcțiile standard ale modelului pentru a scrie proprietățile modelului și a salva modelul în sine. exemplu:
Citirea dintr-un model cu setări
Modelul de configurare are o metodă de obținere statică. care vă permite să obțineți valori individuale. În plus, atunci când creați o instanță a unei clase de model folosind metoda instanței. Puteți obține în mod direct valori din baza de date.
Pagini cu setări
În partea administrativă a site-ului există o secțiune specială cu setări și configurații. Acesta poate fi accesat făcând clic pe linkul Setări din meniul principal. Această pagină conține o listă de link-uri de pe pagina cu setări care sunt înregistrate de sistem sau pluginuri.
Adăugarea unui link către o pagină cu setări în meniu
Lista de link-uri către paginile de setări poate fi modificată utilizând metoda registerSettings din clasa de înregistrare a plugin-urilor. Când adăugați un link nou, aveți două moduri: să creați un link către o anumită pagină sau la o pagină cu un model. Următorul exemplu arată modul de creare a unui link către o pagină:
Notă: paginile de setări trebuie să specifice contextul pentru a marca elementul corespunzător din meniu. Pentru model, contextul este determinat automat.
Următorul exemplu arată cum se creează o referință la un model cu setări.
Parametrul cuvintelor cheie arbitrar este utilizat pentru căutare. Dacă nu este specificat, atunci căutarea va fi efectuată pe etichetă și descriere.
Setarea contextului
La fel ca în controler. Pagina de setări trebuie să specifice contextul. Acest lucru este necesar pentru a găsi elementul de meniu curent și a îl face activ. Acest lucru se face, de obicei, în proiectantul de controler:
Primul argument pentru metoda setContext este author.plugin. Apoi este cheia pe care ați specificat-o în metoda registerSettings.
Fișier de configurare
Plugin-urile pot conține fișierul de configurare config.php în subfolderul config. Exemplu de conținut al fișierului:
Utilizați clasa Config pentru a accesa valorile definite în fișierul de configurare. Metoda Config :: get ($ name, $ default = null) ia primul parametru ca nume în formatul următor: Acme.Demo :: maxItems. Al doilea parametru specifică valoarea implicită pentru returnare dacă parametrul de configurare nu există. exemplu:
Acum că APP_ENV este producție. maxItems va fi 25.