En effet c'est ma conclusion également.
Une autre question : j'essais de changer les selectbox en radio button sur ma fiche produit en gardant la mise à jour dynamique. Mais cela ne marche pas :
Voila mon code :
Fichier thelia.js (juste les functions modifiées) :
function buildProductForm() {
var pse = null,
combinationId = null,
combinationValue = null,
combinationValueId = null,
combinations = null,
combinationName = [],
i;
// initialization for the first default pse
$pse.pseId = $pse.id.val();
if (PSE_COUNT > 1) {
var k=0;
var checked ="";
for (combinationValueId in PSE_COMBINATIONS_VALUE) {
k++;
if(k>=2){
checked = "checked=checked";
}
combinationValue = PSE_COMBINATIONS_VALUE[combinationValueId];
$pse.options[combinationValue[1]]
.append("<input "+checked+" id='option-"+combinationValue[1]+"' name='option-"+combinationValue[1]+"' type='radio' value='" + combinationValueId + "'>"+combinationValue[0]);
}
//setPseForm();
}
}
function getFormSelection() {
var selection = [],
combinationId;
var var1 = $('input[name=option-1]:checked').val();
var var2 = $('input[name=option-2]:checked').val();
var var3 = $('input[name=option-3]:checked').val();
selection.push(var1);
selection.push(var2);
selection.push(var3);
// for (combinationId in $pse.options){
// selection.push($pse.options[combinationId].val());
//}
console.log(selection);
return selection;
}
Product.html :
{* pse *}
{form_field field='product_sale_elements_id'}
<input id="pse-id" class="pse-id" type="hidden" name="{$name}" value="{$PRODUCT_SALE_ELEMENT}" {$attr} >
{/form_field}
{if $pse_count > 1}
{* We have more than 1 combination: custom form *}
<fieldset id="pse-options" class="product-options">
{loop name="attributes" type="attribute" product="$product_id" order="alpha"}
<div class="option option-option">
<label for="option-{$ID}" class="option-heading">{$TITLE}</label>
<div class="option-content">
<!--<select id="option-{$ID}" name="option-{$ID}" class="form-control input-sm pse-option" data-attribute="{$ID}"></select>-->
<div id="option-{$ID}" name="option-{$ID}" class="form-control pse-option" data-attribute="{$ID}"></div>
</div>
</div>
{/loop}
</fieldset>
{/if}
Le probleme réside dans l'affichage ou je n'est pas mes radios. Quand je regarde avec l'inspecteur j'ai bien ma div comme je veux mais mes champs sont des <option> au lieu d'input. Je ne comprend pas pourquoi ?