Чтобы добавить CSS-файл из контроллера после загрузки макета, но перед рендерингом макета, вы должны сделать что-то вроде:
public function indexAction() {
$this->loadLayout();
$head = Mage::app()->getLayout()->getBlock('head');
$head->addItem('skin_css', 'css/additional.css');
$this->renderLayout();
}
Проблема свыполнение этого в файле шаблона заключается в том, что весьма вероятно, что шаблон head
уже отрисован, и поэтому дополнительные директивы, которые вы передаете экземпляру блока, бесполезны, потому что они слишком поздние.
Просто используйтефайл макета и выполните следующие действия:
<?xml version="1.0">
<layout>
<default>
<reference name="head">
<action method="addItem"><type>skin_css</type><file>css/additional.css</file></action>
</reference>
</default>
</layout>