Varianten, Auswahllisten und Attribute

Unter Oxid CE 4.5 habe ich diverse Produkte in verschiedenen Größen / Farben etc.

Wenn ich eine Auswahlliste “Größe” anlege - und über diese Liste im Bereich “Varianten” eigenständige Produkt-Varianten erzeuge, so legt Oxid selbstständig [B]immer auch ein neues Attribut [/B] an. Und zwar unter dem (gleichen) Namen der Auswahlliste. Wenn ich jetzt 10 x Größe hinzufüge, so bin ich generverter Besitzer von 10 ununterscheibbaren Attributen “Größe”. Alle Varianten bekommen automatisch das Attribut zugeordnet.

Arbeite ich nur mit händischen Varianten, werden keine Attribute hinzugefügt.

Tja - ist das wohl ein Bedienfehler, ein Bug oder einfach nur scheisse gemacht?

Vielleicht hat ja jemand einen Tipp. Grüße! Hauke

Eigentlich wird das Attribut recycled: in der Funktion oxattribute::_getAttrId( $sSelTitle ) wird geschaut ob schon ein Attribut mit demselben Namen vorhanden ist, falls ja wird das verwendet. Das scheint bei dir nicht zu funktionieren.

Der Sinn der Funktion erschließt sich mir aber trotzdem nicht wirklich, wenn ich z.B. einen Schuh in Größe 45 ausgewählt habe würde ich sowieso erwarten dass er dann auch Größe 45 hat und nicht etwa 44 oder 46.

Naja- möglicher Weise haben die Entwickler gedacht, da Zeit zu sparen, indem mal die Attribute automatisch anlegt - nur passiert das ja bei den händischen Varianten nicht: inkonsistent.

Ich kann das ja mal debuggen - aber ich gehe mal von einem Bug aus. Vielleicht hängt es ja mit UTF8 zusammen: der Attributname enthält Umlaute (Größe) …

[QUOTE=netfeld;72852]Naja- möglicher Weise haben die Entwickler gedacht, da Zeit zu sparen, indem mal die Attribute automatisch anlegt - nur passiert das ja bei den händischen Varianten nicht: inkonsistent.[/QUOTE]
Genau, inkostistent, und außerdem kann man diese Attribute zu nichts sinnvollem benutzen IMHO. Welche Variante gewählt ist, wird bereits an 2 anderen Stellen angezeigt.

[QUOTE=netfeld;72852]
Ich kann das ja mal debuggen - aber ich gehe mal von einem Bug aus. Vielleicht hängt es ja mit UTF8 zusammen: der Attributname enthält Umlaute (Größe) …[/QUOTE]
Falls du was findest würde mich auch interessieren.

Hi,

mir fiel heute dasselbe Problem auf (mit Oxid 4.5.5 CE), und zuerst dachte ich, na gut, dann haben wir halt auch gleich die Attribute, die man dann über die Kategorien als Filter nutzen könnte. Aber Pustekuchen, das geht (natürlich) nicht mit Varianten, also sind diese automatisch erzeugten Attribute wohl echt völlig überflüssig(?).

Jedenfalls habe ich mal kurz den Code durchsucht, und man findet schnell die Funktion “genVariantFromSell” in der Klasse oxvarianthandler, wo am Ende “assignVarToAttribute” aufgerufen wird, aber nur wenn blUseMultidimensionVariants enabled ist. Fragt sich, warum diese Unterscheidung gemacht wird, da auch multidimensionale Varianten scheinbar prima ohne Attribute laufen. Zur Lösung des Problems (wenn es denn eins ist) könnte man also die Klasse per Modul modifizieren, sodass:

/*if ( $myConfig->getConfigParam( 'blUseMultidimensionVariants' ) ) {
    $oAttribute = oxNew("oxattribute");
    $oAttribute->assignVarToAttribute( $oMDVariants, $aSelTitle );
}*/

bzw. ganz löschen, dann werden keine Attribute mehr erzeugt… :slight_smile:

Ich kann nichts weiter im Code finden, wo dies negative Auswirkungen haben könnte, aber 100%-tig sicher bin ich mir nicht. Was meint Ihr?

Moin netfeld,

du kannst die Auswahllisten über den Arbeitstitel unterscheiden.
Ich hab bei ein paar Shops das gleiche “Problem” dass ich für fast jeden Artikel zwei Auswahllisten mit identischen Titeln, aber unterschiedlichem Inhalt brauche.
Wenn der Titel identisch ist, unterscheidet Oxid trotzdem über den Namen des Arbeitstitels und der Variante wird nur DIE Auswahlliste als Attribut zugeordnet, die sie auch haben soll.

@Mitmacher: Für die Filterung von Varianten gibts es ein paar nette Module. Sieh dir doch mal den Multifiler (XL) von leofonic an, der ist SPITZE dafür! Alternativ gibt es von Eric Jankowski (hoffentlich richtig geschrieben) auch so ein Modul, aber das kostet das fünffache :frowning:

Beste Grüsse

Thomas

@Tom:
Öhm, okay, danke für den Tipp, aber das war eigentlich nicht mein Anliegen. Außer, dieser “Multifilter” würde nun evtl. doch diese Auto-Selectlist-Attribute nutzen, aber das hätte leofonic sicherlich nicht verschwiegen, oder? :wink:

Und das mit den Arbeitstiteln für Auswahllisten ist zwar korrekt, aber auch bekannt (mir zumindest) und nicht unbedingt Thema dieses Threads, denke ich. Aber egal, ich wollte nur mal ein paar Gedanken hinzufügen, da es (mal wieder) ein nettes kleines Thema war, welches dann leider ungelöst stehen blieb. Von “Modul” zu reden war evtl. etwas übertrieben, aber so lassen sich halt am besten auch kleine Bugs fixen ohne die Quellen direkt ändern zu müssen… :slight_smile:

Moin Mitmacher,

eigentlich war meine Antwort auch eher für den Post von netfeld gedacht damit er eben [B][U]NICHT[/U][/B] 10 Mal das gleiche Attribut bei einer Variante hat.
Das die (nicht vorhandene) Variantenfilterung generell überarbytungswürdig ist steht ausser Frage.
Sonst würde es ja dafür keine Third Party Module geben.

Beste Grüsse

Thomas

Hi Tom,

ja sorry, schon klar soweit, aber ich hatte es so verstanden, dass netfeld am liebsten GAR KEINE Attribute hätte, was die Diskussion über diese und eventuelle Filterungen (die ich ja ins Spiel brachte) derselben halt unnötig machen würde. Evtl. lag ich aber auch falsch, und ist ja auch völlig wumpe. :wink:
Kann gut sein, dass es eigentlich 2 verschiedene Probleme sind: zum einen, dass überhaupt Attribute angelegt werden (wozu?), und zum anderen, dass sie beim netfeld mehrfach auftauchten (ist bei mir übrigens nicht der Fall). Wie auch immer: Es dürfte eher ein kosmetisches Problem sein und keine gravierenden Auswirkungen auf den Shopbetrieb haben (evtl. bisserl Performance?).