在magento中根据条件添加顶部链接
我在自定义phtml中添加顶部链接时遇到了一些困难。我删除了xml中的链接块在magento中根据条件添加顶部链接,magento,magento-1.7,Magento,Magento 1.7,我在自定义phtml中添加顶部链接时遇到了一些困难。我删除了xml中的链接块,现在在某些条件变为现实后,我想再次添加此块。当我将此代码用于顶部菜单时,它可以工作,但不用于链接 $block = Mage::getSingleton('core/layout'); echo $block->createBlock('catalog/navigation')->setTemplate('catalog/navigation/top.phtml')->toH
,现在在某些条件变为现实后,我想再次添加此块。当我将此代码用于顶部菜单时,它可以工作,但不用于链接
$block = Mage::getSingleton('core/layout');
echo $block->createBlock('catalog/navigation')->setTemplate('catalog/navigation/top.phtml')->toHtml();
这可以工作并显示顶部菜单。但是下面的代码没有显示任何内容
$block = Mage::getSingleton('core/layout');
echo $block->createBlock('page/template_links')->setTemplate('page/template/links.phtml')->toHtml();
有什么帮助吗?使用observer后,我暂时解决了我的问题。我认为这是另一种方法。在我的配置中,我定义Obser如下:
<frontend>
<events>
<controller_action_layout_generate_xml_before>
<observers>
<Mymodule>
<class>Mymodule_Model_Observer</class>
<method>addmyblock</method>
</Mymodule>
</observers>
</controller_action_layout_generate_xml_before>
</events>
</frontend>
Mymodule_Model_Observer
addmyblock
在oberser中,只需检查并移除块:
<?php
class Mymodule_Model_Observer
{
public function addmyblock(Varien_Event_Observer $observer)
{
if(Mage::getStoreConfig("mymodule/general/enable")==1)
{
$layout = $observer->getLayout();
$layout->getUpdate()->addUpdate('<remove name="top.search"/>
<remove name="top.links"/>');
$layout->generateXml();
}
}
}.