пятница, 23 декабря 2011 г.

Вёрстка в yii. Резиновый сайт.

Мне уже порядком наскучил унылый вид моего каталога надо что то уже делать с внешним видом. Как оказалось, это не так просто.

Сначала надо разобраться, как вообще работают представления в yii. Предстоит изучить что такое layout, views и всякие команды типа $this->beginContent('//layouts/main'), public $layout='//layouts/column1' и еще найти, где хранятся css файлы для виджетов zii.

Я попытаюсь сделать из своего стандартно сгенерированного сайта «резиновый», то есть тянущийся. Верстка будет вдухколоночной для админской части, и трехколоночной для пользовательской. Пользователю добавится колонка с банерами :)

Сейчас во всех моих контроллерах определено
public $layout='//layouts/column2';
Значит, что любое представление моих контроллеров (index, create, update view и прочих) отображается в Z:\home\catalog.loc\www\protected\views\layouts\column2.php
В том месте, где стоит вывод
<?php echo $content; ?>

То есть при отображении используется лайоут-представление из файла Z:\home\catalog.loc\www\protected\views\layouts\column2.php
В самом файле Z:\home\catalog.loc\www\protected\views\layouts\column2.php имеется
<?php $this->beginContent('//layouts/main'); ?>

То есть вовод того что должо быть в Z:\home\catalog.loc\www\protected\views\layouts\column2.php будет отображено в представлении Z:\home\catalog.loc\www\protected\views\layouts\main.php на месте
<?php echo $content; ?>

Получается такой двойной (или тройной?) гамбургер:




Значит, чтобы сделать три колонки надо создать файл Z:\home\catalog.loc\www\protected\views\layouts\column3.php по аналогии сделать там три колонки, а в нужном контроллере прописать
public $layout='//layouts/column3';
Но это теория, на практике сделаю чуть позже.
Прололжение следует

2 комментария:

  1. ты что смеешься над посетителями своего сайта?

    ОтветитьУдалить
  2. http://des1roer.blogspot.ru/2015/03/yii-yii-for-dummies.html

    ОтветитьУдалить