Yii Framework Forum: layout и переменные - Yii Framework Forum

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

layout и переменные Rate Topic: -----

#1 User is offline   xomaa 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 82
  • Joined: 17-January 09

Posted 20 April 2009 - 04:56 AM

Доброго дня!!!

Вопрос такой! Каким образом передать переменную в layout??? Поясню....я пишу блог...у каждой странички есть description и keywords - я их вынес в лайоут....каким образом мне их можно заполнить значениями...????
0

#2 User is offline   xomaa 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 82
  • Joined: 17-January 09

Posted 20 April 2009 - 05:05 AM

можно конечно вынести эти переменные в контроллер...как сделан pageTitle например....но может есть другой способ???
0

#3 User is offline   rosko 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 211
  • Joined: 04-January 09
  • Location:Kiev, Ukraine

Posted 20 April 2009 - 05:33 AM

имхо иначе никак: выноси их в контроллер, который будет предком для всех твоих рабочих контроллеров.


А заполнять можно и во view-файлах:

0

#4 User is offline   xomaa 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 82
  • Joined: 17-January 09

Posted 20 April 2009 - 06:11 AM

сейчас примерно так же у меня и работает...только для меня удобней заполнять эти значения в контроллере.... ;)

Спасибо!
0

#5 User is offline   creocoder 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 199
  • Joined: 09-March 09
  • Location:*.php

Posted 20 April 2009 - 01:16 PM

Как вариант можно попробовать подключить сторонний шаблонизатор, например dwoo, который тоже поддерживает layout и может передавать туда переменные из дочернего шаблона.
0

#6 User is offline   rosko 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 211
  • Joined: 04-January 09
  • Location:Kiev, Ukraine

Posted 20 April 2009 - 01:46 PM

xomaa, так ведь кажется можно и контроллере заполнять. Писать точно также:

0

#7 User is offline   xomaa 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 82
  • Joined: 17-January 09

Posted 20 April 2009 - 11:38 PM

а я именно так и делаю!
0

#8 User is offline   Rsol 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 122
  • Joined: 29-May 09
  • Location:Severodonetsk [UA]

Posted 12 June 2009 - 04:08 AM

Quote

можно конечно вынести эти переменные в контроллер...как сделан pageTitle например....но может есть другой способ???


Я сделал так:
1. в контроллере:
	public function filters()
{
return array(
'accessControl',
array('application.filters.HeadFilter + show, list',),
);
}


2. создал фильтр:

class HeadFilter extends CFilter
{
    protected function preFilter($filterChain)
    {
$controller=Yii::app()->controller;
$action=$controller->action;
if ($controller->id === 'site_content') {
$model = site_content::model()->findByPk($_GET['id']);
$controller->pageTitle = $model->title' '.Yii::app()->name;

Yii::app()->params['description'] = strip_tags(substr($model->content,0,500));
}
if ($controller->id === 'news') {
if ($action->id === 'show') {
$model = news::model()->findByPk($_GET['id']);
$controller->pageTitle = $model->title' '.Yii::app()->name;

Yii::app()->params['description'] = strip_tags(substr($model->content,0,500));
} else {
$controller->pageTitle = 'Все новости. '.Yii::app()->name;
}
}
return true;
    }
}

0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users