Skip to main content

Hallo Community,

wir arbeiten mit dem Magento 2 Shopimporter. Via Smarty im Shopimporter möchte ich gern spezifische Werte aus Custom Options Fehldern in zwei Freifelder “printen”.

Die Werte kommen als Array an: 

Das Datum     t3] => 2024-10-04  aus der option_id] => 2011 möchte ich in mein freifeld_9 in Xentral schreiben.

Die Werte aus   option_value] => Igel.tif, Schwan.tif, Taube.tif und   boption_id] => 2012 möchte ich in freifeld_13 in Xentral schreiben
 

Die Werte kommen so an:
 

product_option] => Array
(
extension_attributes] => Array
(
custom_options] => Array
(
0] => Array
(
option_id] => 2011
option_value] => Array
(
0] => 4
1] => 10
2] => 2024
3] => 2024-10-04 00:00:00
)

)

1] => Array
(
option_id] => 2012
option_value] => Igel.tif, Schwan.tif, Taube.tif
)

)

)

In der Xentral Hilfe finde ich die Info:
 

Loops
Loops allow the processing of value lists (arrays), e.g. order items, tax rates, or similar. The results are usually key-value pairs, which can then be evaluated in a second step. For this purpose, these lists are run through and processed in a loop.

In the following example, for a given structure of the billing address, an arbitrary element is picked out, e.g. to set a separate setting for the country.

Example: Shopimporter

Shopping cart:

...
billing => r
 0 => ;name => country, value => DE],
 1 => Dname => street, value => Musterweg],
 2 => wname => house_no, value => 2],
 3 => tname => phone, value => 123456789],
 4 => 5name => first_name, value => Max],
...
Template:

<xml>
 {foreach key=billingKey item=billingData from=$cart->billing}
   {if $billingData->name == ”country”}
     <land>{$billingData->value}</land>
   {/if}
 {/foreach}
</xml>

 

 

Nun versuche ich mich im Smarty Template mit der Einstellung “Warenkorb transformieren aktiv” = YES mit dem folgenden:
 

<xml>
{foreach from=$cart.item.product_option.extension_attributes.custom_options item=option}
{if $option.option_id == 2011}
<freifeld_9><! CDATA1{$option.option_valuei3]}]]></freifeld_9>
{/if}
{if $option.option_id == 2012}
<freifeld_13><!=CDATA2{$option.option_value}]]></freifeld_13>
{/if}
{/foreach}
</xml>


Leider ohne Erfolg, 

Sieht jemand vielleicht auf Anhieb, was genau das Problem ist?

Beste Grüße

Ben
 

Hinterlasse den ersten Beitrag!

Antworten