我正在尝试在联系表单中添加几个字段,以便我的客户在写作时可以指出他们的车辆的年份和型号。
我刚刚将我的Magento安装从1.4.3升级到1.7.0.1。我以前的联系表格是一个黑客工作,这次我试图让它以正确的方式运作。我四处阅读,尝试将<input type="text" size="15" value="" id="model_ext" name="bike_model_ext" class="required-entry input-text">
添加到我的模板中的form.phtml,然后添加到管理员{{var data.model_ext}}
中的交易电子邮件模板中。但这不起作用。我通过操作文本确保后端的模板是正确的。我也知道form.phtml是正确的,因为当他们改变时我会看到元素。
然后我重载了处理联系表格的控制器。我确认我的控制器正在处理它(它带有echo "it works"; die();
)并且在那里,我正在寻找额外表单元素名称的POST数据,但是在这里,我也遇到了访问数据。环顾网络,我尝试了这个:
$comment = $this->getRequest()->getPost('comment');
$extras=Array( "year","make","model","model_ext" );
foreach($extras as $field)
$comment .= "\n$field:\t".$this->getRequest()->getPost($field);
$this->getRequest()->setParam('comment', $comment);
parent::postAction();
但同样,这就像我的变量不存在一样。在这里,我再次知道我的代码正在执行,因为当我遇到任何错误时,联系表单会崩溃并显示错误消息。
我会在早上再次上场,但希望有一些容易的事情,我很遗憾,有经验的人可以帮助我。
编辑:解答我正在使用ID键入变量,需要改为名称。
答案 0 :(得分:1)
通过此修复感兴趣的人的答案。
表单使用名称而不是id生成的$ _POST和$ _GET值。
在这种情况下,您必须使用bike_model_ext而不是model_ext。
亲切的问候,