User Code List
PHP
---New Snippet
---New Snippet
---Symfony
------Tworzenie projektu
---------New Snippet
------Doctrine zamiast Propel
------często używane itp
---SVN
------SVN tortoise-nowy proj
------New Snippet
------Z tutoriala jobeet
---Yii
------1. Szkielet aplikacji
------2. Yiic na skróty
------3. Ustawienia bazy danych
------4. Scaffolding, CRUD, model tabeli db
------5. Uwierzytalenianie
------6. Model, rules()
------7. Model, safeAttributes()
------8. Model, relations()
------9. Kontroler, kontrola dostępu
------10. Model, zapisywanie, pobieranie elementów
------11. Formularze, budowa, przetwarzanie
------12. Szablony, widoki, partiale
------13. Themes, layouts
------ 5.1. Tworzenie widgetu logowania
------14. Ściąga, często używane itp cz.1
------15. Jak wykonać stronicowanie danych (pager)
------16. AJAX, aktualizowanie tresci po kliknieciu w button
---------New Snippet
------17. AJAX, aktualizowanie tresci po kliknieciu w cokolwiek
---------New Snippet
------18. Przetwrzanie danych z formularzy
------18. AJAX w AJAX, budowanie linków itp
---Konwersja systemu kodowania na inny
Apache
---Wirtualny host dla projektu
New Snippet
---New Snippet
JS
---Podświetlanie kontenera pola input
 
 
13. Themes, layouts
 

Themes, layouts - konfiguracja i ustawianie

Themes

Themy aplikacji przechowywane są w katalogu: WebRoot/themes.

Nazwa danego tematu jest jednocześnie nazwą katalogu w którym się znajduje np: WebRoot/themes/classic.

Każdy theme reprezentowany jest przez katalog zawierający:

- katalog z plikami widoków poczszególnych kontrolerów WebRoot/themes/classic/views;

- katalog z plikami układów (layouts) WebRoot/themes/classic/layouts;

- katalogi innych zasobów takich jak Css, JavaScript, obrazki np: WebRoot/themes/classic/css.

Jeżeli ustawiny aplikację tak, aby korzystała z jakiegoś thema, wówczas pliki widoków i układów z katalogu /protected/views nie będą potrzebne i używane przez aplikację.

Po utworzeniu odpowiedniej struktury katalogów naszego thema i utworzeniu wszystkich potrzebnych plików widoków i układów konfigurujemy aplikację tak aby zaczęła korzystac z danego thema.

Aby to zrobić w pliku konfiguracyjnym aplikacji (/protected/config/main.php) dodajemy wartość 'theme'=>'classic', gdzie classic to nazwa thema (katalogu w którym znajduje się theme).

Layouts

Każdy widok dla konkretnej akcji kontrolera jest osadzany w pliku układu (layout).

Układ jest specjalnym widokiem, który jest używany do dekorowania widoku. Zazwyczaj zawiera porcję interfejsu użytkownika, która jest wspólna dla różnych widoków. Na przykład, widok może zawierać część nagłówkową i stopkę oraz osadzać zawartość widoku pomiędzy nimi.

Standardowym plikiem układu dla każdego widoku jest plik WebRoot/themes/classic/views/layouts/main.php

Aby zmienić plik układu dla wszystkich akcji kontrolera musimy ustawić odpowiednią wartość zmiennej publicznej $layout danego kontrolera.

Przykład:

class PostController extends CController

{

public $defaultAction='list';

...

public $layout = "nowy";

...

}

Wszystkie widoki tego kontrolera będą osadzone w układzie nowy.php.

Osadzenie zawartości widoku w pliku układu odbywa się poprzez wyświetlenie zmiennej $content:

<?php echo $content; ?>

 
Sub-Article List