Понимание блока и типа блока Magento


Answers

Для получения дополнительной информации о типах блоков magento следуют некоторые встроенные типы блоков, которые широко используются в макете.

  1. core/template : этот блок отображает шаблон, определенный его атрибутом template . Большинство блоков, определенных в макете, имеют тип или подтип core/template .
  2. page/html : Это подтип core/template и определяет корневой блок. Все остальные блоки являются дочерними блоками этого блока.
  3. page/html_head : определяет раздел page/html_head HTML на странице, содержащий элементы для включения JavaScript, CSS и т. д.
  4. page/html_header : определяет заголовочную часть страницы, содержащую логотип сайта, верхние ссылки и т. д.
  5. page/template_links : этот блок используется для создания списка ссылок. Ссылки, видимые в нижнем колонтитуле и области заголовка, используют этот тип блока.
  6. core/text_list : некоторые блоки, такие как content , left , right и т. д., имеют тип core/text_list . Когда эти блоки визуализируются, все их дочерние блоки визуализируются автоматически без необходимости вызова метода getChildHtml() .
  7. page/html_wrapper : этот блок используется для создания блока-оболочки, который отображает дочерние блоки внутри HTML-тега, установленного в действие setHtmlTagName . Тег по умолчанию <div> если элемент не задан.
  8. page/html_breadcrumbs : Этот блок определяет сухари на странице.
  9. page/html_footer : Определяет область page/html_footer колонтитула страницы, которая содержит ссылки page/html_footer колонтитула, сообщения об авторских правах и т. д.
  10. core/messages : этот блок отображает сообщения об ошибках / успехах / уведомлениях.
  11. page/switch : Этот блок может использоваться для переключателя языка или магазина.

Это список только используемых типов блоков. Существует много других типов блоков, которые используются в расширенных реализациях тем.

Question

Я просто хочу понять значение

 <block type="page/html" name="root" output="toHtml" template="example/view.phtml">

Я получил много ссылок от Google и многое понял об этом, но я все еще не могу понять формирование type="page/html" как сформировать тип для моего настраиваемого модуля.

Пожалуйста, объясни

type="A/B"

Дайте мне знать, откуда взялись эти A и B?




я не знаю о типах «B», но «A» ссылается на ваш тег имени модуля в файле config.xml в файле config.xml:

<A><!-- script --></A>

Нет, ты не ошибаешься. Но "<!-- script -->" может быть запутанным. Давайте поясним: как было сказано выше, это псевдоним, состоящий из двух частей: первая часть («А») - это псевдоним, который вы определяете для классов вашего модуля в config.xml вашего модуля, второй - путь относительно значения узла. Они вместе («A» + капитализированный «B») будут переведены на имя класса, используя первую часть (значение узла «A») точно так же, как вы ее определяете (смотрите верхний / нижний регистр, если вы не хотите часов страдания), а вторая часть капитализируется после каждого подчеркивания. Итак, начните с примера A / B с помощью блока и этой конфигурации:

<config>
  ...
  <global>
    <blocks>
      <A>Vendor_Module_Block</A>
    </blocks>
  </global>
  ...
</config>

Во время выполнения A/B разрешено конфигурацией Magento для Vendor_Module_Block_B которая затем включается автозагрузкой по следующему пути: public/app/local/Vendor/Module/Block/B.php . Чтобы лучше понять, я советую вам взглянуть на Mage_Core_Model_Config::getGroupedClassName() , Mage_Core_Model_Config::getModelInstance() и Varien_Autoload::autoload() .






Related