你好,来自Magento的初学者,我对术语和名字知之甚少但我会尽力解释这个问题尽可能清楚。
我目前正在配置 Magento联系表,以便能够在产品视图页面上收集用户的一些数据。
更有趣的是,表单还将发送一些关于产品页面管理员放置产品的数据,具体来说是产品名称
并非所有产品都具有此形式,只有可以提供不同(当前不可用)颜色和尺寸的产品
我将Magento联系表格复制到我的Layout->Templates->contact->form.phtml
。将其嵌入其中一个产品页面,输入:
Magento Admin Panel-Catalog-Menage Categories-OneOfTheProducts-edit-Custom layout update
以下参考xml:
<reference>
<block type="core/template" name="customer_request"
template="contacts/form.phtml"/>
</reference>
测试它并且它有效,仍然管理员必须在许多产品中执行此xml自定义布局更新文本框,但这不是此问题的一部分。
Magento表格有以下字段:姓名,电子邮件,电话,评论
但是,我需要再向postAction
Mage_Contacts_IndexController
行动发送一个参数,这就是产品名称。
问题
如何从产品页面的联系表单中获取产品名称,此子块元素是否可以了解正在嵌入的页面内容?我可以使用Magento中的一些全局函数以及如何将此参数传递给控制器,我应该使用隐藏的输入字段还是......?
任何参考或代码段对我来说意味着一个世界
答案 0 :(得分:2)
的解决方案的
在form.phtml
中将此代码段添加到新的隐藏字段值,它检索当前页面的URL键/值,然后加载传递“id”值的模型对象:
<?php $productId=$this->getRequest()->getParams();
$model = Mage::getModel('catalog/product');
$_product = $model->load($productId["id"]);
echo $_product->getName(); ?>
在引用该隐藏字段值的电子邮件模板中添加了新的var, 此部分代码也将成为放置在helpers类中的好选择。
答案 1 :(得分:1)