2013-01-16 10 views
7

Jestem nowy w ramach Yii. Pracowałem wcześniej nad drupalem, a tworzenie stron drupalowych nie jest trudne. Ale po prostu chcę wiedzieć, jak utworzyć motyw dla serwisu z frameworkiem Yii.Jak tworzyć motywy w ramce yii?

Przeszedłem przez wiele stron, ale nadal nie wiem od czego zacząć. Na przykład sprawdziłem http://www.yiiframework.com/doc/guide/1.1/en/topics.theming.

Teraz moje wątpliwości są:

  1. Gdzie zacząć tworzenia Yii tematów? Załóżmy, że chcę zmienić motyw drupal na Yii, Jak mogę to zrobić?
  2. Czy można mieć różne motywy dla różnych stron? Podobnie jak w drupalu za pomocą modułu themekey, możemy mieć wiele motywów dla różnych stron.

Będzie dobrze, jeśli ktokolwiek to wytłumaczy krok po kroku.

Odpowiedz

8

Możesz edytować układy (chronione/widoki/układy/..). Są to poglądy, które są świadczone wrapper wokół poszczególnych widoków świadczonych z render(), na przykład site/index wywołuje widok indeksu (znajdujący się w protected/views/index.php) używając:
$this->render("index");

Ty można zmienić układ na działanie przy użyciu:
$this->layout = "differentlayout";

można ustawić układ dla wszystkich działań w ramach kontrolera przy użyciu:
public $layout='//layouts/differentlayout';

Oczywiście każdy układ może mieć niestandardową strukturę i ładować różne pliki CSS i JS. Wiem, że to nie jest z wykorzystaniem motywów i theming ale jest zdecydowanie najczęstszym sposobem dostosowywania wyglądu projektu Yii

Oto kilka przydatnych linków dotyczących rozwoju Yii tematu:

+0

Eskimo: Dzięki za odpowiedź, Ale nie zrozumiałem cię wyraźnie. Czy chcesz powiedzieć, że folder widoku/layoutu powinien zostać skopiowany do folderu motywu. – Workonphp

+0

Nie ma problemu :) Nie, edytujesz go tam, gdzie znajduje się w strukturze katalogów. –

+0

W takim przypadku, jaki jest pożytek z tworzenia nowego folderu motywu w środku. Na przykład: 'themes/mythemeName/....' – Workonphp

2

zawsze można pobrać niektóre prostsze Yii Themes i zobacz, jak działają.

--iM

+1

Łącze jest zepsute. – mushfiq

+0

To zadziałało, gdy sprawdziłem ten link. –