2

カスタム VirtueMart 注文アイテム エクスポートを作成しています。一部の商品には、「カート バリアント」タイプのカスタム フィールドがあります。この特定のケースでは、顧客は製品をバスケットに入れるときにリストから「はい」または「いいえ」を選択できます。注文商品のエクスポートに顧客が入力した値を含める必要があります。

カスタム フィールドの値が期待どおりに保存されていないようです。私が見つけた唯一のものは、product_attributeテーブルの列にHTML をラップした json の一部です#__virtuemart_order_items。私preg_matchはそこから値を得ることができましたが、それはかなり粗雑で、まったく信頼できません. 残念ながら、実際のデータをプレーンな値としてどこにも見つけることができませんでした。

私が何か欠けているかどうか誰かに教えてもらえますか?

4

1 に答える 1

0

#__virtuemart_order_items で見つけることができる製品属性

フィールド product_attribute には、正確な値とカスタム フィールドのタイトルが含まれています。

例えば:

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

これは、product_attribute 列のフィールドの値です (json_encoded)

class customTitle class span はフィールド ラベルです。= ギフト包装。customValue クラスのスパンには値が含まれます。=はい

この値を次のように取得できます

スパンを持つ最初の 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 に答える