2008-11-16 2 views
4

Я наткнулся на случай, когда в зависимости от пути выполнения мне может потребоваться включить файл .js с контроллера. Есть ли хороший способ сделать это? (помимо установки некоторой переменной представления с фактическим кодом .js include)?Динамически включать .js файлы из Zend_Controller_Action?

ответ

8

Просмотреть представление helper headScript(). Я просто пишу это с верхней части моей головы, но я думаю, что это работает так:

Изнутри просмотра файла: $this->headScript()->appendFile('filename.js');

Изнутри контроллера: $this->view->headScript()->appendFile('filename.js');

А потом где-то в вашем раскладка вам нужно повторить свой headScript объект:

<?=$this->headScript();?>

+0

Хотя это правильный ответ, как вы справляетесь с ситуациями, когда у вас есть набор JS-файлов, которые предварительно Reqs для т он весь сайт, плюс эти одноразовые, которые должны быть включены на определенные страницы контроллера? Я вижу, что добавление здесь приводит к появлению их перед тем, как загружается «основной» набор ...? – Rimer 2011-05-31 17:19:02

0

Несомненно, вы могли бы сделать, как описано @Bill Karwin.

Но если вы хотите сделать это действительно красиво, вам нужно наследование шаблона - например, оно реализовано в Django framework для Python. Также есть расширения для Zend Framework, посмотрите на Calypso.

Смежные вопросы