Ghid complet (v2) theming - cadru Yii comunității ucrainene

Theming - o modalitate de a înlocui un set de vederi către alte persoane fără a fi nevoie să rescrie codul de care este mare pentru a schimba aspectul cererii.

Pentru a începe să utilizați theming, setați proprietatea tema a vizualizării componentei de aplicare. Configurația stabilește obiectul Yii \ de bază \ Tema. care este responsabil pentru modul în care este înlocuit cu afișarea fișierelor. În principal, este necesar să se stabilească următoarele proprietăți Yii \ de bază \ Tema:

  • Yii \ de bază \ Tema :: basePath. directorul de bază, care a postat un resurse tematice (CSS, JS, imagini, și așa mai departe).
  • Yii \ de bază \ Tema :: baseUrl. Adresa URL de bază pentru a accesa o resurse tematice.
  • Yii \ de bază \ Tema :: pathMap. reguli înlocui fișierele de vizualizare. Detalii sunt descrise în continuare.

De exemplu, dacă apelați $ this-> render ( 'despre'), în SiteController. se va folosi fișierul de mapare @ app / views / site-ul / about.php. Cu toate acestea, dacă activați theming așa cum este prezentat mai jos, va fi utilizată în loc @ app / teme / de bază / site / about.php.

Info: Atunci când configurați alias calea acceptată. La înlocuirea hărților acestea sunt transformate în calea reală la sistemul de fișiere sau o adresă URL.

Puteți referi la obiectul Yii \ de bază \ Tematica de Yii proprietate \ baza \ View :: tema. De exemplu, în fișierul de mapare, acesta va arăta astfel (vedere din obiect este disponibil ca $ acest lucru):

Proprietatea Yii \ de bază \ Tema :: pathMap determină modul în care fișierele sunt înlocuite cu reprezentări. Proprietatea are o serie de perechi cheie-valoare în cazul în care cheile sunt căi către fișierele originale pe care doriți să o înlocuiți, și valoarea - căi de fișiere relevante ale firelor. Înlocuirea se bazează pe suprapunerea: în cazul în care calea către prezentarea începe cu oricare dintre taste matrice pathMap. atunci partea corespunzătoare va fi înlocuită cu valoarea aceleiași matrice. Configurația de mai sus pentru @ app / opinii / site-ul / about.php se suprapune cu tasta @ app / punctele de vedere, și va fi înlocuit cu @ app / teme / de bază / site / about.php.

Module theming #

Pentru a modulelor tematice, Yii proprietate \ baza \ Tema :: pathMap poate fi configurat după cum urmează:

Acest lucru vă va permite să tema @ app / module / blog / opinii / comentarii / index.php la @ app / teme / de bază / module / blog / opinii / comentarii / index.php.

Theming de widget-uri #

Pentru a widget temă puteți personaliza Yii proprietate \ baza \ Tema :: pathMap urmează:

Acest lucru vă va permite să tema @ app / widget-uri / valută / opinii / index.php la @ app / teme / de bază / widget-uri / valută / index.php.

Moștenirea ordine #

Uneori ai nevoie pentru a crea o temă de bază, specificând forma generală a aplicației și apoi modificați vizualizarea în funcție de, de exemplu, sărbătoarea de astăzi. Acest lucru poate fi realizat prin intermediul moștenirii. În acest caz, o cale către fișierul este asociat cu mai multe căi de subiecte:

În acest caz, reprezentare @ app / opinii / site / index.php temiziruetsya sau @ app / teme / Crăciun / site / index.php. sau @ app / teme / de bază / site / index.php în funcție de care dintre acestea are fișierul dorit. Dacă fișierele sunt prezente aici și acolo, fostul este utilizat. În practică, cele mai multe la fișierele tematice vor fi plasate în @ app / teme / de bază. și versiunea lor de evenimente în @ app / teme / Crăciun.