sitename oder domain-url als argument??
am 08.07.2008 - 11:55 Uhr in
Hallo,
kennt jemand einen Weg/Hack, wie man das Views-Modul dazu bringen kann den Domain-Namen (aktuelle URL bei einer MultiSite-Installation) oder den Seitennamen (sitename NICHT den node-Titel! ;-) als Argument zu verwenden??
Hintergrund: ich habe eine Multisite-Installation, bei der ich für eine Drupal-Installation mehrere Domains hinterlegt habe. Nun sind viele Menüeinträge für alle Domains gleich, aber vor allem bei meinen "Views-Kompositionen" würde ich die Ergebnisse gerne nach der jeweiligen Seite filtern! Natürlich könnte ich eine zusätzliche Taxonomie einführen (für den Ortsnamen), aber das würde ziemlich doof im Titel aussehen (www.musiker-in-freiburg.de/freiburg/views...).
Grüße
Kai
- Anmelden oder Registrieren um Kommentare zu schreiben

Zwei ungetestete Ideen ins
am 08.07.2008 - 15:51 Uhr
Zwei ungetestete Ideen ins Grobe gedacht:
- mittels Computed Field die aktuelle URL auslesen und dieses der View als Argument mitgeben
- doch Taxonomy und mit Pathauto den Pfad anpassen
ALLEN Nodes ein "stilles Feld" verpassen
am 08.07.2008 - 18:03 Uhr
würde ich die Ergebnisse gerne nach der jeweiligen Seite filtern
Man koennte ALLEN Nodes ein "stilles Feld" verpassen. Dieses Feld wird beim Erstellen der Node automatisch gefuellt. Mit dem Domain-Namen. Dieses Feld wird nie angezeigt - mit CCK einfach zu regeln. Ist es ein Computed Field - bietet sich an wegen dem Automatismus - kann man das Feld per PHP relativ einfach entsprechend fuellen.
Diese "stillen Felder" kann man in den Views abfragen.
Fuer die Angefragte Loesung mit einem Argument:
Man koennte doch wie gewuenscht in der Views-URL einen Parameter als Argument angeben. Die in Frage kommenden Argumente werden mit mod_rewrite abgefangen und entsprechend bearbeitet.
-------------
quiptime
Nur tote Fische schwimmen mit dem Strom.
Prima, das werde ich
am 08.07.2008 - 18:02 Uhr
Prima, das werde ich probieren.
Bei der Taxonomie-Lösung: da gebe ich doch schon im View eine Pfad an, oder? Und wie kann ich das mit dem pathauto kombinieren, so dass der Ortsname dann wieder rausfliegt?
Gruß
Kai
Hallo quiptime, du bist ja
am 08.07.2008 - 18:16 Uhr
Hallo quiptime,
du bist ja wahnsinnig aktiv ;-)
Also, dass mit dem stillen Feld habe ich verstanden und werde das wohl auch hinbekommen.
Das mit dem mod_rewrite habe ich jetzt aber noch nicht verstanden.
Also, nehmen wir mal an, ich hätte ein stilles Feld mit einem Ortsnamen. Dies würde ich dem User noch anzeigen, damit er seine Portalzugehörigkeit auswählen kann. Danach wird es nicht mehr eingeblendet und ist in Teaser und node-Ansicht ausgeblendet.
Jetzt kann ich ja in einem View sagen, dass er auf das Feld stiller_Ort zugreifen soll. Dies als Argument. Dann würde bei Eingabe von www.meinportal-ortX.de/ortX/ ja die gewünschte Übersicht kommen. Aber - dann habe ich 2x ortX in der URL stehen. Wie bekomme ich das nun hin, dass er statt /ortX z.B. /uebersicht anzeigt?
Gruß
Kai
Etwas ist noch
am 08.07.2008 - 19:01 Uhr
Etwas ist noch missverstaendlich.
Was meinst Du mit Argument wenn Du von einem View redest?
Meinst Du damit einen Filter? Oder meinst Du ein Argument als Parameter einer URL?
Dann würde bei Eingabe von www.meinportal-ortX.de/ortX/ ja die gewünschte Übersicht kommen. Aber - dann habe ich 2x ortX in der URL stehen. Wie bekomme ich das nun hin, dass er statt /ortX z.B. /uebersicht anzeigt?
Genau an der Stelle kommt mod_rewrite zum Einsatz.
Du erstellst mod_rewrite Regeln die URL's nach dem Muster
www.meinportal-ortX.de/ortX/in eine URLwww.meinportal-ortX.de/uebersichtumwandeln. Je Domain die in einer URL vorkommen kann gibt es eine mod_rewrite Regel.(Mir ist nur noch nicht klar ob diese Umwandlungen der URL's dazu fuehren das der zu erreichende Content nicht mehr erreichbar ist.)
Irgendwie habe ich noch nicht ganz verstanden was Du erreichen/realisieren willst.
-------------
quiptime
Nur tote Fische schwimmen mit dem Strom.
Ja, ich meine Argumente,
am 08.07.2008 - 19:30 Uhr
Ja, ich meine Argumente, also die Platzhalter für den Aufruf über die URL.
Ziel ist es eigentlich, in einem View nur die Inhalte anzuzeigen, die einer domain zugeordnet sind.
Ich möchte ganz konkret eine mulitsite-Installation machen und verwende dazu die Möglichkeit Kopien von sites/default anzulegen. default ist z.B. www.musiker-in-deutschland.de. Diese Domain hat viele Inhalte, die auf allen anderen Domains, wie www.musiker-in-bonn.de oder www.musiker-in-goettingen.de verfügbar sein sollen.
Jetzt will ich aber auch ortsgebundene Inhalte Anzeigen, also z.B. einen Link Dienstleister vor Ort, wo ich dann sehe, dass es in Goettingen 10 Musikergeschäfte gibt, 2 Geigenbauer, 13 Eventräume, .... wenn ich in Bonn bin aber halt nur die Anzahl derjenigen, die auch in Bonn sind. Im Prinzip so eine Art Branchenbuch für den Raum.
Wenn ich dann auf Eventräume klicke, dann soll es eine View-Teaser-Ansicht der Eventräume geben (ortsgebunden) und wenn ich dann auf einen Teaser klicke, soll ein CCK-Formular mit Details angezeigt werden.
Wichtig ist, dass ich eine Mischung von ortsunabhängigen Inhalten und ortsgebundenen Inhalten habe.
Nun dachte ich, dass ich das am besten über Views realisiere. Die Leute kommen aber immer über einen Domainnamen rein, also z.B. www.musiker-in-goettingen.de - und da muss ich dann den korrekten Inhalt parrat haben.
Das echte Argument ist also die URL der Domain. Es wäre aber kein Problem, z.B. in der Eingabemaske ein Taxonomiefeld vorzusehen. Ich möchte aber halt immer den identischen Menüeintrag produzieren um die ortsgebundenen Inhalte anzuzeigen. Also www.musiker-in-goettingen.de/dienstleister und www.musiker-in-bonn.de/dienstleister sollen nur die regionalen Dienstleister anzeigen.
Ist nun klar was ich machen möchte?
Gruß
Kai
Ok verstanden. Lass mich
am 08.07.2008 - 19:48 Uhr
Ok verstanden. Lass mich kurz ueberlegen. Habe eben einen anderen Gedanken vor's Auge bekommen.
-------------
quiptime
Nur tote Fische schwimmen mit dem Strom.
Bevor ich mit meinem
am 08.07.2008 - 20:06 Uhr
Bevor ich mit meinem Gedanken vor dem Auge weiterkomme.
Noch eine Frage zu Deiner Multidomain-Installation.
Ist es moeglich, eine Node zu erstellen, beispielsweise node/49, und diese Node mit den einzelnen Domains aufzurufen? Also so:
www.musiker-in-goettingen.de/node/49
www.musiker-in-bonn.de/node/49
und dabei diese Node jeweils angezeigt zu bekommen.
-------------
quiptime
Nur tote Fische schwimmen mit dem Strom.
Hm, ich glaube, dass dies
am 08.07.2008 - 20:15 Uhr
Hm, ich glaube, dass dies mit einem normalen content-link nicht geht. Deshalb ja meine Hoffnung mit Views. Aber ich habe gerade auch noch was entdeckt, was SEEEEEHR vielversprechend aussieht: das Modul Domain Access. Dort geht von der Theorie her alles was ich will. Muss das mal ausprobieren und melde mich dann diesbezüglich.
LG
Kai
Du hast meine Frage nicht
am 08.07.2008 - 20:19 Uhr
Du hast meine Frage nicht beantwortet.
Und was heisst hier das es mit einem normalen Contentlink nicht geht?
Warum sollte es nicht damit gehen? Genau das ist meine Idee. Aber dazu brauche ich die Antwort auf meine Frage mit node/49.
-------------
quiptime
Nur tote Fische schwimmen mit dem Strom.
so ein Quatsch, habe deine
am 08.07.2008 - 20:42 Uhr
so ein Quatsch, habe deine Frage total missverstanden. Ja, natürlich geht das. Auch mit Aliasen. So habe ich es ja momentan, da ich mit meinen Domains die DB auch komplett gemeinsam verwende (also ohne Tabellen-Prfix für bestimmte Tabellen). Egal von welcher Seite aus ich derzeit Content erstelle, er ist über die andere Domain genauso erreichbar.
Gruß
Kai
Ok. Wenn Du mit dem Modul
am 08.07.2008 - 20:52 Uhr
Ok.
Wenn Du mit dem Modul "Domain Access" Dein Problem nicht loesen kannst melde Dich. Ich erklaere Dir dann meine Idee mit den Nodes als kleinsten gemeinsamen Nenner.
-------------
quiptime
Nur tote Fische schwimmen mit dem Strom.
Gib doch bitte mir ..
am 08.07.2008 - 21:03 Uhr
.. die Erklärung. Ich habe ein ähnliches Problem.
Besten Dank im Voraus
UwBach
Dummy-Nodes
am 08.07.2008 - 22:34 Uhr
Also meine Idee ist Folgende.
Sie beschreibt nur den prinzipiellen Ansatzpunkt. Konzeptionelle Verfeinerungen sind entsprechend der mir nicht bekannte konkreten Aufgaben notwendig und sogar angebracht um Automatismen zu erzeugen.
Zunächst Views beiseite stellen. Sie werden nicht primär verwendet. Ebenso sind keine URL-Argumente im Zusammenhang mit den einzelnen Domains notwendig und ein Umschreiben von URL's mittels mod_rewrite ist auch nicht notwendig.
Nodes werden als primär Ausgangspunkt verwendet um (sekundär) einzelne Views aufzurufen.
Das ist schon alles.
Die primären Nodes sind die eigentlichen Steuerelemente. Man könnte sie auch als Dummy-Nodes bezeichnen.
Die von diesen Nodes angesprochenen (sekundären) Views präsentieren die zu den jeweiligen Domains gehörenden Inhalte - die Node als solche zeigt nichts an. Sie zeigt die jeweiligen Views an.
Praktikabler ist es, die Einbettung der Views in den Nodes selbst vorzunehmen. Beispiel:
<?phpprint views_embed_view('Node', 'Seite');
?>
Hierbei ist "Node" der Name des View und "Seite" ist eine der definierten Ansichten des View.
Da es hier um D6 geht kann der von D5 bekannte Weg zum Einbetten von Views mit
views_build_view()nicht verwendet werden. Bei D6 statt dessenviews_embed_view().Views 2 Documentation.
Views 2 API Manual
http://drupal.org/node/265190
Mit Views 2 eröffnen sich gegenüber den bisherigen mit Views 1 bekannten Dingen völlig neue Möglichkeiten.
z. Bsp.
Ein View kann mehrere Ansichten haben. Diese einzelnen Ansichten kann man beim Einbetten ansprechen und so unterschiedliche Ergebnisse anzeigen.
Somit kann ein einzelner View beliebig viele völlig unterschiedliche Inhalte anzeigen.
-------------
quiptime
Nur tote Fische schwimmen mit dem Strom.
Hallo quiptime, das ist
am 09.07.2008 - 07:26 Uhr
Hallo quiptime,
das ist großartig! Großer Vorteil: man kann in den Views machen was man will - und die URL bleibt sauber. Sehr schön!
Ich habe mich dennoch entschieden ausführlich mit Domain Access zu experementieren, da hier noch weitere Probleme "erschlagen" werden, die noch auf mich zukommen.
Ich kann dort Domains direkt im Druapl Interface erstellen, ohne neue Verzeichnisse im sites-Ordner anzulegen und ohne mit Kopiene von settings.php zu arbeiten. Dies ermöglicht das Einrichten neuer Domains auch durch unerfahrene Nutzer.
Einem Benutzer kann direkt eine Domain zugeordnet werden. Neue Benutzer-Inhalte werden daher direkt der korrekten Domain zugeordnet.
Zusätzlich kann jedem Inhalttyp die Domainzugehörigkeit zugeordnet werden. Bei beiden gilt: neben einer eingeschränkten Sicht in nur bestimmten Domains gibt es auch die Möglichkeit einen Nutzer oder Inhalt zentral allen Domains zuzuordnen.
In Views gibt es ein neues Argument, dass die aufrufende Domain mit überprüft.
Und, für mich eine ganz interessante Erweiterung: Die Suche kann auf die aufrufende Domain beschränkt werden.
Bin mal gespannt, wie performant und stabil das ganze ist.
Viele Grüße & 1000 Dank für deine tolle Lösung (die ich mit Sicherheit zu einem späteren Zeitpunkt noch verwenden werde!)
Kai