【发布时间】:2016-02-23 21:50:42
【问题描述】:
我刚开始使用 Magento,我仍在努力理解布局系统的工作原理。
我正在尝试通过使用我的自定义模块中的代码(我不想对核心文件进行任何更改),将自定义 HTML 块添加到结帐的运输方法部分。我检查了 checkout.xml,看起来这是我正在寻找的将我的自定义块附加到的块:
<block type="checkout/onepage_shipping_method_available" name="checkout.onepage.shipping_method.available" as="available" template="checkout/onepage/shipping_method/available.phtml"/>
我的配置文件:
<modules>
<Brisqq_Cart>
<version>0.1.0</version> <!-- Version of module -->
</Brisqq_Cart>
</modules>
<frontend>
<routers>
<mymodule>
<use>standard</use>
<args>
<module>Brisqq_Cart</module>
<frontName>mymodule</frontName>
</args>
</mymodule>
</routers>
<layout>
<updates>
<mymodule>
<file>mymodule.xml</file> <!-- Our layout file name-->
</mymodule>
</updates>
</layout>
</frontend>
<global>
<blocks>
<mymodule>
<class>Brisqq_Cart_Block</class>
</mymodule>
</blocks>
</global>
</config>
mymodule.xml:
<layout>
<default>
<reference name="checkout.onepage.shipping_method.available">
<block type="mymodule/mymodule" name="mymodule" template="mymodule.phtml" />
</reference>
</default>
</layout>
这不起作用,因为结帐页面上没有显示任何内容,但我确定我遗漏了一些明显的东西,我只是不知道是什么。
我的第二个与第一个密切相关的问题是如何将我的自定义 js 和 css 包含到这个特定页面中?
最后一个问题,如果 magento 向导正在阅读此内容,我如何在加载运输方法步骤后触发 jquery 函数? (也来自自定义模块,没有核心文件更改。)
提前致谢!
PS。如果我输入“内容”而不是 <reference name="checkout.onepage.shipping_method.available">,则代码有效,但随后我的自定义块显示在所有页面上,我希望它仅显示在结帐页面上。
【问题讨论】:
-
自定义块的目的是什么?如果您尝试在结帐时提供自定义运输方式,您可以使用 a different way。
-
我已经有自定义运输方式,我正在尝试向其中添加自定义 HTML 块。
-
好的,您的送货方式是否已经显示为选项之一,并且您正在尝试在列表中附加一个自定义块?
-
是的,就是这样!它出现了,我正在尝试将我的自定义块附加到它。
-
我有本教程运输方法的副本,它有效。现在我需要将自定义块附加到它。 code.tutsplus.com/tutorials/…