Variants + on Switch
<mvt:comment>Variant Codes</mvt:comment>
<mvt:item name="toolkit" param="variantarray|vcount|l.all_settings:product:code" />
<mvt:assign name="g.delimitedVariants" value="''" />
<mvt:assign name="g.vcounter" value="1" />
<div id="variant-list" style="display:none;">
<mvt:foreach iterator="variant" array="variants">
<mvt:item name="toolkit" param="vproduct_find|productfound|l.all_settings:variant:variant_code|A" />
<mvt:item name="customfields" param="Read_Product_Code( l.settings:key_product:code, 'casecount', l.settings:vcasecount )" />
<mvt:item name="customfields" param="Read_Product_Code( l.settings:key_product:code, 'innerpack', l.settings:innerpack )" />
<mvt:item name="customfields" param="Read_Product_Code( l.settings:key_product:code, 'stock', l.settings:stock) "/>
<mvt:if expr="NOT ISNULL l.settings:stock">
<mvt:item name="toolkit" param="set_time_zone|curTimeZone|-4" />
<mvt:item name="toolkit" param="time_t_year|curYear|curTimeZone" />
<mvt:item name="toolkit" param="time_t_month|curMonth|curTimeZone" />
<mvt:item name="toolkit" param="time_t_dayofmonth|curDay|curTimeZone" />
<mvt:item name="toolkit" param="time_t_hour|curHour|curTimeZone" />
<mvt:item name="toolkit" param="time_t_minute|curMinute|curTimeZone" />
<mvt:item name="toolkit" param="time_t_second|curSecond|curTimeZone" />
<mvt:item name="toolkit" param="mktime_t|curUTC|curYear|curMonth|curDay|curHour|curMinute|curSecond|curTimeZone" />
<mvt:item name="toolkit" param="newsubstring|stockMonth|l.all_settings:stock,1,2" />
<mvt:item name="toolkit" param="newsubstring|stockDay|l.all_settings:stock,4,2" />
<mvt:item name="toolkit" param="newsubstring|stockYear|l.all_settings:stock,7,4" />
<mvt:item name="toolkit" param="mktime_t|stockUTC|stockYear|stockMonth|stockDay|curHour|curMinute|curSecond|curTimeZone" />
<mvt:if expr="g.stockUTC LT g.curUTC">
<mvt:assign name="l.settings:stock" value="''" />
</mvt:if>
<mvt:else>
<mvt:assign name="l.settings:stock" value="''" />
</mvt:if>
<span id="variant-&mvt:variant:variant_id;" class="var-code-val" style="display:none;" data-code="&mvt:key_product:code;" data-case="&mvt:vcasecount;" data-inner="&mvt:innerpack;" data-stock="&mvt:stock;"></span>
<mvt:if expr="g.vcounter EQ 1">
<mvt:assign name="g.delimitedVariants" value="l.settings:key_product:code" />
<mvt:else>
<mvt:assign name="g.delimitedVariants" value="g.delimitedVariants $ ', ' $ l.settings:key_product:code" />
</mvt:if>
<mvt:assign name="g.vcounter" value="g.vcounter + 1" />
</mvt:foreach>
// --- Variant Code Changes --- //
function variantChanges() {
var oldCode = $('.var-code').data('code');
MivaEvents.SubscribeToEvent('variant_changed', function (product_data) {
var variantID = 'variant-' + product_data.variant_id,
newCode = $('#' + variantID).attr('data-code'),
caseCount = $('#' + variantID).attr('data-case'),
innerpack = $('#' + variantID).attr('data-inner'),
oldCode = $('.var-code').data('prod-code'),
stockmsg = $('#' + variantID).attr('data-stock');
$('.var-code').html(newCode);
$('#case-count').html(caseCount);
$('#inner-pack').html(innerpack);
if(stockmsg) {
$('.out-of-stock strong').html('Out of Stock until ' + stockmsg);
} else {
$('.out-of-stock strong').html(' ');
}
});
// --- On Change of Attributes -- //
MivaEvents.SubscribeToEvent('variant_changed', function (product_data) {
var variantID = 'variantd-' + product_data.variant_id;
var newDescription = $('#' + variantID).html();
//$('#product-description').html(newDescription);
});
}
// ---- Variant Code Swap ---- //
$('.option-code').on('change', function() {
variantChanges();
});
$('#swatches img').on('click', function() {
variantChanges();
});