我目前正在使用以下代码来创建变量标签,以便在 Magento CMS 中打印出产品动态数据的各个部分:
<?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 中的页面不会在主页上呈现,但会出现页面的其余部分并且没有显示错误。
我觉得我快要得到这个了,但看不到我错过了什么。任何帮助将不胜感激