Wie kann ich einen eingebetteten View per Argument filtern?

am 05.12.2007 - 16:51 Uhr in
Hallo zusammen,
ich versuche seit einer Woche das folgende Problem zu lösen, aber diverse Suchen und ein Forum-Thread auf drupal.org (http://drupal.org/node/196625) haben mich nicht entscheidend weiter gebracht. Vielleicht liegt's an meinem Englisch, deshalb die Hoffnung, dass es hier besser klappt.
- Ich habe 2 CCK Inhaltsarten: "Städte" und "Sehenswürdigkeiten"
- Ich habe mir einen View gebaut, der alle Sehenswürdigkeiten enthält, sich die "Stadt" aus dem URL-Pfad nimmt und danach dann filtert (nach: Taxonomie: Name des Begriffs)
- Dazu nutze ich folgenden Argument Handling Code:
$args[0] = arg(3);
return $args;
(Der Pfad ist übrigens: www.beispiel.de/kontinent/land/region/stadt)
Das klappt solange gut, wie ich einen View direkt unter dem gennanten Pfad anzeige.
Was allerdings nicht klappt:
- Ich habe den View mitttels Viewfield in den CCK Inhaltstyp "Stadt" eingebaut
- Rufe ich jetzt unter dem genannten Pfad den CCK Inhaltstyp auf, dann ist der View zwar eingebettet, aber der Filter funktioniert nicht
Habt ihr irgendwelche Ideen wie ich das beheben kann? Ich glaube sinngemäß müsste ich dem View sagen:
"Nimm auch dann das 3. Argument aus der URL wenn du in einem anderen Node eingebettet bist"
Dementsprechend habe ich mit "build-type == 'embed'" rumgespielt, aber das hat nichts gebracht.
PHP versuche ich gerade erst zu lernen. Da hab ich leider wenig Plan, außer dass ich mittlerweile weiss, das $args[0] ein Array ist (hurra :-)
Danke für eure Hilfe!
- Anmelden oder Registrieren um Kommentare zu schreiben
Views, Argumente und Pfad
am 05.12.2007 - 20:29 Uhr
Hm, verstehe ich nicht ganz. Eine View mit Argumenten funktioniert ja nur mit korrektem Pfad. Wie rufst du denn unter dem "genannten Pfad den CCK Inhaltstyp" auf???
Normal wäre doch, wenn deine View einen Filter auf genau diesen Inhaltstyp beinhalten würde.
vg
--
md - DrupalCenter
mdwp* :: Drupal Services
schau mal im Handbuch unter
am 05.12.2007 - 20:36 Uhr
schau mal im Handbuch unter "Kurztipps - Dinge die Stunden sparen können." (http://www.drupalcenter.de/handbuch/6715)
Hilft dir das? Das wäre wenn du das direkt in ein tpl.php file in deinem Theme schreibst:
http://www.drupalcenter.de/handbuch/6804
Ansonsten kannst du im CCK view field den du für deinen Content Typ festgelegt hast auch Argumente konfigurieren.
Hi, danke für die schnellen
am 05.12.2007 - 21:45 Uhr
Hi, danke für die schnellen Antworten. Also als Testszenario habe ich mir folgendes gebastelt:
Dem View habe ich zum testen mal folgenden festen Pfad gegeben:
www.beispiel.de/europa/frankreich/ile-de-france/paris/view.html
Dem CCK Node in den ich den View eingebettet habe ich folgenden Pfad gegeben:
www.beispiel.de/europa/frankreich/ile-de-france/paris/node.html
Wenn ich jetzt den Pfad des Views eingebe funktioniert der Filter.
Wenn ich aber den Pfad des CCK Nodes angebe wirft der View im Node eine ungefilterte Liste aus.
Das verstehe ich nicht ganz, denn der Aufbau der URL ist ja der gleiche.
Zum Verständnis mal der schematische Aufbau des CCK Nodes:
########### Headline ##########
#### Intro Text über Paris ####
######### mehr Text############
###### Viewfield mit ##########
######## Verweis auf ##########
## den angelegten View ########
Was den Tipp unter http://www.drupalcenter.de/handbuch/6804 angeht. Ich fürchte soweit bin ich noch nicht. Das Snippet an dieser Stelle würde ja dann für jeden Block gelten, oder? Ich würde das aber nur auf Blocks in einer bestimmten Inhaltsart beschränken. Leider habe ich aber für diesen Inhaltstyp keine eigene .tpl.php. Und Theming ist mir momentan noch ein Rätsel. Zudem reichen meine PHP Kenntnisse nicht aus, um Schleifen/Bedingungen aufzusetzen.
Vielleicht habe ich mir da einfach etwas zu viel vorgenommen :-/