当产品属于某个类别时,我正试图在产品页面上显示通知。丹麦语版本停止并仅加载半页。瑞典版似乎完美无缺?!我的Magento安装在日志中也没有显示任何内容。
有没有更好的方法来实现这一目标?
www.alldo.dk / stylish-angle-white /不起作用!
www.alldo.se / stylish-angle-white /工作!
<!-- SHOW NOTICE -->
<?php
### GET THE FIRST CATEGORY ID FOR THIS PRODUCT ###
$categoryIds = $_product->getCategoryIds();
if(count($categoryIds) ){
$firstCategoryId = $categoryIds[0];
$_category = Mage::getModel('catalog/category')->load($firstCategoryId);
}
### ONLY RUN ON PRODUCT PAGES ###
if($this->getRequest()->getModuleName() == 'catalog' && $this->getRequest()->getControllerName() == 'product'){
### SHOW CORRECT NOTICE FOR EACH STORE ###
if ( Mage::app() -> getStore() -> getCode() == 'domain_com' && $_category -> getId() == 5 ){
echo 'An important notice ...';
}
if ( Mage::app() -> getStore() -> getCode() == 'domain_org' && $_category -> getId() == 5 ){
echo 'An important notice ...';
}
}
?>
<!-- SHOW NOTICE -->
提前致谢!
答案 0 :(得分:1)
如果您在“产品”页面上,则可以更轻松地查看。看到这段代码:
<?php
$isProductPage = Mage::registry("current_product");
if ($isProductPage) {
$categoryIds = Mage::registry("current_product")->getCategoryIds();
$_categoryId = 5;
$showNotice = false;
if (count($categoryIds)) {
$showNotice = in_array($_categoryId, $categoryIds);
}
$isProductPage = Mage::registry("current_product");
if ($isProductPage && $showNotice) {
echo $this->__('An important notice ...'); //With this you utilize the standard magento translator, so you don't need two separate row.
}
}
?>
然后,您可以为每个商店视图添加带有自定义消息的translate.csv文件。当然,如果每个商店视图都有不同的主题,您也可以使用它。