在Magento中提交联系表单后重定向到特定页面

pix*_*ode 8 magento

用户在Magento中提交联系表单后如何重定向到特定页面?form.phtml有

<form action="<?php echo Mage::getUrl(); ?>contacts/index/post/" id="contactForm" method="post">
Run Code Online (Sandbox Code Playgroud)

但我不知道在哪里可以找到控制电子邮件发送和重定向的php文件.有任何想法吗?谢谢

编辑:在应用程序>代码>核心>法师>联系人>控制器下的IndexController.php中找到它

$this->_redirect('*/*/');
Run Code Online (Sandbox Code Playgroud)

noo*_*ode 14

我知道它的答案,只是分享我的经验.我通过CMS页面制作了联系表格.表格运作良好.但在提交后,它将重定向到magento联系表单.要将其重定向回CMS页面,我必须放入

$this->_redirect('contactus');
Run Code Online (Sandbox Code Playgroud)

contactusURL标识符在哪里.

此外,重定向后,将不会显示成功/错误消息.为此我必须在这里做出改变.

转到/app/design/frontend/default/yourstore/template/contacts/form.phtml

<div id="messages_product_view">
<?php echo $this->getMessagesBlock()->getGroupedHtml() ?>
</div>
Run Code Online (Sandbox Code Playgroud)

有:

<?php Mage::app()->getLayout()->getMessagesBlock()->setMessages(Mage::getSingleton('customer/session')->getMessages(true)); ?> 
Run Code Online (Sandbox Code Playgroud)

我从这里得到了解决方案

  • 如果有人想知道,您可以使用此代码获取当前CMS页面的URL标识符`$ cmsPageUrlKey = Mage :: getSingleton('cms/page') - > getIdentifier();` (2认同)

Bri*_*all 5

对于下一个人

  1. 转到Silk软件并使用其模块创建者创建新模块 http://www.silksoftware.com/magento-module-creator/
  2. 输入您的公司名称和模块名称
  3. 然后将“需要重写Magento类”更改为“是”
  4. 单击“添加类”,类名称将为Mage_Contacts_IndexController
  5. 这将创建一个包含您需要的一切的模块
  6. 将核心控制器的postAction方法添加到新创建的控制器中
  7. 然后在postAction方法的末尾将重定向更改为redirectReferer()

模块创建者将创建您所需的一切,以使Contacts Controller过载,并节省您排解打字错误的时间。此外,在直接编辑核心文件的过程中省去了麻烦。

不要编辑核心文件!


pix*_*ode 1

应用程序 > 代码 > 核心 > 法师 > 联系人 > 控制器下的 IndexController.php

改变了

$this->_redirect('*/*/');
Run Code Online (Sandbox Code Playgroud)

$this->_redirect('');
Run Code Online (Sandbox Code Playgroud)

现在它重定向到主页。

  • 对于那些正在查看此内容的人,请不要更改核心!不要编辑该文件。 (15认同)
  • 不好的做法。不要更改核心文件。 (9认同)