Hallo NG,
ich möchte Produktdaten aus einer externen MySQL-Datenbank in Contenido bereitstellen. Die Produkte werden über ein anderes System gewartet, welches auf dem gleichen Server läuft.
Nun möchte ich gerne das externe System so erweitern, dass es die Artikel von Contenido generiert. Die Contenido-Kategorien, bzw. Sprachkennzeichen könnten in der externen Software hinterlegt werden.
Welche Contenidotabellen müssen beschrieben werden, damit ein vollständiger Contenido-Artikel entsteht?
Danke schonmal für Eure Hinweise!
Contenido Artikel von "außen" erstellen
-
- Beiträge: 77
- Registriert: Sa 13. Feb 2010, 16:07
- Kontaktdaten:
Re: Contenido Artikel von "außen" erstellen
Eigentlich wird es andersherum gemacht:
Die Produktdaten werden mit einem Modul aus der externen Produktdatenbank ausgelesen.
Das Modul knüpft dabei eine Verbindung mit der externen Datenbank und liest einfach alle Produkte aus.
Diese Daten kann man aufbereiten, je nachdem was die externe Tabelle her gibt, sei es Kategorien oder Merkmale oder chronologisch, usw.
Anzeigen kann man das Ganze dann wie bei News oder Sitemap oder mit Tabs.
Jedoch wird das intern mit dem Modul erzeugt und nicht über die Artikelfunktionen von Contenido.
Man kann natürlich das Modul so bauen, dass man z.B. Produktkategorien als Artikel in Contenido vorher anlegt und das Modul dann nur jeweils diese Produktkategorie anzeigt.
Die Daten des Produktes wären bereits ausgelesen und klickt man dann auf ein Produkt, geht quasi eine Seite auf (mit jQuery), die das Produkt genauer anzeigt.
Jedenfalls funktioniert es so und ist sicher einfacher und weniger fehleranfällig, als wenn man von extern in die Contenido Tabellen etwas einträgt.
Den anderen Weg hatte ich noch nie versucht
Die Produktdaten werden mit einem Modul aus der externen Produktdatenbank ausgelesen.
Das Modul knüpft dabei eine Verbindung mit der externen Datenbank und liest einfach alle Produkte aus.
Diese Daten kann man aufbereiten, je nachdem was die externe Tabelle her gibt, sei es Kategorien oder Merkmale oder chronologisch, usw.
Anzeigen kann man das Ganze dann wie bei News oder Sitemap oder mit Tabs.
Jedoch wird das intern mit dem Modul erzeugt und nicht über die Artikelfunktionen von Contenido.
Man kann natürlich das Modul so bauen, dass man z.B. Produktkategorien als Artikel in Contenido vorher anlegt und das Modul dann nur jeweils diese Produktkategorie anzeigt.
Die Daten des Produktes wären bereits ausgelesen und klickt man dann auf ein Produkt, geht quasi eine Seite auf (mit jQuery), die das Produkt genauer anzeigt.
Jedenfalls funktioniert es so und ist sicher einfacher und weniger fehleranfällig, als wenn man von extern in die Contenido Tabellen etwas einträgt.
Den anderen Weg hatte ich noch nie versucht
Fliegt der Bauer übers Dach, ist der Wind weißgott nicht schwach.
-
- Beiträge: 77
- Registriert: Sa 13. Feb 2010, 16:07
- Kontaktdaten:
Re: Contenido Artikel von "außen" erstellen
Ja, das ist quasi der "Ist-Zustand". Momentan stellt sich die Struktur so dar:Faar hat geschrieben:Eigentlich wird es andersherum gemacht:
Die Produktdaten werden mit einem Modul aus der externen Produktdatenbank ausgelesen.
Code: Alles auswählen
Fahrzeuge
-Neu
-Gebraucht
In der Unterkategorie "Gebraucht" ist dort ein Artikel angelegt, der genau das macht. Das entsprechende Modul holt über...
Code: Alles auswählen
http://example.org/fahrzeuge/gebraucht/detailseite.html?id=0815
Aufgrund von SEO-Maßnahmen wird jetzt die Seitenstruktur geändert:
Code: Alles auswählen
Fahrzeuge
- Hersteller
- Audi (idcat 40)
- BMW (idcat 41)
- Citroen (idcat 42)
- ... (idcat 43)
- 40 weitere Fahrzeuge (idcat 44-83)
- Yhundai (idcat 84)
Code: Alles auswählen
http://example.org/fahrzeuge/hersteller/audi/typenbezeichnung_id.html
Ergo dachte ich mir, wir verpassen dem Fahrzeug im vorhandenen System des Kunden die Contenido-idcat holen und legen den neuen Artikel auf diese Art und Weise an.
Das ist eigentlich der Hintergrund.
Gruß
Frank
Re: Contenido Artikel von "außen" erstellen
Moin,
im Prinzip könnte der Contenido Redakteur tatsächlich eine Kategorie für jeden Autohersteller anlegen, das ginge vom Aufwand her noch.
Aber spätestens wenn jeder Autotyp noch eine Seite bekommen soll, wirds aufwändig.
Sofern es auf der anderen Seite eine gut eingerichtete Datenbank gibt, kann man das Modul so bauen, dass es sich einfach alle Autos des Herstellers Audi heraus sucht und in dieser Contenido-Seite listet.
Nur klappt das dann nicht mehr so einfach mit dem sprechenden Link.
Aber hier gibt es Möglichkeiten, so wie zum Beispiel das Routing im AMR.
Praktisch könnte man dort den Link-Pfad fahrzeuge/hersteller/audi/typenbezeichnung_id.html auf front_content.php?idcat=x&idart=y?typenbezeichnung_id=z laufen lassen.
Das Modul holt sich aus der Adresse dann typenbezeichnung_id=z heraus und zeigt nur den Typen z an.
Nur doof, dass man das Routing im AMR von Hand eingeben muss und das nicht vorher abgefangen wird.
Aber praktisch könnte das gehen, dass alle Links mit fahrzeuge/ im Pfad auf eine bestimmte Seite mit Modul geroutet (oder gesammelt) werden, in der dann das Modul sich den Pfad mit preg_match() zerhackstückelt und die einzelnen Pfadangaben entsprechend ausgewertet werden und das richtige Auto angezeigt wird.
Das sähe dann so aus: $hersteller = "hersteller"; usw.
Und dann als SQL z.B. so: SELECT * FROM DB2 WHERE hersteller='$hersteller' AND auto='$car' AND typ='$id';
Natürlich dürfte sich im Pfad nichts am Aufbau ändern, es müsste immer gleich sein, damit man es automatisch auswerten könnte.
Praktisch funktioniert das, denn ich hab früher mal öfter sowas gebaut, aber eben in einer nativen Spaghetticode-Umgebung und nicht in einem CMS.
Hier weiß ich nicht, wie das AMR dazwischenfunkt, weil es Links die kein Ziel haben, auf die Errorseite oder die Startseite weiter leitet.
Da müsste Xmurrix was dazu sagen.
VG,
Frank
im Prinzip könnte der Contenido Redakteur tatsächlich eine Kategorie für jeden Autohersteller anlegen, das ginge vom Aufwand her noch.
Aber spätestens wenn jeder Autotyp noch eine Seite bekommen soll, wirds aufwändig.
Sofern es auf der anderen Seite eine gut eingerichtete Datenbank gibt, kann man das Modul so bauen, dass es sich einfach alle Autos des Herstellers Audi heraus sucht und in dieser Contenido-Seite listet.
Nur klappt das dann nicht mehr so einfach mit dem sprechenden Link.
Aber hier gibt es Möglichkeiten, so wie zum Beispiel das Routing im AMR.
Praktisch könnte man dort den Link-Pfad fahrzeuge/hersteller/audi/typenbezeichnung_id.html auf front_content.php?idcat=x&idart=y?typenbezeichnung_id=z laufen lassen.
Das Modul holt sich aus der Adresse dann typenbezeichnung_id=z heraus und zeigt nur den Typen z an.
Nur doof, dass man das Routing im AMR von Hand eingeben muss und das nicht vorher abgefangen wird.
Aber praktisch könnte das gehen, dass alle Links mit fahrzeuge/ im Pfad auf eine bestimmte Seite mit Modul geroutet (oder gesammelt) werden, in der dann das Modul sich den Pfad mit preg_match() zerhackstückelt und die einzelnen Pfadangaben entsprechend ausgewertet werden und das richtige Auto angezeigt wird.
Das sähe dann so aus: $hersteller = "hersteller"; usw.
Und dann als SQL z.B. so: SELECT * FROM DB2 WHERE hersteller='$hersteller' AND auto='$car' AND typ='$id';
Natürlich dürfte sich im Pfad nichts am Aufbau ändern, es müsste immer gleich sein, damit man es automatisch auswerten könnte.
Praktisch funktioniert das, denn ich hab früher mal öfter sowas gebaut, aber eben in einer nativen Spaghetticode-Umgebung und nicht in einem CMS.
Hier weiß ich nicht, wie das AMR dazwischenfunkt, weil es Links die kein Ziel haben, auf die Errorseite oder die Startseite weiter leitet.
Da müsste Xmurrix was dazu sagen.
VG,
Frank
Fliegt der Bauer übers Dach, ist der Wind weißgott nicht schwach.
-
- Beiträge: 77
- Registriert: Sa 13. Feb 2010, 16:07
- Kontaktdaten:
Re: Contenido Artikel von "außen" erstellen
Hallo Frank,
danke für Deine Unterstützung.
Meinen Ursprungsgedanken finde ich eigentlich immer noch sehr charmant.
Gruß
Frank
danke für Deine Unterstützung.
Ja im Grunde benötige ich für jedes Fahrzeug eine eigene Artikelseite. Und das sind ein paar mehr. Der Kunde möchte die definitiv nicht alle händisch anlegen. Ist der Artikel einmal angelegt hätte man auch über die Oberkategorien einfachere Möglichtkeiten (Artikellisten und dergleichen) und bräuchte dort nicht jedesmal händisch SQL verbauen.Faar hat geschrieben:Aber spätestens wenn jeder Autotyp noch eine Seite bekommen soll, wirds aufwändig.
Meinen Ursprungsgedanken finde ich eigentlich immer noch sehr charmant.
Gruß
Frank