Unriagh Posted February 23, 2012 Share Posted February 23, 2012 Hallo Leute, wir haben in unserem Shop Artikel mit mehren Varianten. Dummerweise gibt es aber Variantenmerkmale der ersten Variante, die in der zweiten nicht vorhanden sind. Es wird dann "Dieses Produkt existiert nicht in dieser Variante. Sie können jedoch eine andere Variante wählen." ausgegeben. Ich würde diese Merkmal dann aber gerne für diese Variante aus der Auswahl ausschließen. Beispiel: Der Artilkel Box hat 1. Variante:Größe, Merkmale: gross, klein 2. Variante:Farbe, Merkmale: blau, rot, weiss, schwarz Aber es gibt sie nur in gross : blau und rot und klein:weiss und schwarz. Angezeigt werden aber leider alle Auswahlmöglichkeiten. Ich vermute mal es steht in der product.tpl ca ab Zeile 305 Ich hoffe irgendwer hat eine Idee Link to comment Share on other sites More sharing options...
guest* Posted February 23, 2012 Share Posted February 23, 2012 Fragen zur Installation und Einrichtung/Einstellungen von Prestashop bitte in dir richtige Kategorie. Sonst verliert das Forum schnell die Übersicht und wird zum Sauhaufen... Post wird verschoben. Link to comment Share on other sites More sharing options...
guest* Posted February 23, 2012 Share Posted February 23, 2012 Ich verstehe nicht ganz das Problem. Du hast Produkte die in einer bestimmten Kombination nicht vorhanden sind. Hast du die Kombis dann auch angelegt ? Den Fehler den du beschreibst kann ich nicht nachvollziehen. Kombis die nicht existieren musst du löschen. By the way, welche Prestashop-Version, damit man das Problem auch nachvollziehen kann, wenn es nicht ein Problem ist einer fehlerhaften Anlage der Kombis. Link to comment Share on other sites More sharing options...
Unriagh Posted February 24, 2012 Author Share Posted February 24, 2012 Ok, ist auch blöd zu beschreiben, Ich versuchs nochmal mit 'nem Beispiel: Für Artikel Box gibt es die Variante Größe mit den möglichen Merkmalen "gross" und "klein". Diese erscheint in Produktinfo als erstes Auswahlfeld. Es gibt für diesen Artikel Box aber noch die 2. Variante Farbe - diese Auswahl erscheint in der Produktinfo unter der ersten als zweites Auswahlfeld. Als Kombination angelegt sind grosse Boxen in rot und blau, kleine Boxen in schwarz und weiss. (nur 4 Kombis) in beiden Auswahlfeldern werden aber immer alle Merkmale angezeigt. Wenn man jetzt oben "groß" wählt, kann man im zweiten Auswahlfenster auch die nicht vorhandenen Farben schwarz und weiß wählen und bekommt als Ergebnis die unschöne Meldung: Dieses Produkt existiert nicht in dieser Variante. Sie können jedoch eine andere Variante wählen." ausgegeben. Siehe Screenshot aus dem Shop (www.beamer-leinwand-profi.de) Ist es jetzt verständlich? Ich hoffe irgendwer hat eine Idee wie man die Auswahl in dem zweiten Auswahlfel (in unserem Shop sogar nocht dritten) so hinkriegt, das nicht vorhandene Merkmale, im Bezug auf die Auswahl im darüberliengenden Auswahlfeld, nicht mehr angezeigt werden. Link to comment Share on other sites More sharing options...
Unriagh Posted February 24, 2012 Author Share Posted February 24, 2012 Ach ja, der Shop läuft mit Presta 1.4.2.5. und welchen Fehler könnte man denn bei Kombis machen, ausser Artikelkombinationen zu erstellen die es nicht gibt? Link to comment Share on other sites More sharing options...
PETE ARMY Posted February 24, 2012 Share Posted February 24, 2012 ich hatte bei mir für felder bzw kombis die es nicht gibt diese zeichen eingesetzt ------------- das sieht nicht nur schön aus sondern machts auch übersichtlich für den kunden .... also legst du hierfür einfach eine kombi an macht sich mit csv listen generell besser finde ich Link to comment Share on other sites More sharing options...
BluTiGeS Posted March 3, 2012 Share Posted March 3, 2012 Hier hat mal einer sowas gemacht allerdings 2009: http://www.prestasho...937#entry769937 Nur wie das ganze mit 1.4.7 gehen soll bin ich grad überfragt. Aber ich hatte auch die Idee, dass man die nicht gültigen ausblendet. das ganze sollte dann über die product.js laufen in den themes. Nur steig ich noch nciht ganz durch Aber soweit bin ich schon das der chocie array den gewählten select übergibt. und die erlaubten kombinationen habe ich auch schon rausgefunden. jetzt muss man das ganze halt nur noch iwie in der mehrdimonsinalität verheiraten, Wenn jemand schon eine lösung hat bitte posten. Danke EDIT: erster ansatz, aber noch extrem buggy //alert(dump(erlaubtechoices)); $.each(erlaubtechoices, function(key, value) { if(choice[0]!=value[0]) { $.each(value, function(key, value) { $('#selectID_'+value).css('background-color','red'); }) } else{ $.each(value, function(key, value) { $('#selectID_'+value).css('background-color','#00ff00'); }) } //alert(value); }) Link to comment Share on other sites More sharing options...
BluTiGeS Posted March 4, 2012 Share Posted March 4, 2012 So mal ein update zu dem Thema . Habe es mal soweit implementiert, aber ob es jetzt immer klappt kann ich nicht sagen, aber Tester sind erbeten in der product.tpl ändern: <p> <label for="group_{$id_attribute_group|intval}">{$group.name|escape:'htmlall':'UTF-8'} :</label> {assign var="groupName" value="group_$id_attribute_group"} <select name="{$groupName}" id="group_{$id_attribute_group|intval}" onchange="javascript:findCombination();{if $colors|@count > 0}$('#wrapResetImages').show('slow');{/if};"> {foreach from=$group.attributes key=id_attribute item=group_attribute} <option id="selectID_{$id_attribute|intval}" value="{$id_attribute|intval}"{if (isset($smarty.get.$groupName) && $smarty.get.$groupName|intval == $id_attribute) || $group.default == $id_attribute} selected="selected"{/if} title="{$group_attribute|escape:'htmlall':'UTF-8'}">{$group_attribute|escape:'htmlall':'UTF-8'}</option> {/foreach} </select> </p> <option id="selectID_{$id_attribute|intval}" .. dann noch in der product.js: function findCombination(firstTime) { $('#minimal_quantity_wanted_p').fadeOut(); $('#quantity_wanted').val(1); //create a temporary 'choice' array containing the choices of the customer var choice = new Array(); $('div#attributes select').each(function(){ choice.push($(this).val()); }); //added by [b]BluTiGeS [/b] var erlaubtechoices = new Array(); //added by BluTiGeS var erlaubtechoices = new Array(); hinzufügen. + Zeile ~98 $.each(combinations[combination]['idsAttributes'], function(key, value) { if (!in_array(value, choice)) { combinationMatchForm = false; } //added by BluTiGeS alles einheitlich färben Begin $('#selectID_'+value).css('background-color','white'); //added by BluTiGeS END }) //indicate that the attribute selected are compatible //added byBluTiGeS erlaubtechoices.push(combinations[combination]['idsAttributes']); und dann noch for der letzen } Klammer der Funktion: //added by BluTiGeS BEGIn $.each(erlaubtechoices, function(key, value) { if(in_array(choice[0],value)) { //alert(dump(value)); for(var i=1; i<value.length;i++) { //alert(value[i]); $('#selectID_'+value[i]).css('background-color','green'); } } }) //added by BluTiGeS END einfügen et voila, sollte die gute Kombination Grün sein. Bekannter Bug: - Das erst eine Auswahl getroffen werden muss bevor die farbänderung angewandt wird. (kann gefixt werden wenn man die letzten Zeilen Code zu dem Code zeile 98 packt) - Bisher nur Choice 0 als Maßgabe, weitere müssen noch folgen Ich habe auch die beiden Files mal angehängt. product.tpl -> Tempate Folder und product.js ->Template JS Folder product.zip Link to comment Share on other sites More sharing options...
BluTiGeS Posted March 10, 2012 Share Posted March 10, 2012 //added by BluTiGeS BEGIn $.each(erlaubtechoices, function(key, value) { if(in_array(choice[value.length-2],value)) { $('#selectID_'+value[value.length-1]).css('background-color','green'); } }) //added by BluTiGeS END Das macht es möglich, das letzte Dropdown einzuschränken. Problem ist, dass die Auswahl nicht schritt fpür Schritt eingeblendet wird, sondern man alle Felder auf einmal übergibt und so wird es schwer das ganze gezielt auszuwählen. Aber vll hilt das ja schon mal jemand ,) Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now