Это псевдонимA
модуля . В данном случае это сокращение от (определяется, если вы хотите видеть).page
Mage_Page_Block
app/code/core/Mage/Page/etc/config.xml
Это B
имя класса относительно псевдонима, начальные буквы каждого слова пишутся с большой буквы. В этом случае html
становится Html
и добавляется к разрешенному псевдониму, так оно и есть Mage_Page_Block_Html
. Вероятно, это находится в файле, app/code/core/Mage/Page/Block/Html.php
потому что имена классов переводятся непосредственно в местоположения в Magento.
Если бы вы использовали псевдоним модели вместо псевдонима блока, тогда это page
было бы Mage_Page_Model
. То же самое происходит и с моделями ресурсов и помощниками. Ваш собственный модуль должен будет определить их в своей конфигурации, если он хочет иметь блоки, модели и помощники.
Чтобы лучше понять типы блоков Magento, ниже приведены некоторые встроенные типы блоков, которые широко используются в макете.
core/template
: Этот блок отображает шаблон, определенный егоtemplate
атрибутом. Большинство блоков, определенных в макете, относятся к типу или подтипуcore/template
.page/html
: Это подтипcore/template
и определяет корневой блок. Все остальные блоки являются дочерними блоками этого блока.page/html_head
: Определяет раздел заголовка HTML страницы, который содержит элементы для включения JavaScript, CSS и т. Д.page/html_header
: Определяет часть заголовка страницы, содержащую логотип сайта, основные ссылки и т. Д.page/template_links
: Этот блок используется для создания списка ссылок. Ссылки, видимые в области нижнего и верхнего колонтитула, используют этот тип блока.core/text_list
: Некоторые блоки типаcontent
,left
иright
т. Д. Относятся к типуcore/text_list
. Когда эти блоки визуализируются, все их дочерние блоки отображаются автоматически без необходимости вызыватьgetChildHtml()
метода.page/html_wrapper
: Этот блок используется для создания блока-оболочки, который отображает свои дочерние блоки внутри тега HTML, установленного действиемsetHtmlTagName
. Тег по умолчанию -<div>
если ни один элемент не установлен.page/html_breadcrumbs
: Этот блок определяет хлебные крошки на странице.page/html_footer
: Определяет область нижнего колонтитула страницы, которая содержит ссылки нижнего колонтитула, сообщение об авторских правах и т. Д.core/messages
: Этот блок отображает сообщения об ошибках / успехах / уведомлениях.page/switch
: Этот блок можно использовать для переключения языка или магазина.Это список только часто используемых типов блоков. Есть много других типов блоков, которые используются в расширенных реализациях тем.
источник
page - это имя FrontendName, определенное в
etc/config.xml
файле html - это имя класса блокаподробнее:
в этой строке
type(type="page/html")
определите имя класса блока, связанного с вашимtemplate(template="example/view.phtml">)
и имя является уникальным для каждого блока.сначала посмотрите структуру папок
мы устанавливаем
FrontendName = 'mymodule'
в hello.php вы создали функцию
и теперь перейдите на страницу вашего макета xml:
<block type="mymodule/data" name="xyz" template="example/view.phtml">
здесь mydata - это имя внешнего интерфейсаа теперь перейдите к вашему шаблону
здесь вы можете напрямую вызвать функцию mydata ()
лайк
теперь вы можете получить свой вывод в браузере "Блок называется"
источник
Нет, ты не ошибся. Но это
"<!-- script -->"
может сбивать с толку. Давайте уточнить: как указано в приведенных выше ответах, это псевдоним, который состоит из двух частей, первая часть («A») сама по себе является псевдонимом, который вы определяете для классов вашего модуля в своем модулеconfig.xml
, вторая - это путь относительно значение узла. Они вместе («A» + заглавная буква «B») будут преобразованы в имя класса с использованием первой части (значение узла «A») точно так, как вы ее определили (обратите внимание на верхний / нижний регистр, если вам не нужны часы. страдания), а вторая часть начинается с заглавной буквы после каждого подчеркивания. Итак, начнем с примера A / B с блоком и этой конфигурацией:Во время исполнения
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()
.источник
Я не знаю о типе "B", но "A" относится к тегу имени вашего модуля в config.xml.
Пример в файле config.xml:
nb: надеюсь, я не ошибаюсь ..
источник