Во-первых, вы должны вернуть весь вывод, а не выводить его напрямую.
Из документов Zend_View_Helper :
Как правило, класс не должен выводить эхо, печатать или иным образом генерировать вывод. Вместо этого он должен возвращать значения, которые будут напечатаны или отражены. Возвращаемые значения должны быть экранированы соответствующим образом.
Когда вы вызываете $this->commonArea()
из представления, он загрузит класс CommonArea, а затем вызовет соответствующий метод. Поэтому вызов $this->addBox()
будет искать класс AddBox - он не будет знать, что вы ожидаете, что он будет частью плагина CommonArea.
Если вы хотите вызывать несколько методов из одного и того же плагина, попросите соответствующий метод вернуть экземпляр плагина:
public function commonArea(){
return $this;
}
Затем вызовите методы, подобные этим:
$this->commonArea()->addBox();
$this->commonArea()->display(); //assuming you renamed the original method to 'display'
Вы можете посмотреть помощник по навигации или помощник-заполнитель , чтобы увидеть этот шаблон.