Установить View Script в плагин - Проверить, если существует? - PullRequest
1 голос
/ 05 декабря 2011

Я разрабатываю многоязычный сайт.

Некоторые языки используют макеты справа налево, а некоторые слева направо.

Так что некоторые из моих скриптов вида имеют другойСкрипт представления RTL, который я хочу загрузить автоматически.

Я написал плагин, который проверяет, является ли пользователь RTL, и если да, он добавляет «.rtl» к суффиксу файла: Zend_Controller_Action_HelperBroker :: getExistingHelper ('ViewRenderer') -> setViewSuffix (' rtl.phtml ');

проблема в том, что не все мои скрипты вида имеют скрипт представления rtl, поэтому я хочу проверить, существует ли файл ....

проблема в том, что если я сделаю в своем контроллере $ this-> render ('someScript'), то у меня не будет возможности проверить, существует ли скрипт .rtl ... насколько я знаю.

Вкратце: есть ли способ (событие) подключиться после завершения действия, но до его рендеринга?

Может быть, мне стоит написать средство визуализации с настраиваемым представлением?

Спасибо.

1 Ответ

0 голосов
/ 07 января 2012

Если проверка RTL может произойти только после выполнения действия, вы можете создать помощник действий, который использует хук postDispatch для установки viewSuffix через ViewRenderer и получения пути к сценарию представления. Используя view scriptPath и viewRenderer getViewScript (), вы можете создать абсолютный путь к файлу. Однако это не очень красивый способ достижения ваших целей.

Это может быть идея создать два scriptPaths, один для LTR и другой для RTL. Когда пользователь использует язык RTL, вы можете добавить RTL scriptPath в представление стека scriptPath. Таким образом, Zend_View сначала проверит каталог RTL и использует каталог LTR в качестве запасного варианта.

...