Oxvarselect abfragen

Hallo ihr Lieben,

ich habe folgendes Problem:

In meinem Shop habe 3 Sprachen aktiviert. In der oxarticles Tabelle in der Datenbank steht im 'Feld oxvarselect die Selectbezeichnung einer Variation in Deutsch (z. B. XXL bei einem T-Shirt), in oxvarselect_1 die englische Selectbezeichnung und in oxvarselect_2 die spanische. So weit, so gut.

Ich nutze den Shop mit der Warenwirtschaft JTL Wawi, dafür habe ich einen Connector. Wenn der Connector die Daten der Wawi überträgt, werden die Felder oxvarselect_1 und oxvarselect_2 überschrieben bzw. deren Inhalt gelöscht.

Nun möchte ich, dass bei allen Sprachen immer nur oxvarselect (also die deutschsprachige Auswahl) abgefragt wird, die Bezeichnungen sind eh immer die selben.

Ansonsten werden mir nach einem Abgleich mit der Wawi die Variationen in der englischen und spanischen Sprache nicht angezeigt.

In welcher Datei holt sich Oxid die Selectbezeichnung (Auswahl) für einen Artikel?

Grüße,
Hallenser

Hallo,
es dürfte wohl die oxwArticleDetails.php sein.
Für die Varianten nimmt er bei Verwendung von DB Views einen select auf der oxv_oxarticles_MEINESPRACHE vor. Damit wird die Sprachmutation der entsprechenden Felder, also die Inhalte von _1,_2 etc. geladen.
Am sinnvollsten wäre es hier, per Cron einfach den Inhalt der Sprachmutationen für die Felder zu setzen, die in allen Sprachen gleichbleiben sollen. Damit machst Du keinen Eingriff ins Framework und bleibst update-sicher.
Ansonsten a) selectstring umbauen oder b) db-view-Algorithmus für Artikel umschreiben.
Hoffentlich ist Dir damit geholfen
VG
Stephan

Vielen Dank für Deine Antwort! Ich muss zugeben, dass mir das mit dem Cronjob ein wenig zu hoch ist. Ich hab mir die Datei oxwarticledetails angesehen, weiß aber nicht, so ich ansetzen soll.

Das ganze ist eh seltsam:

Ich habe vor dem Abgleich mit dem Connector (Anbieter wurde kontaktiert, sagt aber, er könne mir nicht helfen) z. B. folgendes Szenario im Shop:

Artikel T-Shirt mit Varianten

Auswahlname Deutsch: Größe
Variantenwerte Deutsch: S, M, L, XL

Auswahlname Englisch: Size
Variantenwerte Englisch: S, M, L, XL

Auswahlname Spanisch: Talla
Variantenwerte Spanisch: S, M, L, XL

Nach einem Abgleich mit dem Connector von JTL Wawi < > Oxid:

Auswahlname Deutsch: Größe
Variantenwerte Deutsch: S, M, L, XL

Auswahlname Englisch: Size
Variantenwerte Englisch: (leer)

Auswahlname Spanisch: Talla
Variantenwerte Spanisch: (leer)

Es werden also nur die anderssprachigen Variantenwerte gelöscht, nicht aber die Auswahlnamen. Ziemlich komisch.

Ich möchte es so hinbekommen, dass Oxid sich die Auswahlnamen aus den “üblichen” Quellen nimmt, nur die Variantenwerte sollen von der Deutschen Quelle kommen.

Meinst Du, Du könntest mich in die richtige Richtung stupsen?

Vielen lieben Dank,
Hallenser

Leider kein Weiterkommen. Status: Ich hab es MySQL-technisch mit Triggern versucht > leider nichts (hab Version 5.1 auf dem Server).

Dateien in application/models, application/controllers und auch im core habe ich durchforstet, und language-Variablen sind mir zahlreich begegnet. Aber keiner meiner Versuche hat irgend etwas daran geändert, dass in den Variationen immer die Werte der aktuell gewählten Sprache stehen (natürlich mit Leeren des TMP-Ordners).

Eigentlich sollte es mit dem Connector gehen, aber da hast Du ja schon nachgefragt.

Wieso nicht sowas in der Art:

update oxarticles set oxvarselect_1 = oxvarselect where oxvarselect =/=0 (nicht leer)

für beide Sprachen. In eine php und nach einem Artikelupdate kurz anschieben.