Moin Moin Forengemeinde,
auch heute gibt es mal wieder eine neue Frage von mir..
Ich möchte dem Kunden bei der Auswahl der Varkombi im Vaterartikel die Möglichkeit geben seine gewählten Felder zurückzusetzen.
Das heißt konkret: Ich habe 4 Merkmale (bzw. bei uns Funktionsattribute, was aber ja erstmal keinen Unterschied macht?) anhand dessen der Kunde seinen passenden Artikel auswählt.
Hierbei schränkt der Kunde von Oben nach Unten ein: Produktart (Textil,Accessior,Hüllen) => Produkt (T-Shirt,Hoodie usw. in Textil, Kissen usw. in Accessior, usw.) => Farbe => Größe
Mit jeder Auswahl eines Merkmals/Attributs wird die gesamte Auswahl eingeschränkt, das soll ja auch so sein Allerdings gibt es zum Beispiel Probleme, wenn der Kunde eine Farbe ausgewählt hat. Dadurch werden die Produkte insofern eingeschränkt, dass nur diese angezeigt werden, die es auch in dieser Farbe gibt, möchte der Kunde nun wieder mehr Produkte oder alle sehen, findet er hierzu aktuell keine Möglichkeit, außer sich durch alle Farben zu klicken oder die Seite neu zu laden.
Ich könnte mir vorstellen, dass es hierzu schon einen Workaround gibt, oder vielleicht sogar eine "versteckte" Einstellung, die ich noch nicht entdeckt habe? Die Forensuche hat mir bisher leider nicht geholfen..
Aktuell bin ich soweit, dass ich einen Button habe, der die gesamte Variationauswahl zurücksetzt. Hierbei habe ich allerdings noch das Problem, dass der Radiobutton, der zuletzt betätigt war, direkt nach dem Reset nicht mehr geht, ich muss erst eine andere Möglichkeit wählen und danach funktionieren wieder alle...
Ich habe hierzu die jtl.article.js und die variation.tpl angepasst (Im eigenen Template):
jtl.article.js (Code hinzugefügt)
resetButtonResetAll: function(wrapper){
var that = this;
var wrapper = '#result-wrapper';
$('.variations').find('label.resetter').on('click',function(){
console. log("click!");
var resetElements = $(wrapper).find('label[data-key='+$(this).attr('data-key')+']');
console.log(resetElements);
$.each(resetElements,function(index,value){
$(value).removeClass('active');
$(value).children('input').prop('checked', false);
that.variationSwitch($(value).children('input'), false, wrapper);
that.variationResetAll(wrapper);
});
});
},
variation.tpl in Evo-Template
{foreach name=Variationswerte from=$Variation->Werte key=y item=Variationswert}
{if $smarty.foreach.Variationswerte.first}
{* Eigener Block: label-resetButton *}
{block name="label-resetButton"}{/block}
{/if}
variation.tpl in eigenem Template
{* Eigener Block in variations.tpl um einen Resetbutton für jede Gruppe einzufügen *}
{block name="label-resetButton"}
<label class='variation block btn btn-default resetter' data-type='swatch' data-original='Reset' data-key='{$Variationswert->kEigenschaft}'' data-title='Reset'>
<input type='button' class='control-hidden' name='eigenschaftwert[{$Variationswert->kEigenschaft}]'>
<span class='label-variation' title='Reset'>Reset</span>
</label>
{/block}
Beste Grüße,
Max
auch heute gibt es mal wieder eine neue Frage von mir..
Ich möchte dem Kunden bei der Auswahl der Varkombi im Vaterartikel die Möglichkeit geben seine gewählten Felder zurückzusetzen.
Das heißt konkret: Ich habe 4 Merkmale (bzw. bei uns Funktionsattribute, was aber ja erstmal keinen Unterschied macht?) anhand dessen der Kunde seinen passenden Artikel auswählt.
Hierbei schränkt der Kunde von Oben nach Unten ein: Produktart (Textil,Accessior,Hüllen) => Produkt (T-Shirt,Hoodie usw. in Textil, Kissen usw. in Accessior, usw.) => Farbe => Größe
Mit jeder Auswahl eines Merkmals/Attributs wird die gesamte Auswahl eingeschränkt, das soll ja auch so sein Allerdings gibt es zum Beispiel Probleme, wenn der Kunde eine Farbe ausgewählt hat. Dadurch werden die Produkte insofern eingeschränkt, dass nur diese angezeigt werden, die es auch in dieser Farbe gibt, möchte der Kunde nun wieder mehr Produkte oder alle sehen, findet er hierzu aktuell keine Möglichkeit, außer sich durch alle Farben zu klicken oder die Seite neu zu laden.
Ich könnte mir vorstellen, dass es hierzu schon einen Workaround gibt, oder vielleicht sogar eine "versteckte" Einstellung, die ich noch nicht entdeckt habe? Die Forensuche hat mir bisher leider nicht geholfen..
Aktuell bin ich soweit, dass ich einen Button habe, der die gesamte Variationauswahl zurücksetzt. Hierbei habe ich allerdings noch das Problem, dass der Radiobutton, der zuletzt betätigt war, direkt nach dem Reset nicht mehr geht, ich muss erst eine andere Möglichkeit wählen und danach funktionieren wieder alle...
Ich habe hierzu die jtl.article.js und die variation.tpl angepasst (Im eigenen Template):
jtl.article.js (Code hinzugefügt)
resetButtonResetAll: function(wrapper){
var that = this;
var wrapper = '#result-wrapper';
$('.variations').find('label.resetter').on('click',function(){
console. log("click!");
var resetElements = $(wrapper).find('label[data-key='+$(this).attr('data-key')+']');
console.log(resetElements);
$.each(resetElements,function(index,value){
$(value).removeClass('active');
$(value).children('input').prop('checked', false);
that.variationSwitch($(value).children('input'), false, wrapper);
that.variationResetAll(wrapper);
});
});
},
variation.tpl in Evo-Template
{foreach name=Variationswerte from=$Variation->Werte key=y item=Variationswert}
{if $smarty.foreach.Variationswerte.first}
{* Eigener Block: label-resetButton *}
{block name="label-resetButton"}{/block}
{/if}
variation.tpl in eigenem Template
{* Eigener Block in variations.tpl um einen Resetbutton für jede Gruppe einzufügen *}
{block name="label-resetButton"}
<label class='variation block btn btn-default resetter' data-type='swatch' data-original='Reset' data-key='{$Variationswert->kEigenschaft}'' data-title='Reset'>
<input type='button' class='control-hidden' name='eigenschaftwert[{$Variationswert->kEigenschaft}]'>
<span class='label-variation' title='Reset'>Reset</span>
</label>
{/block}
Beste Grüße,
Max