2013-06-24 2 views
1

У меня есть собственный модуль в System-> Configuration и вы хотите добавить js и css-файлы для него. Теперь это так:Magento - добавьте файлы для настраиваемого модуля в конфигурации системы

<layout version="0.1.0"> 
    <default> 
     <reference name="head"> 
      <action method="addItem"><type>js_css</type><name>prototype/windows/themes/default.css</name></action> 
      <action method="addCss"><name>mymodule.css</name></action> 
     </reference> 
    </default> 
</layout> 

Таким образом файлы на всех страницах администратора. Что делать, чтобы добавлять эти файлы только к одной странице, поэтому пишите не по умолчанию, а mymodule_admin или smth?

ответ

4

По умолчанию вы можете использовать дескриптор adminhtml_system_config_edit, это позволит вам добавлять файлы JS/CSS только на страницы конфигурации системы, так как Magento не предоставляет более мелкие макеты для этих страниц.

Но если вам действительно нужно, чтобы добавить свои стили в форме конфигурации системы, то вы можете либо:

  • добавить наблюдатель событий на controller_action_layout_load_before, чтобы добавить свой собственный дескриптор раскладки, когда действие adminhtml_system_config_edit, и когда Mage::getSingleton('adminhtml/config_data')->getSection() находится соответствующий раздел конфигурации

  • добавить наблюдатель событий на controller_action_layout_render_before_adminhtml_system_config_edit, которые будут непосредственно добавлять JS/файлы CSS в head блока, когда Mage::getSingleton('adminhtml/config_data')->getSection() также correspo nding