php - Magento,将产品名称传递给联系表

标签 php html zend-framework magento content-management-system

来自 Magento 初学者的问候,我对术语和名称知之甚少,但我会努力尽可能清楚地解释这一点。

我目前正在配置 Magento Contact Form,以便能够从 Product View Page 上的用户那里收集一些数据。
更有趣的是,该表单还必须发送一些有关管理员放置在页面上的产品的数据,具体是产品名称
并非所有产品都有此表格,只有可提供不同(当前不可用)颜色和尺寸的产品。
我将 Magento 联系表复制到我的 Layout->Templates->contact->form.phtml .将其嵌入产品页面之一,输入:<br/> Magento Admin Panel-Catalog-Menage Categories-OneOfTheProducts-edit-<b>Custom layout update</b>
以下引用 xml:

<reference> 
  <block type="core/template" name="customer_request"  
   template="contacts/form.phtml"/>
</reference>

测试它并且它有效,管理员仍然必须在许多产品自定义布局更新文本框中放置这个 xml,但这不是这个问题的一部分。
Magento 表单包含以下字段:姓名、电子邮件、电话、评论。
但是我需要再发送一个参数给postAction Mage_Contacts_IndexController 的行动, 即产品名称。

问题
我如何从产品页面获取联系表单中的产品名称,这个子 block 元素是否可以知道嵌入的页面内容? Magento 中是否有一些我可以使用的全局函数以及如何将此参数传递给 Controller ​​,我应该使用隐藏的输入字段还是...?

任何引用或代码片段对我来说都意味着一个世界

最佳答案

解决方案

form.phtml 中将这段代码添加到新的隐藏字段值中,它检索当前页面的 URL 键/值,然后加载传递“id”值的模型对象:

<?php $productId=$this->getRequest()->getParams();   
$model = Mage::getModel('catalog/product');  
$_product = $model->load($productId["id"]);   
echo $_product->getName(); ?>

在引用该隐藏字段值的电子邮件模板中添加了新的 var, 这部分代码也很适合放在助手类中。

关于php - Magento,将产品名称传递给联系表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9011499/

相关文章:

javascript - 在 Rails 中制作日期时间倒计时器

java - 需要一些有关 XPath 表达式的帮助。一个有效,另一个无效

PHP 构造函数调用自身 - 不是递归

php - 如何将特殊字符转换为普通字符?

javascript - 美国邮政编码自动添加 - 9 位数字

apache - 移动版mod_rewrite

php - 使用 Zend 批量插入数据库

php - 如何在 Zend Framework 的 Controller 插件中获取引导资源

php - Zend_Form 不渲染

php - 查询以检索列名称中存储变量的数据