2013-08-13 2 views
1

У меня есть действие, которое устанавливает переменную вида, называемую "категориями", как показано ниже.Как остановить переменные вида от переопределения в Zend Framwork?

class CategoryController extends Zend_Controller_Action 
{ 
    public function indexAction() 
    {  
      $this->view->categories = 'A list of categories'; 
    } 
} 

Теперь переменная категорий используется внутри макета для отображения списка категорий.

Но проблема здесь в этом, у меня есть множество других действий, которые вызываются с помощью плагинов переднего контроллера, а переменная «категории» перезаписывается одним из действий.

Есть ли способ предотвратить переписывание значения переменной категорий? То есть Используя что-то, я мог бы сохранить переменную категорий, сгенерированную действием категории-> index и другими действиями, и получить доступ как в моем макете.

Я всегда могу изменить имя моих переменных, но все равно был бы признателен, если есть какое-либо другое решение.

Кроме того, могу ли я достичь этого с помощью названных сегментов ответа?

Благодарим за помощь.

+0

вы могли бы быть в состоянии предоставить Zend_Layout с другим объектом зрения то присвоенной в вид визуализатора – Orangepill

ответ

1

Возможно, вы добавите обнаружение при других действиях при установке значения и прямое значение индекса действия индекса.

другие действия,

if(!isset($this->view->categories))$this->view->categories='xxx'; 

category-> Индекс действия

$this->view->categories = 'A list of categories'; 
Смежные вопросы