在Virtuemart中获取订单商品自定义字段值

时间:2012-11-27 10:17:28

标签: export joomla2.5 virtuemart

我正在创建自定义VirtueMart订单商品导出。某些产品具有“Cart Variant”类型的自定义字段。在这种特定情况下,客户在将产品放入购物篮时可以从列表中选择“是”或“否”。我需要在订单商品导出中包含客户输入的值。

似乎自定义字段值未按预期存储。我唯一能找到的是一张json包装在表product_attribute的{​​{1}}列中的HTML。我可以#__virtuemart_order_items那里的价值,但那是相当粗糙和非常不可靠的。不幸的是,我无法在任何地方找到实际数据作为普通值。

有人可以告诉我,如果我遗失了什么吗?

1 个答案:

答案 0 :(得分:0)

您可以在#__ virtuemart_order_items

中找到Product属性

字段product_attribute包含确切的值和自定义字段的标题。

例如:

{"2558":" <span class=\"costumTitle\">Gift Wrap<\/span><span class=\"costumValue\" >Yes<\/span>"}

这是product_attribute coloumn(json_encoded)中字段的值

类customTitle类span是字段标签。 =礼品包装。 customValue类span包含值。 =是

你可以像

那样得到这个值

带有span的第一个html标记应该转换为相应的符号。 在这里喜欢

&lt;span class=&quot;costumTitle&quot;&gt;Gift Wrap&lt;/span&gt;&lt;span class=&quot;costumValue&quot; &gt;Yes&lt;/span&gt;

然后只需json_decode($ value,true); 返回数组将正确地获取您的内容

例如:

$str = '{"2558":"&lt;span class=&quot;costumTitle&quot;&gt;Gift Wrap&lt;/span&gt;&lt;span class=&quot;costumValue&quot; &gt;Yes&lt;/span&gt;"}';
$ar = json_decode($str,true);
print_r($ar);

输出如:

Array ( [2558] => <span class="costumTitle">Gift Wrap</span><span class="costumValue" >Yes</span> ) .

希望它能帮助..