В настоящее время я использую следующий код для создания переменных тегов для использования в Magento CMS для печати из различных частей динамических данных для продукта:как получить название категории на основе категории ID Magento
<?php
$_product = Mage::getModel('catalog/product')->loadByAttribute('sku', $this->getData('sku'));
$_categories = Mage::getModel('catalog/category')->loadByAtribute('id', $this->getData('id'));
switch($this->getData('valuetype')){
case "retail":
echo number_format($_product->getPrice(), 2, '.', ',');
break;
default:
case "final":
echo number_format($_product->getFinalPrice(), 2, '.', ',');
break;
case "diffDollar":
$difference = $_product->getPrice() - $_product->getFinalPrice();
echo number_format($difference, 2, '.', ',');
break;
case "diffPercent":
$difference = (1 - ($_product->getFinalPrice()/$_product->getPrice())) * 100;
echo number_format($difference, 0, '.', ',');
break;
case "prodName":
echo ($_product->getName());
break;
case "urlPath":
$prodName = ($_product->getName());
$prodName = strtolower($prodName);
$path = explode(" ", $prodName);
$path = implode("-", $path);
echo $path;
break;
case "catName":
$catName = ($_categories->getName());
echo $catName;
break;
}
?>
Внутри CMS я хотел бы использовать следующие принести в данных за $ _categories:
{{block type="catalog/category" id="176" template="catalog/product/cmsprice.phtml" valuetype="catName"}}
за $ _product Я хотел бы использовать:
{{block type="catalog/products" sku="1000145" template="catalog/product/cmsprice.phtml" valuetype="retail"}}
Использование $ _product отлично работает, но когда я пытаюсь использовать $ _categories для печати названия категории, страница из CMS не отображается на главной странице, а остальная часть страницы появляется, и на ней не отображаются ошибки.
Я чувствую, что я близок к этому, но не вижу, что мне не хватает. Любая помощь будет принята с благодарностью
первой ошибки, я понял, что я неправильно атрибут. Во-вторых, вы правы, я думаю, что я должен использовать category_id. После исправления этих проблем возникает следующая ошибка: Fatal error: вызов функции-члена getBackend() для не-объекта в C: \ xampp \ htdocs \ tbm \ app \ code \ core \ Mage \ Eav \ Model \ Entity \ Abstract.php в строке 816. В этой строке он имеет публичную функцию isAttributeStatic и выдает бомбы. Есть идеи? – max7
другое: я не могу использовать экземпляр продукта модели для этого. Мне нужно как-то перейти в конкретную категорию_ид, чтобы получить название категории. – max7