我在Opencart主题的页脚中添加了一个基本联系表单。例如,我有:
if (($this->request->server['REQUEST_METHOD'] == 'POST') &&
(isset($this->request->post['enquiry_submit'])) && $this->validate()) {
这可以正常工作。现在的问题是,如果您在不同的页面上,例如客户注册并尝试发送页脚联系表单,我会收到大量未定义的通知。
答案 0 :(得分:1)
这里的问题很明显:
if (($this->request->server['REQUEST_METHOD'] == 'POST') &&
(isset($this->request->post['enquiry_submit'])) && $this->validate()) {
放置到可能作为最后一个处理的FOOTER控制器中。if (($this->request->server['REQUEST_METHOD'] == 'POST') && $this->validate()) {
- 因此几乎每个控制器都会在提交表单之前尝试执行他们的东西...这就是为什么你有一堆Undefined index
通知... 我建议:
footer()
,并从页脚控制器移动所有提交后的处理代码http://www.youropencartsite.com/index.php?route=contact/contact/footer
。通过这个您确保当提交来自页脚的联系表单时,用户被重定向到正常的联系表单,其中调用具体方法来处理提交的数据,并且没有其他控制器参与数据处理...
答案 1 :(得分:0)
将代码放在页脚的控制器中似乎是一个好主意,但它确实意味着你最终会尝试发布到页脚本身以保证每个页面都可用,这有点矫枉过正和不良做法。解决这个问题的方法是: