В magento как найти тип макета? - PullRequest
1 голос
/ 15 марта 2012

Мне нужно проверить, какой тип макета / страницы был загружен в данный момент в magento.

Я имею в виду 1 колонку или 2 колонки слева или 2 колонки справа или 3 колонки.

Мне нужно найти программно ...

Как я могу это сделать, я погуглил, но там никакой помощи.

Ответы [ 3 ]

7 голосов
/ 15 марта 2012

Что вы пытаетесь сделать? Программная связь с контекстом рендеринга может указывать на лучший подход. Это сказало:

Вы можете спросить объект макета, был ли создан экземпляр корневого блока, и если да, каково его свойство шаблона:

$root = Mage::app()->getLayout()->getBlock('root');

if ($root) {
    $rootTpl = $root->getTemplate(); // For core/design_package calculated
                                     // absolute path use getTemplateFile();

    switch ($rootTpl) {
        case 'page/1column.phtml':
            //stuff to do
            break;

        //etc.
    }
}
0 голосов
/ 15 марта 2012

Вы можете проверить первый дочерний элемент страницы div.page, чтобы узнать, сколько столбцов в текущем шаблоне.

html body div.wrapper div.page div.main-container.col1-layout
0 голосов
/ 15 марта 2012

Проверьте файлы XML в папке / app / design / frontend / default / - ваша тема - / layout.Они содержат ссылки на используемые файлы шаблонов.

Например, page.xml содержит:

<block type="page/html" name="root" output="toHtml" template="page/2columns-left.phtml">

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

Удачи!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...