0

我在页脚的固定 div 中显示联系人,以便它显示在所有页面上。确实如此。当我单击“联系人”按钮时,它将通过 AJAX 加载联系表单。为此,我在 Magento 默认联系人模块的 indexController 中创建了一个新操作。在该操作中,我正在回显一个块,该块调用我用来在所有页面上显示的自定义表单。

public function quickcontactAction(){
    echo $this->getLayout()->createBlock('core/template')->setTemplate('contacts/formquick.phtml')->toHtml();           
}

所以在contacts模块的模板中基本上有两个文件,form.phtml和formquick.phtml。从页脚我调用调用formquick.phtml 文件的动作,该文件调用indexController.php 的post 动作方法。现在我的问题是,当我尝试从页脚中的固定 div 提交表单时,它会生成一个系统日志,上面写着标题已经发送。

HEADERS ALREADY SENT: <pre>[0] C:\Program Files\EasyPHP-5.3.8.0\www\magento\app\code\core\Mage\Core\Controller\Response\Http.php:52
[1] C:\Program Files\EasyPHP-5.3.8.0\www\magento\lib\Zend\Controller\Response\Abstract.php:766
[2] C:\Program Files\EasyPHP-5.3.8.0\www\magento\app\code\core\Mage\Core\Controller\Response\Http.php:83
[3] C:\Program Files\EasyPHP-5.3.8.0\www\magento\app\code\core\Mage\Core\Controller\Varien\Front.php:188
[4] C:\Program Files\EasyPHP-5.3.8.0\www\magento\app\code\core\Mage\Core\Model\App.php:354
[5] C:\Program Files\EasyPHP-5.3.8.0\www\magento\app\Mage.php:683
[6] C:\Program Files\EasyPHP-5.3.8.0\www\magento\index.php:81
</pre>

我感觉到与整个联系表格循环有关,但无法弄清楚如何解决。同样在提交表单后,它会重定向到联系页面,因为它是在控制器中设置的,但我希望它保持在同一页面上。有人可以指导我吗?我只需要通过 AJAX 加载不同的联系表格。如果有更好的方法,那也没关系。任何人?

4

1 回答 1

1

我自己解决了。我在我的控制器动作中回显一个块。所以删除了它,而是像这样渲染布局

public function quickcontactAction(){
    $this->loadLayout()->renderLayout();
}

并在我的 contacts.xml 中添加了一个名为联系人表单文件的新块。

于 2012-12-11T09:05:14.313 回答