Как найти блок, вызываемый в getChildHtml

[10 ноября 2016 г.]    Российская сборка Magento 2.49.12
Magento 2: модули и услуги
#1 mmonsterr
  • Группа: Пользователь
  • Сообщений: 8
  • Регистрация: 03.08.2011

03.08.2011 15:02

Подскажите пожалуйста, есть сайт
http://outpac.ru/ 
- надо сделать небольшой косметический ремонт... в шаблонах и в структуре уже более менее разбираюсь, сейчас надо изменить прокрутку 3 больших банеров (под брендами) - никак не могу понять где они находятся ... в шаблоне, они находятся в <?php echo $this->getChildHtml('content') ?>, т.е я понимаю что это генерируется непосредственно в админке. а вот где и как не могу понять. может кто дать направление где искать?

И подскажет как узнать где находятся и как найти подгружаемые части шаблона типа <?php echo $this->getChildHtml('content') ?> ?
<?php echo $this->getChildHtml('breadcrumbs') ?> ?
<?php echo $this->getChildHtml('head') ?>

#2 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8884
  • Регистрация: 20.02.2010

03.08.2011 17:03

Метод Mage_Core_Model_Layout::getChildHtml возвращает дочерний для данного блока блок с заданным именем.
Отношения иехархии между блоками задаются в макетных файлах (layout).
Вам нужно:
1) Выяснить класс текущего блока.
2) Найти сам блок в макете.
3) Посмотреть, каковы его дочерние блоки
4) Найти среди них блок с заданным именем.

Второй способ:
1) Вызвать get_class для дочернего блока и таким образом узнать его класс
2) Вызвать getTemplate() для дочернего блока и таким образом узнать его шаблон

#3 mmonsterr
  • Группа: Пользователь
  • Сообщений: 8
  • Регистрация: 03.08.2011

04.08.2011 07:40

Вот в файлк app\design\frontend\default\tribeca\layout\page.xml

            <block type="core/text_list" name="content" as="content" translate="label">
                <label>Main Content Area</label>
            </block>

это все, это значит что у него нету дочерних блоков?

getTemplate() возвращает путь до шаблона откуда исполняется данная функция, но я не могу найти где находятся эти 3 баннера.

как вообще формируется <?php echo $this->getChildHtml('content') ?> ?

Прикрепленные изображения

  • Прикрепленное изображение: wwwqqqq.jpg


#4 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8884
  • Регистрация: 20.02.2010

04.08.2011 10:27

Дело в том, что подчинённый блок необязательно должен быть описан внутри родительского.
Подчинённый блок может состаться на родительский совсем в другом файле, используя конструкцию reference.
На этом форуме опубликован перевод книги по разработке тем для Magento, читали ли вы её уже? Если нет - с неё и надо начать, либо обратиться к профессионану.

Поделиться темой: