Zend_View_Helper_Url
, называется App_View_Helper_Url
,APPPLICATION_PATH/library/App/View/Helper/Url.php
resources.view.helperPath.App_View_Helper = APPLICATION_PATH "/library/App/View/Helper"
Это работает. В моих представлениях теперь вызывается пользовательский помощник URL. Однако в представлениях шаблонов дополнительное пространство имен, похоже, не закрепляется. Я подтвердил это, запустив этот фрагмент: <?php var_dump(get_class($this->getHelper('url'))); ?>
App_View_Helper_Url
Zend_View_Helper_Url
Я попытался решить эту проблему, явно установив представление Layout для загружаемого ресурса View — это не сработало.
$this->getResource('layout')->setView($this->getResource('view'));
В конце я исправил это, выполнив следующие действия в Bootstrap:
$view = $layout->getView();
$view->addHelperPath(APPLICATION_PATH . '/library/App/View/Helper', 'App_View_Helper');
Это решение не очень удовлетворительное, так как я сейчас определяю один и тот же вспомогательный путь дважды, что приводит к потенциальной поломке по линии. Поэтому, пока у меня есть обходной путь, я бы предпочел понять, как / где правильно настроить экземпляр Zend_View, используемый Zend_Layout, предпочтительно через application.ini.
Задача ещё не решена.
Других решений пока нет …