Hallo Ronny.
Diese Aussage verstehe ich nicht in ihrer Problematik.
...
ich habe es mit artikelmerkmalen versucht, aber da kann ich dann beide buecher (also einmal in der kaufvariante und der mietvariante) in den warenkorb legen und das soll ja nicht sein.
...
Das könnte ja nur dann jemand machen wenn er nach der Auswahl und dem Legen in den Warenkorb den Artikel erneut aufruft und diesmal die andere Variante in den WK legt.
Wer so etwas macht hat ja den Knall nicht gehört.
Selbst wenn du die Eventualität eines solch dummen Verhaltens eines Kunden abfangen würdest (wir betrachten gleich ob das überhaupt geht) könnte er ja eine Bestellung abschließen und danach dann die andere Variante bestellen. Will sagen, der Kunde kann immer Blödsinn machen in einem Shop.
In ein und derselben Bestellung könnte man das Problem mit einer Erweiterung abfangen, welche das Legen eines Artikels mit derselben ID mit welcher sich bereits ein Artikel im WK befindet nicht zulässt.
Diese Erweiterung wäre einigermaßen komplex zu bauen weil man auch eine Meldung ausgeben sollte wenn ein Kunde etwas wie das Beschriebene versucht. Machbar wäre es allerdings soweit ich das abschätzen kann.
Ich denke allerdings aus den oben aufgeführten Gedanken heraus, daß es den Aufwand nicht wert ist.
Gruß,
noRiddle
*NACHTRAG*
Man könnte auch nachdem ein Artikel in den WK gelegt wurde dann das nicht gewählte Attribut ausblenden, sodaß der Kunde gar nicht die Möglichkeit hat zu tun was du beschreibst. Das müsste relativ simpel über $_SESSION['cart'] abgefragt werden können, evtl. sogar direkt im Template.
Wenn du Interesse an der Variante hast melde dich hier, ich schaue mir das dann genauer an.