Jump to content
xt:Commerce Community Forum

Mehrfach Artikeloption Fehlerhafte Auswahl


Neme

Recommended Posts

Hallo liebe Gemeinde,

ich habe ein Problem mit meinen Master/Slave-Artikeln mit mehr als einer Artikeloption.

Das Problem kann ich am besten anhand eines Beispiels erklären:

- Ich habe einen Master-Artikel mit vielen Slaves (80) und 2 Attributen
- Die Attribute sind 5x"Größe" und 16x"Farbe"
- Sobald der Masterartikel ausgewählt wird, muss man danach beide Optionen auswählen (normal)
- Wenn man zuerst nur eine Option auswählt (z.B. Größe S), ist nur die Größe markiert und keine Farbe (normal)
- Damit direkt ein Slave markiert wird wenn man auf den Master-Artikel klickt (weil man Master-Artikel nicht bestellen kann), habe ich im M/S-Plugin eine Hook eingebaut der direkt ein Slave auswählt: in /plugins/xt_master_slave/hooks/module_product.phptop.php 

if ($p_info->data['products_master_flag']==1 && $p_info->is_product!=false) {
   $rs = $db->Execute("SELECT products_id FROM ".TABLE_PRODUCTS." WHERE products_master_model='".$p_info->data['products_model']."' and products_status=1 LIMIT 0,1"); 
   if ($rs->RecordCount()==1) {
      $tmp_link  = $xtLink->_link(array('page'=>'product','params'=>'info='.$rs->fields['products_id']));
      $xtLink->_redirect($tmp_link); 
   }     
}  

- Nun wird direkt ein Slave ausgewählt mit z.B. Farbe Gelb und Größe S

Nun zum Problem: Sobald ich dann (beide Optionen sind markiert) eine andere Option auswähle z.B. -Farbe von Gelb nach Blau- oder -Größe von S auf M- ändert sich zwar die Markierung, aber der Preis nicht und wenn ich es dann im Warenkorb lege, bleibt die alte Option.

Ich muss erst beide Optionen (Farbe und Größe) erneut auswählen, damit das richtige Produkt ausgewählt wird.

Der Link geht also nicht aufs Produkt sondern der Link ändert sich in z.B. "product?action_ms=1&info=1255".

Ich bin ratlos... wäre um jede Hilfe sehr dankbar!

Link to comment
Share on other sites

  • 2 weeks later...

mmh,

ist pauschal so nicht zu sagen, wie das mit Deinem Hook klappt,

ich habe das schon mal gelöst, geht aber leider nicht mit Ajax ...

kuck mal hier: https://www.frieda-kaffee.de/shop/de/Filterkaffee/der-Milde-/-Aethiopien-Sidamo/Aethiopien-Sidamo

hier ist zusätzlich die Darstellung als Radio-Button integriert ( geht ganz einfach über den phpMyAdmin über einen zusätzlichen Eintrag in der Template-Tabelle von M/S )

wenn die erste Option ausgewählt wird, ändert sich der Preis ... ist es das ?

Grüsse

 

 

 

 

 

 

Link to comment
Share on other sites

Danke für die Antwort.

Ich glaube es ist nicht ganz klar geworden, was ich genau meine.

Meine Vorstellung wäre es, dass die ersten beiden Auswahlmöglichkeiten automatisch vorselektiert sind.

Anhand deines Beispiels wäre es so, dass sobald ich auf den Link klicke, Gewicht "250g" und "Filterkaffee" direkt vorselektiert sind und so quasi direkt die Möglichkeit bestehen würde, dieses Produkt in den Warenkorb zu legen.

Mit dem Hook den ich eingebaut habe, sind die beiden Attribute vorselektiert, aber sobald ich eine ändere, ändert sich der Preis nicht. Nur wenn ich die andere Auswahl auch ändere.

Beispiel noch einmal wie es bei dir wäre: Beide Auswahlmöglichkeiten sind nach Link-klick vorselektiert. Wähle ich nun aber von "250g" auf "500g" wäre es der selbe Preis geblieben und sobald ich dann das Produkt in den Warenkorb lege, ist "250g" im Warenkorb.

Grüße

Link to comment
Share on other sites

Danke für die Antwort.

Wenn ich die Hook weg lasse, ist es standartmäßig wie bei "oldbear"s Shop, keine Auswahlmöglichkeiten sind vorselektiert.

Wenn ich einen Slave über die URL aufrufe, ist alles in Ordnung. 

In den Pluginoptionen ist "Weiterleitung auf Slave" auf true.

Ich benutze Veyton 4.2.00

Edit: Vielleicht hilft ja der Link

Grüße

Link to comment
Share on other sites

Ich habe das Plugin mit Ajax am laufen und kann/möchte das daher nicht testen. Allerdings fällt mir auf die schnelle in Deinem "Hook" auf:

if ($rs->RecordCount()==1)
=wenn die Anzahl der gefunden Slave gleich 1 ist

Mit einem Slave wird an anderer Stelle schon geregelt. Wenn Du mehr Slaves hast, dürfte eigentlich gar keiner ausgewählt werden. Also: > 1 verwenden, und "tmp_link" sollte dann vielleicht explizit mit der ersten gefundenen product_id sein.

Mit "debug" kontollieren, ob die Daten dem Produkt korrekt zugeordnet sind.

Das ist möglicherweise noch nicht die Lösung, aber vielleicht ein Stück näher dran.

Link to comment
Share on other sites

Ups... ich seh gerade ich hatte den Schnipsel auskommentiert :rolleyes:

Jetzt noch einmal drüber schauen bitte Link

Der Link führt auf das Masterprodukt und redirected auch richtig zum Slave, nur wenn ich wie gesagt danach z.B. die Farbe ändere, bleibt das Produkt auf der alten Farbe. Ich muss erst noch einmal die Größe auswählen.

Ich wüsste auch nicht, was ich direkt an der Hook ändern sollte?

Grüße

Link to comment
Share on other sites

Ich glaube, dass Du das an falscher Stelle angehst. Ich war da schon mal in der "class.xt_master_slave_products.php" drüber gestolpert.

Nimm Deine bisherigen Änderungen raus und versuch mal in der "class.xt_master_slave_products.php" so um die Zeile 631

if((_PLUGIN_MASTER_SLAVE_REDIRECT_TO_SLAVE=='true')&& count($this->possibleProducts)==1 &&...

zu ändern auf

if((_PLUGIN_MASTER_SLAVE_REDIRECT_TO_SLAVE=='true')&& count($this->possibleProducts)>=1 &&...

 

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
  • Create New...