Magento - определить, какой XML-файл макета используется на странице? - PullRequest
3 голосов
/ 08 января 2011

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

В каталоге app/design/frontend/default/modern/layout я вижу много xml-файлов. Как определить, какой XML-файл использует данная страница на сайте?

Например, если бы я был на домашней странице по адресу http://mysite.com, какой XML-файл макета я использую? Что если я нахожусь на http://mysite.com/hello-world, какой XML-файл тогда?

Ответы [ 2 ]

7 голосов
/ 08 января 2011

Версия высокого уровня: Вы никогда не используете только один файл макета.

Все файлы XML объединены в гигантский файл XML, который называется компоновкой пакета.

Затем на каждой странице запроса выдается ряд специальных строковых символов, называемых «дескрипторами».

Затем в макете пакета выполняется поиск узлов, соответствующих этим дескрипторам.

Соответствующие узлы объединяются в один XML-файл, называемый макетом страницы.

Это файл макета, используемый любым конкретным запросом.

(бесстыдная, но полезная, заглушки следуют)

Я написал более подробную статью на этой , и если вы перейдете на демонстрационную страницу Commerce Bug и посмотрите на вкладку Layout, вы увидите пример маркеров. любой запрос страницы производит, а также видит выходные данные для Package и Page Layouts.

1 голос
/ 08 января 2011

Как тривиальное «начало» (но, пожалуйста, прочитайте ссылки Алана), если вы находитесь на странице каталога / продукта / представления, дескриптор макета, который загружается по умолчанию, равен <catalog_product_view>.Однако в целом все гораздо сложнее.Используя подсказки макета, вы можете узнать, какие блоки и шаблоны составляют страницу, что часто бывает более полезным.

...