在magento中联系我们页面错误

时间:2014-08-13 12:11:08

标签: php magento magento-1.7 magento-1.8 magento-1.9

我是magento的新手,我在http://www.magentocommerce.com/magento-connect/contacts-form-captcha.html的联系我们页面中安装了一个验证码扩展程序,但它是社区添加,我的是企业。

当我访问联系我们页面时,它显示我已安装模块中的索引控制器中的错误,并且在我从我的社区文件夹中删除了文件夹(recaptcha)后,我也删除了相关的xml文件。但现在它显示错误,如

Fatal error: Call to a member function setFormAction() on a non-object in /var/www/myapp/app/code/core/Mage/Contacts/controllers/IndexController.php on line 55

第55行的代码是

$this->getLayout()->getBlock('contactForm')->setFormAction(Mage::getUrl('*/*/post'));

请帮我查看联系我们页面。

3 个答案:

答案 0 :(得分:4)

我弄错了我所做的,问题出在我的layouts / contacts.xml文件中。

我在索引控制器中调用了块,但该块在布局中不存在

$this->getLayout()->getBlock('contactForm')->setFormAction(Mage::getUrl('*/*/post'));

'contactForm'块在布局中错过了

    <contacts_index_index translate="label">
            <label>Contact Us Form</label>
            <reference name="head">
                <action method="setTitle" translate="title" module="contacts"><title>Contact Us</title></action>
            </reference>
                    <reference name="content">
                <block type="core/template" name="contactForm" template="contacts/form.phtml">
            </reference>

 </contacts_index_index>

添加上述代码后,我的问题就解决了。

答案 1 :(得分:0)

禁用管理员以及xml文件中的模块(app/etc/modules/namespace_module.xml) 清除magento缓存并检查。我认为它会对你有所帮助

答案 2 :(得分:0)

我也不是专家,但如果您删除了所有文件,包括“etc / modules”文件夹中的xml文件,它应该可以正常工作。请尝试清除缓存,看看会发生什么。