相关疑难解决方法(0)

Magento - 根据用户输入报价/订购产品项目属性

摘要

我想创建一个未保存到产品的产品属性,或者像普通产品属性一样显示在产品编辑页面上.相反,我希望它保存到订单/报价项目并显示在订单,发票等.在将产品添加到购物车之前,它还应该由前端的客户配置.

细节

  • 自定义选项一样,表单元素应添加到前端产品页面.
    • 自定义选项不同,这不是实际的产品属性.它不应显示在管理产品页面或属性集上.
    • 客户需要提供有效值.我需要能够进行服务器端验证.
    • 我想要一个.phtml模板生成它的html.目前,我能够以令人满意的(设计)结果覆盖app/design/frontend/base/default/catalog/product/view/type/default.phtml.但是,我不知道如何捕获,验证并最终保存其价值.
  • 此表单元素的值应与quote/order产品项一起保存.
    • 此值应显示在任何和所有发票,订单,销售电子邮件中.
    • 我想用模板控制输出,或者至少能够返回用于显示值的字符串

我的问题

  1. <input>当产品添加到购物车时,以及稍后在结账过程中,如何验证并最终将前端产品页面上的值保存到报价项目中?
  2. 如何在订单,发票,销售电子邮件和此类页面上显示此值?
  3. 如何过滤订单集合以获取具有我的值设置为特定值的项目的订单?

更新1

我发现我可以在诸如此类的事件中在catalog/product模型上运行此代码(并且可能sales/quote_item也是如此)sales_quote_item_qty_set_after

$infoBuyRequest = $product->getCustomOption('info_buyRequest');
$buyRequest = new Varien_Object(unserialize($infoBuyRequest->getValue()));
$myData = $buyRequest->getMyData();
Run Code Online (Sandbox Code Playgroud)

通过这种方式,我能够从<input>产品页面上检索我的自定义客户提供的数据.

我怀疑这info_buyRequest是与报价和订单项目一起保存的.如果是这样,这部分解决了我的问题1和2.但是,我仍然不知道在哪里运行此代码是合适的,我不知道如何在后端订单/报价/报告页面上显示它.另外我相信,因为它作为序列化值存储在数据库中,根据我的自定义数据获取报价/订单项集合将是最困难的.

php magento

63
推荐指数
2
解决办法
4万
查看次数

Magento - 向sales_flat_quote_item和sales_flat_order_item添加新列

我正在使用Magento版本1.4.1.1,我想在sales_flat_quote_item表中保存一个值(并传递给它sales_flat_order_item).

我已经找到了这个教程,但我不确定它是否仍然相关(对于Magento版本1.4.1.1),因为它谈到了一个名为的表sales_order,我相信现在sales_flat_order看起来有点不同.

该方法是否仍然有效?如果是这样的-我可以用它sales_flat_quote_itemsales_flat_order_item什么entity_type_id我应该放在称道:

`insert into eav_attribute('entity_type_id','attribute_code','attribute_model','backend_model','backend_type','backend_table','frontend_model','frontend_input','frontend_input_renderer','frontend_label','frontend_class','source_model','is_global','is_visible','is_required','is_user_defined','default_value','is_searchable','is_filterable','is_comparable','is_visible_on_front','is_html_allowed_on_front','is_unique','is_used_for_price_rules','is_filterable_in_search','used_in_product_listing','used_for_sort_by','is_configurable','apply_to','position','note','is_visible_in_advanced_search'  )  
values(11, 'my_new_column', null, '', 'static', '', '', 'text', '','',null, '', 1,1,1,0,'',0,0,0,0,0,0,1,0,0,0,1,'',0,'',0);`
Run Code Online (Sandbox Code Playgroud)

如果在新的Magento版本中不是这样做的话,我应该怎么做?

谢谢,Shani

php magento magento-1.4

4
推荐指数
1
解决办法
2万
查看次数

标签 统计

magento ×2

php ×2

magento-1.4 ×1