2013-09-10 3 views
0

Я анализирую «Mage_Page_Block_Html_Breadcrumbs» Breadcrumb.php, но я не понимаю, как он создает панировку, где он получает ссылку и название категории?Шаги по созданию панировочных сухарей в magento

  1. Как это работает?
  2. Как мы можем показать идентификатор категории вместе с названием категории?
  3. У кого-нибудь есть объяснение об этом?

Предложение будет действительно оценено.

ответ

1

Каждое действие контроллера добавляет крошку таким образом:

$this->_addBreadcrumb(Mage::helper('reports')->__('Sales'), Mage::helper('reports')->__('Sales')); 

Для контекста каталога категории, есть блок Mage_Catalog_Block_Breadcrumbs , который вызывает Mage_Catalog_Helper_Data->getBreadcrumbPath()

Там нет события отправляется, так что ... переписывает класс Helper.

Если вы хотите использовать наблюдателей, вместо этого, я думаю, что можно наблюдать за подготовкой макета, а перед подготовкой Mage_Catalog_Block_Breadcrumbs вы можете удалить все крошки и переопределить их.

+0

Gaspardo Webfor я получил эту вспомогательную функцию, но там, где вы находите это «$ this -> _ addBreadcrumb (Mage :: helper ('reports') -> ('Sales'), Mage :: helper ('reports') - > ('Sales'));» Для контекста каталога категории, Ther что в блоке «Mage_Catalog_Block_Breadcrumbs», который называет «Mage_Catalog_Helper_Data-> getBreadcrumbPath» Пожалуйста, вы можете дать мне более подробную информацию об этом –

+0

Это был пример: addBreadcrumb (Mage :: помощник («Отчеты») - > ('Sales'), Mage :: helper ('reports') -> ('Sales')); Посмотрите в Mage_Catalog_Block_Breadcrumbs: приложения/код/​​ядро ​​/ Mage/Каталог/Block/Breadcrumbs.php в защищенной функции _prepareLayout() Вы можете увидеть, как страница каталога строит свои собственные Breadcrumbs: $ PATH = Mage :: помощник ('Каталог') -> getBreadcrumbPath(); foreach ($ path as $ name => $ breadcrumb) { $ breadcrumbsBlock-> addCrumb ($ name, $ breadcrumb); $ title [] = $ breadcrumb ['label']; } –

+0

Да, это верно, но HWO Magento пришел знать, чтобы получить данные помощника, некоторые вещи должны быть там, где он говорит Magento смотреть в метод –

Смежные вопросы