我是 Magento 新手,我正在尝试将我的购物车链接与导航栏中的其他链接分开。
我做了这些步骤:1)在下配置了一个新模块etc/modules
<?xml version="1.0"?>
<config>
<modules>
<Marco_TopRightLinks>
<active>true</active>
<codePool>local</codePool>
</Marco_TopRightLinks>
</modules>
</config>
2)在文件中添加app/code/local/Marco/TopRightLinks/Block
,Links.php
内容如下:
class Marco_TopRightLinks_Block_Links extends Mage_Checkout_Block_Links
{
protected function _construct()
{
$this->setTemplate('page/template/logged-links.phtml');
}
}
3)添加app/code/local/Marco/TopRightLinks/etc
到config.xml
文件中,内容如下:
<config>
<modules>
<Marco_TopRightLinks>
<version>0.1.0</version>
</Marco_TopRightLinks>
</modules>
<global>
<blocks>
<topright>
<class>Marco_TopRightLinks_Block</class>
</topright>
</blocks>
</global>
</config>
4)page.xml
从此改变:
<block type="page/html_header" name="header" as="header">
<block type="page/template_links" name="top.links" as="topLinks"/>
对此:
<block type="page/html_header" name="header" as="header">
<block type="page/template_links" name="top.links" as="topLinks"/>
<block type="topright/links" name="top.right_links" as="topRightLinks"/>
5)checkout.xml
从此改变:
对此:
<!-- Mage_Checkout -->
<reference name="top.right_links">
<block type="topright/links" name="checkout_cart_link">
<action method="addCartLink"></action>
<!--<action method="addCheckoutLink"></action>-->
</block>
</reference>
[my_template]/page/template
在right-links.phtml
文件下添加
这会导致 Magento 异常:
Invalid method Marco_TopRightLinks_Block_Links::removeLinkByUrl(Array
(
[0] => http://mysitecom/checkout/cart/
)
你能帮助我了解正在发生的事情以及我能做些什么吗?(我不想触及任何内部 magento 方法,我相信addCartLink
它的效果很好:D)我的目标只是将购物车链接移到另一个地方到我的 html 中
编辑:如果,而不是扩展Mage_Checkout_Block_Links
class Marco_TopRightLinks_Block_Links extends Mage_Checkout_Block_Links
我扩展Mage_Page_Block_Template_Links
class Marco_TopRightLinks_Block_Links extends Mage_Page_Block_Template_Links
异常变化
Invalid method Marco_TopRightLinks_Block_Links::addCartLink