Атрибуты элемента макета действия


Посмотрите на нижеприведенный макет, который взят из "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" в макете "действие" элемент?
Author: Mr_Green, 2013-09-12

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 не был переписан.

 6
Author: Fabian Blechschmidt, 2013-09-12 09:55:42