Атрибуты элемента макета действия
Посмотрите на нижеприведенный макет, который взят из "base/default/layout/contacts.xml ".
<default>
<reference name="footer_links">
<action method="addLink" translate="label title" module="contacts" ifconfig="contacts/contacts/enabled">
<label>Contact Us</label>
<url>contacts</url>
<title>Contact Us</title>
<prepare>true</prepare>
</action>
</reference>
</default>
Что я понимаю из приведенного выше макета: ( пожалуйста, дайте мне знать, если я в чем-то ошибаюсь)
- Блоки будут добавлены в дескриптор макета " по умолчанию".
-
Ссылаются на блок "ссылки в нижнем колонтитуле", который находится в "page.xml"
<block type="page/template_links" name="footer_links" as="footer_links" template="page/template/links.phtml"/>
- "Ссылки в нижнем колонтитуле" имеют тип : "страница/ссылки на шаблоны", которая вызывает класс "mage_page_block_template_links".
- Элемент макета "действие" вызывает метод Addlink из класса "mage_page_block_template_links".
- Атрибут "перевести " используется для изменений, связанных с языком.
Что я хочу понять, так это:
- Для чего используются атрибуты "модуль " и "ifconfig" в макете "действие" элемент?
1 answers
module
определяет модуль, который используется для перевода, например Mage::helper(<module>)->__(<label>|<title>)
.
В Magento есть разные файлы и модули для перевода, в сети есть много документации, и здесь на magento.se .
И ifconfig
проверяет наличие параметра конфигурации, если это верно, вызывается метод.
Таким образом, addLink
вызывается только в том случае, если Mage::getStoreConfig('contacts/contacts/enabled')
принимает значение true. Этот параметр конфигурации задан в бэкэнде, я думаю, в разделе Система > Конфигурация>??? > Свяжитесь с нами (?). Взгляните на это:-)
И чтобы расширить ваше заявление:
- Элемент макета
action
вызывает методaddLink
из класса "mage_page_block_template_links".
Правильно - если page/template_links
не был переписан.