如何为默认的 opencart 创建副本 联系我们 带有附加字段的表格


How to create duplicate for default opencart contact us form with additional fields

在我的 opencart 模板中,我需要创建一个类似于联系人表单的表单,其中包含姓名、电子邮件和手机号码字段。我已经在"联系我们"页面中使用了默认的"联系我们"表单。我需要为另一个页面创建这个新表单。有没有可用的免费扩展?否则我们如何实现我们自己的形式?

我不打算推荐任何扩展(这不是这样做的地方),但我可以告诉你一些步骤复制联系人。

首先,您需要在各自的目录中复制三个文件

  1. catalog'language'english'information'contact.php
  2. catalog'view'theme'default'template'information'contact.tpl
  3. catalog'controller'information'contact.php

并将它们命名为form.phpform.tplform.php

在此之后的所有更改将仅对这些文件执行

现在将控制器类名称更改为ControllerInformationForm除此之外,您还必须编辑控制器文件中的几件事,例如将contact.tpl更改为form.tpl,使用$this->language->load('information/form');加载正确的语言文件

对控制器文件进行必要的更改后,可以使用website.com/index.php?route=information/form访问新表单

现在,对于其他字段,请使用一个现有字段(如name)并使用新字段执行这 3 个文件中name所做的所有操作

注意不要为你做$mail->setSender($this->request->post['name']);新领域它的不同

现在让 TPL 中您在 TPL 中拥有这样的新字段

<input type="text" name="city" value="<?php echo $city; ?>" />

然后在控制器中更改以下行

$mail->setText(strip_tags(html_entity_decode($this->request->post['enquiry'], ENT_QUOTES, 'UTF-8')));

$mail->setText(strip_tags(html_entity_decode($this->request->post['enquiry'] . " " . $this->request->post['city'], ENT_QUOTES, 'UTF-8')));

免责声明:这不是一套完整的说明,但这足以让您开始并在遇到任何问题时提出更好的问题