【发布时间】:2010-11-09 01:40:50
【问题描述】:
当我在这个 url http://localhost/xxx/index.php/TradeEnquiry 上点击我的模块时,我收到了这个错误
致命错误:调用成员函数 setFormAction() 在一个非对象上 C:\wamp\www\stockdisplays\app\code\local\Stock\Tradeenquiry\controllers\IndexController.php 第 55 行
第 55 行是这样的:
$this->getLayout()->getBlock('tradeenquiryView')
->setFormAction( Mage::getUrl('*/*/post') );
这是我的布局 xml 中的一个片段:
<default>
<reference name="footer_links">
<action method="addLink" translate="label title" module="tradeenquiry">
<label>Trade Enquiry</label>
<url>tradeenquiry</url>
<title>Trade Enquiry</title>
<prepare>true</prepare>
</action>
</reference>
</default>
<tradeenquiry_index_index>
<reference name="root">
<action method="setTemplate"><template>page/2columns-right.phtml</template></action>
<action method="setHeaderTitle" translate="title" module="tradeenquiry"><title>Trade Enquiry</title></action>
</reference>
<reference name="content">
<block type="core/template" name="tradeenquiryView" template="tradeenquiry/view.phtml"/>
</reference>
</tradeenquiry_index_index>
我不明白问题是什么?该块被正确命名为“tradeenquiryView”。我唯一能想到的是布局 xml 以某种方式被缓存?因为我必须点击 /TradeEnquiry 上的模块,而不是像我在布局 xml 中所说的 /tradeenquiry,所以它几乎就像使用旧版本一样?
【问题讨论】:
-
您找到解决方案了吗?我遇到了和你一样的问题。
-
顺便说一句,我尝试安装 Alan 的模块并将 GET 变量传入,但没有出现。
-
是的,对我来说,这是其中一个 xml 文件中的一个小错误。我使用 Beyond Compare 将它们全部通过,并使所有间距和大写与联系模块相同,并且它起作用了。
标签: php xml layout magento controller