steveosoule
10/28/2014 - 7:35 PM

Miva Associative Array

Miva Associative Array

<h4>Basic Example</h4>
<mvt:assign name="g.associative_array" value="miva_array_deserialize( ':name=This is an example,:code=example' )"/>
<!-- miva_array_deserialize() is where the magic happens -->

&mvt:global:associative_array:name;<br>
&mvt:global:associative_array:code;<br>
<br>
<mvt:eval expr="glosub(miva_array_serialize(g.associative_array), ',', '<br>')" />

<hr>

<h4>Practical Example</h4>
<mvt:item name="customfields" param="Read_Product_ID( l.settings:product:id, '', l.settings:fields )" />
<mvt:foreach iterator="field" array="fields">
	<mvt:if expr="l.settings:field:value">
		<mvt:if expr="l.settings:product:cf:serialized">
			<mvt:assign name="l.settings:product:cf:serialized" value="l.settings:product:cf:serialized $ ','" />
		</mvt:if>
		<mvt:assign name="l.settings:product:cf:serialized" value="l.settings:product:cf:serialized $ ':' $ l.settings:field:code $ '=' $ encodeattribute(l.settings:field:value)" />
	</mvt:if>
</mvt:foreach>

<mvt:assign name="l.settings:product:cf" value="miva_array_deserialize( l.settings:product:cf:serialized )"/>
<mvt:eval expr="glosub(miva_array_serialize(l.settings:product), ',', '<br>')" />

<hr>

<h4>PCI Net Toolbelt</h4>
http://www.pcinet.com/docs/toolbelt_5.4_preview.html#Assign
<mvt:item name="ry_toolbelt" param="assign|g.name|'fieldname'" />
<mvt:item name="ry_toolbelt" param="assign|g.varname|'l.all_settings:mydata:' $ g.name" />
<mvt:item name="ry_toolbelt" param="assign|{ g.varname }|'PCInet' $ '.com'" />
output: &mvt:mydata:fieldname;