我想在“我的帐户”页面上创建一个链接,该链接仅在特定条件下显示。
现在我通过在布局XML文件中添加以下条目来始终显示链接:
<customer_account>
<reference name="customer_account_navigation">
<action method="addLink" translate="label" module="nie"><name>nie</name><path>nie</path><label>NIE Admin</label></action>
</reference>
</customer_account>
我假设有一种方法可以对它进行编码,使其仅在某些情况下显示。
答案 0 :(得分:7)
购物车&amp;结帐链接已经做了类似的事情,因此可以复制他们的方法。
Mage_Core_Block_Abstract
。给它一个条件逻辑的方法。
public function addNieLink()
{
if (($parentBlock = $this->getParentBlock()) && (CONDITION-GOES-HERE)) {
$parentBlock->addLink($this->_('NIE Admin'), 'nie', $this->_('NIE Admin'), true, array(), 50, null, 'class="top-link-cart"');
// see Mage_Page_Block_Template_Links::addLink()
}
}
protected function _prepareLayout()
{
// Add the special link automatically
$this->addNieLink();
return parent::_prepareLayout();
}
将您的支票放在CONDITION-GOES-HERE
。
将您的块添加到链接块。
<customer_account>
<reference name="customer_account_navigation">
<block type="yourmodule/link" name="yourmodule.link" />
</reference>
</customer_account>
(在此处将块类型更正为新创建的链接块)
重要的是调用getParentBlock()
来查找链接的去向。