Как получить название категории из list.phtml в Magento - PullRequest
12 голосов
/ 02 марта 2012

Поэтому я пытаюсь отобразить пользовательский файл list.phtml из блока. Это нормально, я могу отобразить все продукты с идентификатором категории 6.

{{block type="catalog/product_list" category_id="6" template="catalog/product/list.phtml"}}

выше работает нормально. Но теперь я хочу получить доступ к имени категории 6, как мне это сделать из list.phtml или даже из другого блока. мне просто нужно название категории для id = 6.

1 Ответ

39 голосов
/ 02 марта 2012

Внутри шаблона блока list.phtml вы можете получить имя категории с помощью

<?php echo $this->getLayer()->getCurrentCategory()->getName() ?>

В этом случае текущая категория задается на слое блоком catalog/product_list в * 1006.* вызов.

Внутри содержимого страницы CMS я не знаю, как получить прямой доступ к имени категории.
Из другого блока получение имени категории может быть более сложным.Вы можете попробовать

<?php echo Mage::getSingleton('catalog/layer')->getCurrentCategory()->getName() ?>

Конечно, это может быть случай, когда текущая категория не может быть установлена ​​для экземпляра слоя, поэтому обязательно проверьте это, чтобы избежать уродливых ошибок.
В основном, если был выполнен метод _beforeToHtml() блока списка продуктов catalog/product_list, текущая категория будет установлена ​​на слое.

EDIT: Все это предполагает, что вы хотите получитьназвание категории без повторного указания идентификатора категории.Если вас это не волнует, вы всегда можете получить название категории с помощью

<?php echo Mage::getModel('catalog/category')->load($this->getCategoryId())->getName() ?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...