Directory aus bestehender Datenbank erstellen
am 12.10.2010 - 07:19 Uhr in
Hallo!
Ich hoffe bei meinem Problem kann mir jemand helfen...
Ich versuche gerade mit Drupal ein Directory umzusetzen - Die Datenbank gibt es aber schon (Drupal-Fremd). Die Struktur sieht so aus:
Tabelle "Kontinent" - Hat die ID "KontinentID"
Tabelle "Land" - Hat die ID "LandID" und ist mit dem Feld "LandKontinentID" an die Tabelle Kontinent angebunden
Tabelle "Bundesland" - Hat die ID "BundeslandID" und ist mit dem Feld "BundeslandLandID" an die Tabelle Kontinent angebunden
Tabelle "Firma" - Hat die ID "FirmaID" und ist mit dem Feld "FirmaBundeslandID" an die Tabelle Bundesland angebunden
Das bedeutet in einem Beispiel also:
Firma xyz ist im Bundesland 17, welches im Land 23, welches auf dem Kontinent 3 liegt (Von den IDs her)
Im Drupal will ich per Table Wizard (Ist denke ich das richtige Tool dafür oder?) und per Views folgende Anzeige bekommen:
Seite mit allen Kontinenten > Klick auf einen Kontinent > Seite mit allen Ländern dieses Kontinentes > Klick auf ein Land > Seite mit allen Bundesländern in diesem Land > Klick auf ein Bundesland > Alle Firmen in diesem Bundesland > Klick auf eine Firma > Informationsseite der Firma, welche ich aber kommentieren lassen und mit CCK um Felder erweitern lassen will (Später soll auch über die Drupalsuche direkt nach diesen Firmen gesucht werden können (anhand dem Namen)) - dazu muss ich wohl alle Firmen als Nodes importieren, oder? Falls ja, wie geht das am einfachsten?
Meine bisherigen Schritte:
- Die Tabellen habe ich der Drupal-DB mit Prefix "drupal_" hinzugefügt, damit sie im TableWizard angezeigt werden
- Im TW hab ich diese Tabellen dann hinzugefügt (Keine Beziehungen oder so)
- In den Views gibts dann ja einen Typ für diese Tabelle/Datenbank, dort gebe ich in der 1. View die Felder der Tabelle Kontinent aus, beim Namen hab ich "Output this field as a link" gesetzt und als Link "firmen/kontinent[kontinentid]" - Dann erscheinen in einer Liste alle Kontinente die als Verlinkung z.b. http://www.domain.de/firmen/kontinent2/ haben - Soweit so gut
- In der 2. View, die die Länder anzeigen soll hab ich aber jetzt Probleme:
Anzeigen lasse ich die Felder der Tabelle Land, per Filter werden im Moment nur alle Zeilen angezeigt die als LandKontinentID eine "2" haben - Später muss auch hier eine Variable rein, a lá "Zeige nur Länder mit dem Wert [landkontinentid]", die ID ist natürlich die, die aktuell in der Adressleiste steht.
Ich habe jetzt eine Seite angelegt mit dem Link/Pfad "firmen/kontinent2", klicke ich im Frontend nun auf der Kontinent-Seite auf den Kontinent 2 komme ich zur 2. View wo nur dessen Länder angezeigt werden. Jedoch muss ja der Link/Pfad ja dynamisch werden, also z.b. "firmen/kontinent[landkontinentid]" damit jeder Kontinent auf eine "sub-View" verweist.
Nur wie bekomme ich das hin?
Wäre echt super wenn mir da mal jemand einen Denkanstoss in die richtige Richtung geben könnte! :)
Grüße und vielen Dank schonmal
- Anmelden oder Registrieren um Kommentare zu schreiben
es gibt in Views unter
am 12.10.2010 - 07:38 Uhr
es gibt in Views unter "Output this field as a link" den Punkt
"Rewrite the output of this field" wo du dann auch token-Werte findest.
Fehlt die Kontinent-ID als Token, mußt die ID als Feld anlegen (z.B. als nicht sichtbares) und kannst dann deinen Link rewriten:
http://www.example.com/firmen/kontinent/[kontinent-id]
Triple-Post, respekt :D Ne
am 12.10.2010 - 08:58 Uhr
Triple-Post, respekt :D
Ne aber vielen Dank, werd das gleich mal ausprobieren! :)
Zum Thema Firmen importieren weist du nichts, oder?
Also inzwischen habe ich
am 12.10.2010 - 15:07 Uhr
Also inzwischen habe ich alles so gelöst wie ich es brauche:
- Die Tabellen mit den Kontinenten, Ländern und Bundesländern hängen per Table Wizard an den Views dran
- Die Tabelle mit den Firmen exportiere ich zunächst als CSV und importiere sie dann mit Node import als Nodes direkt ins Drupal
- Über pathauto bekommen sie gleich noch den richtigen Alias
- Mit den Views zeige ich dann Seite für Seite an, geregelt wird das alles per Argumente (% Zeichen in den Page-Path und dann bei Argumente die Werte anlegen)
Somit bleiben jetzt die 3 Tabellen Kontinente, Länder und Bundesländer seperat nur angeknüpft und die die Firmen selber als Beiträge. somit kann ich die Firmen bewerten, Kommentare schreiben oder um x-belibiege Felder mit CCK erweitern! :)