2

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

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

谁能告诉我我是否遗漏了什么?

4

1 回答 1

0

您可以在 #__virtuemart_order_items 中找到 Product 属性

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

例如:

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

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

类 customTitle 类 span 是字段标签。= 礼品包装。并且 customValue 类跨度包含值。= 是的

你可以像这样得到这个值

带有 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> ) .

希望它会有所帮助..

于 2012-11-29T16:25:23.493 回答