我在做以下陈述时遇到了挑战。在breadcrumbs.phtml中,我想执行以下操作:
h1
if cms page then getTitle
else if category page then getName
else if product page then getName
/h1
现在我想出了这两个陈述:
<?php echo Mage::registry('current_product')->getName()?>
<?php echo Mage::registry('current_category')->getName()?>
但我无法弄清楚如何让他们进入if
语句或如何完全制作if
语句。
非常感谢任何帮助。
答案 0 :(得分:2)
我尝试了上述建议:
<?php
if($this->getRequest()->getModuleName() == 'cms') {
echo Mage::getSingleton('cms/page')->getTitle();
} else if($this->getProductPage()) {
echo $this->getLayout()->getBlock('head')->getTitle();
} else if ($this->getCategoryPage()) {
echo Mage::registry('current_category')->getName()
}
?>
但它没有用。
你能看到什么错了吗?答案 1 :(得分:1)
if($this->getRequest()->getModuleName() == 'cms') {
// it will return 'cms' string
} else if($this->getProductPage()) {
// this will check if you are in product page
} else if ($this->getCategoryPage()) {
// this will check if you are in category page
}
getProductPage 已弃用
getCategoryPage 已弃用
而不是上面的代码,请尝试这个,让我知道结果:
if(Mage::app()->getFrontController()->getRequest()->getRouteName() == 'cms'):
$Page = Mage::getSingleton('cms/page')->getTitle();
endif;
if($Page == 'catalog'):
$Page->getName();
endif;
if($product = Mage::registry('current_product')):
$product->getName();
endif;
if($catalog = Mage::app()->getRequest()->getControllerName() == 'category'))):
$catalog->getName();
endif;