magento 2column-right template, где $ s это тоже относится? - PullRequest
0 голосов
/ 08 ноября 2010

в файле template.phtml есть строка кода, которая ссылается на контент, используя getChildHtml ('content')?> который выводит содержимое и содержащие div, я хочу получить доступ к этому необработанному коду, чтобы я мог вставить некоторые пользовательские данные, но за всю жизнь я не могу найти, где это ?! Я нашел класс Mage_Page_Block_Html в ядре, но не вижу ни одного html, который он выбрасывает!

Заранее спасибо

Ответы [ 3 ]

1 голос
/ 08 ноября 2010

Как всегда, я рекомендую понять, что делает вся система макетов , чтобы понять, что происходит.

Что касается вашего конкретного вопроса, $this всегда относится к классу блоков шаблона. (Каждый шаблон phtml имеет класс Block в Magento). Какой это класс, будет зависеть от того, что находится в XML-файлах вашего макета. Вы всегда можете вывести класс во время выполнения с чем-то вроде этого

var_dump (get_class ($ это));

Метод getChildHtml определен в базовом классе абстрактных блоков

Приложение / код / ​​ядро ​​/ Mage / Ядро / Block / Abstract.php

Этот метод используется ВСЕМИ блоками, поэтому обязательно учитывайте это в своем коде.

1 голос
/ 08 ноября 2010

В Admin, если вы зайдете в Система> Конфигурация> Дополнительно> Разработчик и выберете свой Вид магазина в Селекторе выбора (вверху слева), вы можете включить подсказки Шаблон и Блок.Это точно скажет вам, какой блок PHP генерирует код, и, следовательно, $this относится к.

Как правило, все базовые шаблоны макетов поддерживаются Mage_Core_Block_Template, а все блоки наследуются от Mage_Core_Block_Abstract.

Приветствия, Джонатан

0 голосов
/ 09 ноября 2010

в качестве примечания. Если вам интересно, где указывается $, вы также можете использовать

echo get_class($this)

помогла мне несколько раз помолчать

...