Vorweg.
Ich habe die Aufgabe, aus Oxydshop SQL-Dumps Artikel zu extrahieren. Das soll in Zukunft regelmäßig automatisch erfolgen.
Soweit ist das kein Problem. Die SQL-Dumps bekomme ich geparst und die gesuchten Artikel mit allen nötigen Parametern (Kategorien, Attribute, Hersteller, etc.) ausgelesen. Nun stehe ich aber von dem Problem festzustellen, ob ein Artikel
- Sichtbar ist.
- Ausverkauft ist.
Die Regeln dahinter sind mir nicht klar. Gibt es ein Doku dazu? Oder besteht die Möglichkeit, das das jemand für mich zusammen fassen kann?
Welche SQL Spalten in welchen Tabellen sind zu beachten?
Wie ist die Priorisierung der Felder?
nach welchen Regeln müssen die Felder Verknüpft werden?
Hallo boelwerkr 
es gibt z.B. die Datenbank Dokumentation, dort findest du zu den OXID Versionen das Datenbankschema http://wiki.oxidforge.org/Documentation/DB-documentation
Ansonsten gibt z.B. die Methode getSqlActiveSnippet() in der oxbase.php darüber solltest du aktive Artikel ermitteln können. Es gibt 3 entscheidende Tabellen Spalten die immer wieder auftauchen
[ul]
[li]oxactive
[/li][li]oxactivefrom
[/li][li]oxactiveto
[/li][/ul]
Viele Grüße
indianer3c
Hallo indianer3c,
Danke.
Ich werde es mir anschauen. Ich melde mich, wenn ich es nicht gelöst bekomme.
Hi,
oxactive ist aber nur eine Vorraussetzung, dass ein Artikel überhaupt sichtbar und verkaufbar ist. Genauso spannend ist der Lagerbestand (oxstock) in Kombination mit der Lagermethode (oxstockflag).
cya
Die Regeln, dich extrahieren konnte:
Artikel ist nur sichtbar wenn OXACTIVE=1.
Wenn ACTIVE_START und ACTIVE_END geprüft werden sollen (gesetzt in der Konfiguration), dann ist der Artikel unsichtbar wenn nicht ACTIVE_START oder nicht ACTIVE_END (entweder 0 oder “0000-00-00 00:00:00”) oder nicht ( ACTIVE_START < “aktuelles datum” < ACTIVE_END )
Wenn der Artikel sichtbar ist greift der Wert in OXSTOCKFLAG:
0 => Artikel immer kaufbar ( Ignoriere Stock ).
1 => sichtbar aber nicht kaufbar ( Ignoriere Stock ).
2 => Artikel nur sichtbar und kaufbar wenn stock > 0 und varianten-stock > 0.
3 => Artikel immer sichtbar aber nur kaufbar wenn stock > 0 und varianten-stock > 0.
4 => Artikel sichtbar und kaufbar auch bei negativen stock.
Wenn varianten geprüft werden sollen (gesetzt in der Konfiguration), dann muss eines der Varianten sichtbar/kaufbar sein.
Sieht das so richtig aus?
Zumindest habe ich keine Unregelmäßigkeiten mehr gefunden.
Hi,
mir sind nur 4 Lagermethoden bekannt, hat sich da mit der 4.8 was geändert?:
1 = Standard
2 = Wenn ausverkauft offline
3 = Wenn ausverkauft nicht bestellbar
4 = Fremdlager
(Bin nicht ganz sicher ob Fremdlager 4 oder 0 ist, da ich es nicht nutze).
Bei Standard ist der Artikel immer kaufbar. Eine Option nicht Kaufbar unabhänig vom Bestand ist mir nicht bekannt.
cya
bestimmt nicht die sichtbarkeit eines artikels auch, für welche benutzergruppen/benutzer er sichtbar ist?