Я хочу выполнить некоторый код прямо перед визуализацией макета, после выполнения всего другого кода. Где я могу поставить этот код?Zend Framework - последний код для выполнения перед составлением макета
Я специально пытаюсь изменить файлы, упомянутые в помощниках headLink, headScript и inlineScript, прежде чем они будут использованы макетом.
Вот шаги, которые я хочу взять:
- Loop над файлами в этом просмотре хелперах
- Составьте список локальных файлов
- Удалить локальные файлы из видовых хелперов
- Ссылка на список локальных файлов в качестве параметра на серверный скрипт, который объединяет их для одного HTTP-запроса.
- Добавьте ссылку на новый скрипт компилятора на соответствующий помощник вида
Это не кажется, что Front Controller Plugin собирается помочь мне сделать это, и вот почему:
postDispatch()
запускается на выполнение после каждого действия контроллера, который выполнен, и мне нужен полный список таблиц стилей/JavaScriptsdispatchLoopShutdown()
запускается на выполнение после цикла действия контроллера, но расположение уже оказываемых в этой точке
Как предложил Руфинус, я решил это, распространив пояснителей. My question from that angle as well as the solution is here.
вы Знаете, вы можете modfiy голову * в вашем контроле действий? например $ This-> view-> headScript() -> appendFile ('/ JS/whatever.js'); – Rufinus
Да, я использую эту функцию. Я обновил свой пост, чтобы быть более конкретным. – Sonny
ok теперь я знаю, что вы делаете. мое лучшее предложение заключается в расширении помощников вида. задействованный помощник вида, используя помощник представления контейнера-заполнителя. расширяя эти классы, вы должны делать то, что хотите. (но, честно говоря, я не вижу в этом большой пользы, было бы лучше, если бы вы использовали небольшой невесомый http-демон, такой как lighttpd, чтобы обслуживать только эти статические файлы. – Rufinus