Die einfachste Lösung wäre natürlich, ein neues Produkt anlegen in dem Beide enthalten sind. Und das Produkt welches nicht kaufbar ist einfach raus nehmen. Klar gibt dann probs mit dem Bestand, aber vielleicht wird es ja net benutzt Ansonsten ist mir nativ keine Möglichkeit bekannt. Mal im eXchange geschaut?
Grüße
Rafael
e: Alternativ auch einfach das Zweite Produkt als Variante anbieten sowas wie [ohne xxx, mit xxx]; dann hast du aber das Prob das jeweils die Anzahl der beiden gleich sein wird.
Das mit einem zweiten Artikel ist irgendwie subobtimal, im exchange habe ich mal geguckt aber leider nichts gefunden. Hmmm das heißt wohl Kopf zerbrechen, danke dir trotzdem für die Ansätze.
Bin mir nicht ganz sicher ob ein Bundle die richtige Lösung ist, evtl verstehe ich da aber auch etwas falsch.
Sagen wir mal ich verkaufe Autos ohne Reifen, klar könnte ich das Auto und 4 Reifen im Bundle anbieten. Doch was mache ich wenn der Kunde noch zwei Ersatzreifen dazu haben möchte?
Evtl könnte man ja tobasket() soweit modifizieren das bestimmte Artikel erkannt werden (versteckte Kategorie) die nur in zusammenhang mit bestimmten Artikeln in den Warenkorb wandern. Ob das eine gute Idee ist, keine Ahnung!
Irgendwie hinkt das Beispiel. der legt doch einfach dann noch 2 Ersatzreifen in den Warenkorb und das prob ist gelöst. Ich vermute aber du meinst dass er die Ersatzreifen nur kaufen darf wenn er auch das Auto oder die anderen Reifen gekauft hat !?
Ich würde da meinen dass tobasket allein zu spät ist. Du musst auf der alist oder der details ja schon darauf hinweisen, dass es gerade nicht möglich ist das Produkt in den Warenkorb zu legen weil er noch kein Auto drinne hat.
Alternativ wenn du bei tobasket bleiben willst den hinweis, dass wenn er dieses Produkt in den Warenkorb legt auch das Auto im Warenkorb landet da es dazugehört (falls nicht schon drinne).
Q&D kannst du das Template für die abhängigen Produkte so anpassen, dass der Warenkorb nicht angezeigt wird wenn ein bestimmter Artikel nicht im Warenkorb ist. Zum bestimmen kannst ein Feld benutzen dass du eh net brauchst
So das ist der dreckigste Weg der mir einfällt.
Schöner ist dann die Erweiterung von alist oder details welche die Prüfung für dich dann übernehmen und tobasket die das reinlegen dann auch auf anderen wegen verhindert.
Ja das Beispiel hinkt irgendwie sorry, aber ich denke man versteht was gemeint ist.
Hmm die Idee das direkt im Details Template mit einem Warenkorbcheck zu machen ist eigentlich eine gute Idee. Wo ich das mache ist mir am ende eigentlich auch egal, das mit tobasket() war halt mein erster Ansatz.
muss hier leider noch ans Werk da es langsam brennt. Also mein momentaner Plan ist es in der details.tpl den Warenkorb abzufragen um festzustellen ob ein Artikel eines Herstellers im Warenkorb liegt, falls ja darf der Artikel gekauft werden und wenn nicht halt nicht.
Kann mir jemand sagen wie ich in der detail.tpl and die Artikelnummern des Warenkorbs komme? Meine bisherigen versuche waren nicht wirklich erfolgreich.
Sorry, was zur Hölle machst du da?
getContents liefert die ein Array von Basketitems zurück die werden nicht mit oxarticles__ angesprochen weil es keine sind. Das erklärt warum du beim ersten nichts zurück bekommst.
Aber das zweite ist doch völliger Humbug. Du durchläufst ein Array nur um einen Zähler zu haben damit du dann in einem anderen Array auf das (wie vorhin schon erwähnt falsche) Element zuzugreifen kannst? Und dann auch noch mit falschen Variablenbezeichnungen und und und.
Also ehrlich manchmal ist ein Entwickler sein Geld wert und sollte auch hinzugezogen werden. Vor allem wenn es so dringlich ist bzw. “Brennt” wie in deinem Fall.
Das sollte dir alle im Warenkorb befindlichen Artikelnummern ausgeben:
vielen Dank, muss gestehen Oxid ist Neuland für mich aber man lernt ja jeden Tag etwas neues dazu.
Und ich denke genau dafür ist ein Community Forum ja auch da.
Im Prinzip ja - aber irgendwann muss man sich die Frage stellen, ob es nicht sinnvoller wäre einen Fachmann beizuziehen - alleine schon wegen dem eigenen Zeitaufwand. Das rechnet sich schneller als man denkt.
Hier übrigens noch ein wenig “Futter” fürs selber programmieren:
Wie schon gesagt ich bin mehr oder weniger Oxid Neuling und denke in der Zeit in der ich mich mit dem Shop beschäftige habe ich eine Menge dazugelernt und einiges im Shop geleistet oder auch schon dem ein oder anderen im Forum helfen können.
Klar würde ein Oxid Fachmann die meisten Sachen schneller lösen aber wo würde da der “Learning by doing” Effekt bleiben? Oxid ist schon ein ziemlich komplexes System und das erfahrene Programmierer manche Fragen für Sinnlos oder Dumm halten ist wohl auch ganz normal.
Ich bin auf jeden Fall dankbar wenn erfahrene Köpfe die “Noobs” an ihrem Wissen teilhaben lassen und manchmal sieht man halt einfach den Wald vor lauter Bäumen nicht.