Представление

Обсуждение документации. Переводы Cookbook и авторские рецепты.
Ответить
Аватара пользователя
bemulima
Сообщения: 207
Зарегистрирован: 2012.12.20, 09:41
Откуда: Курган

Представление

Сообщение bemulima »

Здравствуйте, прочитал Представление http://yiiframework.ru/doc/guide/ru/basics.view, если честно ничего не понимаю, вот например мне нужно к шапку в layouts/main.php добавить из бд номер телефона, чтоб номер телефона была видно везде. В доументации пишет : цитирую "Имя представления должно совпадать с названием файла представления. К примеру, для представления edit соответствующий файл скрипта должен называться edit.php." - и вот тут ничего не могу понять, что мне делать, куда где создавать файл для элементов?
Аватара пользователя
Nbuth
Сообщения: 7
Зарегистрирован: 2012.11.06, 00:39
Откуда: Москва

Re: Представление

Сообщение Nbuth »

protected/views/ControllerID/edit.php
где ControllerID - id контроллера, к примеру blog
советую для начала использовать gii http://yiiframework.ru/doc/guide/ru/topics.gii и посмотреть какие файлы и где создаются (может эта инструкция будет более понятна http://yiiframework.ru/doc/blog/ru/prototype.scaffold)
Аватара пользователя
bemulima
Сообщения: 207
Зарегистрирован: 2012.12.20, 09:41
Откуда: Курган

Re: Представление

Сообщение bemulima »

если например создам файл: protected/views/blog/blog.php ну и внутри вызвал CController::render() и написал
$this->render('edit', array(
'var1'=>$value1,
'var2'=>$value2,
));
и что $var1 и $var2 в main.php будет доступен?
Аватара пользователя
bemulima
Сообщения: 207
Зарегистрирован: 2012.12.20, 09:41
Откуда: Курган

Re: Представление

Сообщение bemulima »

Этот метод не сработал.
Аватара пользователя
Nbuth
Сообщения: 7
Зарегистрирован: 2012.11.06, 00:39
Откуда: Москва

Re: Представление

Сообщение Nbuth »

Да, эти переменные доступны в edit.php
Это был ответ на вопрос
В доументации пишет : цитирую "Имя представления должно совпадать с названием файла представления. К примеру, для представления edit соответствующий файл скрипта должен называться edit.php." - и вот тут ничего не могу понять, что мне делать, куда где создавать файл для элементов?
Если говорить о телефоне в шапке, то на мой взгляд надо использовать портлеты http://yiiframework.ru/doc/blog/ru/portlet.tags хотя может более опытные товарищи подскажут лучший вариант
Аватара пользователя
bemulima
Сообщения: 207
Зарегистрирован: 2012.12.20, 09:41
Откуда: Курган

Re: Представление

Сообщение bemulima »

Аха, только в edit.php доступно, а мне нужно чтоб глобально доступно была. Вот бляха муха вопрос а. Не думаю что с помощью тегов вытащить из БД номер телефона в виде тега))
Аватара пользователя
bemulima
Сообщения: 207
Зарегистрирован: 2012.12.20, 09:41
Откуда: Курган

Re: Представление

Сообщение bemulima »

Дааа, оказывается я не там копался. Решил таким образом, тупо в main.php выше всех написал так:

<?
$phone = Yii::app()->db->createCommand()
->select('title')
->from('contacts')
->where('tel=:tel', array(':tel'=>'tel'))
->queryRow();
?>

Может быть это не самый лучший вариант, но помог)
Аватара пользователя
Nbuth
Сообщения: 7
Зарегистрирован: 2012.11.06, 00:39
Откуда: Москва

Re: Представление

Сообщение Nbuth »

Можно вообще весь код там разместить и не мучаться )

Если "с помощью тегов вытащить из БД номер телефона в виде тега" то должно получиться что-то типа

Код: Выделить всё

Yii::import('zii.widgets.CPortlet');
 
class PhoneNumber extends CPortlet
{
    protected function renderContent()
    {
        $phone=Config::model()->getPhone(); // Допустим у нас модель называется Config 
        /* тут выводим телефон */
    }
} 
А Ваш код помещаем в модель config в метод getPhone
Аватара пользователя
bemulima
Сообщения: 207
Зарегистрирован: 2012.12.20, 09:41
Откуда: Курган

Re: Представление

Сообщение bemulima »

Явно ваша решение лучше чем мое)))
Ответить