Intereting Posts
«Неопределенная константа / переменная» Ошибка в Laravel … Невозможно показать переменную в лезвии Преобразование именных объектов HTML в числовые объекты HTML WordPress MysqlError: Неизвестный механизм хранения 'InnoDB' Как определить IP-адрес сервера в PHP Обновление MYSQL с использованием результата sum () для нескольких таблиц Сохранение файла в заданный каталог с использованием FPDF Использовать PHP для создания, редактирования и удаления заданий crontab? PHP-файл загрузки повышает безопасность Запуск выбора в списке значений, разделенных запятыми, в PHP Есть ли бесплатный сайт для хранения кода (php, javascript, css) в Интернете? PHP / SQLite – копирование таблицы с диска в память Как закрыть закрытые HTML-теги? Имена предметов исчезают при оформлении заказа в Magento MySQLi подготовил оператор, возвращающий false Лог ошибок при попытке входа в систему с помощью Laravel 5.2

как получить название категории текущего продукта (на странице сведений о продукте) в magento

Я использовал следующие коды, но не работал для этого случая:

$_category_detail=Mage::registry('current_category'); echo $_category_detail->getName(); 

Fatal error: вызов функции-члена getName () для не-объекта в /app/design/frontend/base/default/template/catalog/product/view.phtml

мы делаем некоторые фильтры и используем ниже упомянутый код в head.phtml:

 $is_product = Mage::registry('product'); if($is_product){ if(is_object(Mage::registry('current_category'))){ $category_name = Mage::registry('current_category')->getName(); } else{ $category_name = ""; } } 

Но это работает, только если вы переходите из категории в продукт. Если вы посещаете страницу продукта, то ничего не отображается

Это потому, что продукты могут быть прикреплены к нескольким категориям. В вашей ситуации, когда вы посещаете страницу продукта, указанную на странице категории, ваш сеанс содержит информацию о категории. Но если вы сразу посетите страницу продукта, Magento не может знать, из какой категории вы пришли, поэтому она не может показать вам определенную категорию, потому что ваш продукт может иметь несколько категорий.

Но в вашей ситуации, если ваши продукты прикреплены только к одной категории, вы можете использовать этот код, он показывает название продукта первой категории;

  $categoryIds = $_product->getCategoryIds(); if(count($categoryIds) ){ $firstCategoryId = $categoryIds[0]; $_category = Mage::getModel('catalog/category')->load($firstCategoryId); echo $_category->getName(); } 
  <?php $_category_detail=Mage::registry('current_category'); echo $_category_detail->getName(); //gives current category name echo $_category_detail->getId(); //gives current category id ?>