steveosoule
1/3/2017 - 6:47 PM

Miva - Attribute Custom Display Order

Miva - Attribute Custom Display Order

<mvt:comment>
  <!--
  	Override/extend the display order of attributes by declaring an alternate display order
  	Populate g.Attribute_Orders with a comma sperated string of attribute codes.
  
  	Examples:
  		From URL
  			https://example.com/product-page.html?Attribute_Orders=color,size,pattern
  
  		From Custom Field:
  			<mvt:item name="customfields" param="Read_Product_ID( l.settings:product:id, 'attribute_orders', g.Attribute_Orders )" />
  
  		From mvt:assign
  			<mvt:assign name="g.Attribute_Orders" value="'color,size,pattern'" />
		-->
</mvt:comment>

<mvt:assign name="l.Attribute_Orders" value="miva_array_deserialize(g.Attribute_Orders)" />

<mvt:foreach iterator="attribute" array="attributes">
	<mvt:assign name="l.settings:attribute:custom_disp_order" value="miva_array_find( l.settings:attribute:code, l.Attribute_Orders, 0 )" />
	<mvt:if expr="l.settings:attribute:custom_disp_order EQ 0">
		<mvt:assign name="l.settings:attribute:custom_disp_order" value="1000 * l.settings:attribute:disp_order" />
	</mvt:if>
</mvt:foreach>

<mvt:do file="g.Module_Library_Utilities" name="l.success" value="QuickSortArray( l.settings:attributes, ':custom_disp_order', 1 )" />