Hallo,
wir befüllen unseren Shop durch eine exteren Warenwirtschaft mit Artikeln und Kategorien. Folgendes Problem haben wir hier:
Der Artikel xy ist in folgenden Kategorien:
- Fahrrad
- Fahrrad - Mountainbike
- Fahrrad - Mountainbike - Hardtail
die Zuordnung der Hauptkategorie erfolgt ja soweit ich sehe über das Feld OXTIME in der Tabelle oxobject2category. (als nested set?)
Wir möchten hier nachträglich bei allen vorhandenen Artikeln (und zukünftig) die unterste Kategorie also Hauptkategorie gesetzt haben. Über die Warenwirtschaft ist es leider nicht möglich, und im moment zieht er sich irgendeine Kategorie ohne erkennbares Muster. Das ist bezüglich kanonische url unschön… Die unterste Kategorie müsste durch den Baum ja bekannt sein?
Vielleicht hat jdm sowas ähnliches mal gehabt? Bin für Tipps dankbar.
Gruß Andreas
Die Kategorie-ID ist im Feld OXCATNID anzugeben - OXTIME ist der Update-Zeitstempel.
Eine (etwas ältere, aber leidlich aktuelle) Nomenklatur zu den einzelnen Datenbankfeldern findet sich hier:
http://wiki.oxidforge.org/images/7/7f/Oxid_ce43x_mysql_admin_nomenklatur.xls
Aber im Feld OXCATNID ist doch nicht die Hauptkategorie festgelegt?
Ich meine mit Hauptkategorie nicht im Beispiel von Oben die Kategorie “Fahrrad”. Sondern die Kategorie die ich im Backend per Button als Hauptkategorie sezten kann. Diese wird auch bei Suchergebnissen verwendet.
Die Tabelle ist praktisch!
Danke und Gruß
hmmm… vwenn ein Artikel in mehreren Kategorien ist, dann gibts ja mehrere Einträge für diesen in der Tabelle. Vielleicht wird die Hauptkategorie über oxpos? Könnt ich mir vorstellen…
Oder irgendwo ganz anders - vielleicht hilft Dir das Beziehungs-Schaubild weiter?
http://docu.oxid-esales.com/CE/dbdocumentation/OXID_eShop_CE_4.5.0_34568_DB_schema.png
ja, mehrere Kategorien heißt dass es dann in der oxobject2category mehrere Einträge mit der Artikel-Nummer gibt. Wenn ich bei einem Artikel per Hand die Hauptkategorie setze, dann bleibt bei dieser gewählten Kategorie OXTIME auf “0”, allerdings sind dann alle anderen Kategorien auf den Wert “10”.
Ändere ich auf eine andere Kategorie geht der Wert auf “20” und verbleibt bei den anderen auf “10”.
Ist die “normale” vorgehensweise denn wirklich so, dass man diese Hauptketegorie manuell zuweisen muss? eine Funktion/Modul welches die Hauptkategorie in der untersten Ebene setzt wäre dich vielleicht für viele interessant? Der Artikel verbleibt ja in den oberen Kategorien auch, aber für die kanonische URL (und damit auch für google etc) wäre es sicherlich interessant in der untersten Ebene zu liegen. Dann sieht die Navigation auch gut aus wenn der Kunde über die Suche kommt.
Der Eintrag mit der niedrigsten oxtime ist die Hauptkategorie. Beim manuellen setzen passiert folgendes: die neue Hauptkategorie wird auf 0 gesetzt, alle anderen auf bisheriger Wert + 10.
aaaahaaa! :eek:
klingt logisch, aber da muss man auch erst mal drauf kommen
@leofonic: ja, genau.
Dann weiß ich schon mal wo ich im Ergenis hin muss.
In der oxobject2category ist die OXCATNID ja die OXID der Kategorien.
Kann man hier rauslesen welche Kategorie am tiefsten liegt (jeweils für alle Einträge der gleichen OXOBJECTID in oxobject2category) ?
Dann müsste man alle Einträge der gleichen OXOBJECTID (diese sind ja dann alle Kategoriezuordnungen eines jeweiligen Artikels) in der Spalte OXTIME mit aufsteigenden Werten befüllen, beginnend mit der 0 in der Kategorie welche am tiefsten liegt.
Danke und Gruß
Andreas
Wo ist denn der letzte Post hin?
@ wecyle - Andreas,
ich habe die o.g. Nomenklatur zu Oxid geschrieben und mir für oxobject2category ein Script erstellt, womit die Artikel-Zuordung in MySQL möglich ist.
Zu Deinem Problem würde mich mal interessieren, wie die Zuordnung eines Artikels alt/neu genau aussehen soll.
[QUOTE=leofonic;80727]Wo ist denn der letzte Post hin? [/QUOTE]
This message has been deleted by www.wecycle.de.
Gruß
Entschuldigt den gelöschten Post ohne Feedback. Direkt nach dem posten hat sich folgende rausgestellt: die OXCATNID in oxobject2category wird durch unsere WaWi geschrieben; chronoglogisch beim anlegen von Kategorien.
Daher kommen wir Ohne Zeitstempel aus der WaWi eh nicht weiter?!
Zur Zuordnung, Beispielartikel vorher <> nachher. Der Wert 0 bei OXTIME ist bei nachher die Hauptkategorie:
vorher:
OXID…OXOBJECTID…OXCATNID…OXPOS…OXTIME
2083…101011…449…0…0
2084…101011…97…0…0
2085…101011…140…0…0
nachher:
OXID…OXOBJECTID…OXCATNID…OXPOS…OXTIME
2083…101011…449…0…40
2084…101011…97…0…20
2085…101011…140…0…0
Es gibt aber noch ein logisches Problem. Wir haben Artikel in mehreren Kategorie-Strukturen, z.B.:
Fahrrad -> Mountainbike - Hardtail
Fahrrad -> Kinderräder - Ohne Stützräder
Hier muss ja händisch entschieden werden welche Kategorie die Hauptkategorie ist.
Danke und Gruß
[QUOTE=www.wecycle.de;81039]
Daher kommen wir Ohne Zeitstempel aus der WaWi eh nicht weiter?!
[/QUOTE]
Bei oxtime muss kein Zeitstempel drin stehen. Der niedrigste Wert ist die Hauptkategorie, was ansonsten drin steht ist egal. Oxid schreibt da einen Zeitstempel rein damit die zuerst angelegte Kategorie die Hauptkategorie ist, wenn keine manuelle Zuordnung erfolgt (erster Eintrag => niedrigster Zeitstempel). Welche die Kategorie mit der tiefsten Verschachtelung ist, könnte man evtl. aus oxleft/oxright der Kategorien herausziehen, allerdings wie du beschrieben hast gibt das bei Zuordnung zu mehreren “nebeneinander” liegenden Kategorien ein logisches Problem.
Moin zusammen,
sorry wenn ich den nochmal hochhole…
[QUOTE=leofonic;81047]Bei oxtime muss kein Zeitstempel drin stehen. Der niedrigste Wert ist die Hauptkategorie, was ansonsten drin steht ist egal. Oxid schreibt da einen Zeitstempel rein damit die zuerst angelegte Kategorie die Hauptkategorie ist, wenn keine manuelle Zuordnung erfolgt (erster Eintrag => niedrigster Zeitstempel).[/QUOTE]
Das kann ich so leider (zumindest in der aktuellen 4.6.2) nicht nachvollziehen.
Ich spiel da gerade in einem Demoshop herum…
Wenn ich z.B. einen Artikel eine 2. Kategorie (Kites) zuordne wird die auch korrekt mit Oxtime eingetragen. Wenn ich dann allerdings diese Kategorie als Hauptkategorie setze, ändert sich der Oxtime-Wert der ersten Kategorie (Accessories) auf 10 und bei der neuen Hauptkategorie (Kites) steht ein wesentlich höherer Wert (1341683366) drin.
Demnach wäre dann ja Accessories die Hauptkategorie…
Mal ne dusselige Frage: Wo kann ich mir im Backend denn die Hauptkategorien einmal anzeigen lassen?
Beste Grüsse
Thomas
[QUOTE=Tom Long;94623]
Das kann ich so leider (zumindest in der aktuellen 4.6.2) nicht nachvollziehen.
Ich spiel da gerade in einem Demoshop herum…[/QUOTE]
In der 4.6.2 kann man eigentlich die Hauptkategorie nicht setzen, zumindest nicht richtig. Normalerweise ist die Hauptkategorie blau hinterlegt, das funktioniert aber auch nicht in der 4.6.2: https://bugs.oxid-esales.com/view.php?id=4154
Moin Frank,
dann bin ich ja beruhigt
Ich dachte schon, ich wäre völlig besch…
Dann schau ich mir das mal in einer antikeren Version an.
Beste Grüsse
Thomas
Könntest auch nur die admin/inc/article_extend.inc.php aus der 4.5.9 nehmen.