[Gelöst] Alle Taxonomy Inhalte anzeigen abhängig von der angezeigten Seite
am 15.09.2010 - 12:19 Uhr in
Hallo Allerseits und schon mal danke fürs lesen (mehr Dank dann später, wenn mir geholfen werden konnte).
Ich habe eine Problemstellung, bei der ich leider nicht weiter komme, die aber wie ich finde eine sehr schicke Sache ist. Um folgendes Problem geht es:
Ich möchte auf verschiedenen Seiten eine dynamische Sidebar anbieten, deren Elemente von Redakteuren bearbeitet werden können. (Nein Node 2 Block oder Co. können nicht verwendet werden.)
Dazu habe ich einen neuen Inhaltstypen angelegt namens "sidebar_elemts". In den können die Redakteure den ganzen Inhalt eintragen den sie wollen. Die Reihenfolge der Anordung der Blöcke wird über ein CCK-Feld realisiert.
Die Zuordnung welches Element auf welcher Seite angezeigt wird, wird über ein eigenes Taxonomy Vokabular realisiert. (Soweit noch kein Problem).
Jetzt zum Problem :)
Ich möchte eine View erstellen die einen Block ausgibt, den ich in die Sidebar schieben kann. Dieser block soll abhängig von der angezeigten Seite den jeweils dazu (via Taxonomy) passenden Inhalt anzeigen.
Meine Herangehensweise:
Ich habe die view angelegt, alles ausgegebn was ich brauche, sortierung usw. Dann wollte ich über Argumente abfragen und handeln, welcher Inhalt angezeigt werden soll.
Also habe ich über "Argumente" ->hinzufügen<- "Node" - "Node ID" einen Filter angelegt. Bei Validierung auf PHP geklickt und folgenden Code eingegeben. (Und da beginnt das Problem, dass ich mit Argumenten noch nie wirklich gearbeitet habe.
Meine Idee von Code ist:
<?php
if(arg(2) == 19 && arg(1) == 'taxonomy') return 23;
?>
Ohne die öffnenden und schließenden php klammern.
die URL der ersten test Seite ist ...taxonomy/term/19 (Eine Taxonomy Page)
Die Taxonomy ID der dazu gehörigen Vokabulareintrag in meinem neuen Taxonomy ist die 23.
Aber oh wunder so geht das nicht.
Und jetzt (hoffentlich) ihr.
Was mache ich falsch, wie mache ich es richtig.
Bitte bitte hilfe.
Danke
Sebastian
- Anmelden oder Registrieren um Kommentare zu schreiben
Argumente
am 15.09.2010 - 13:48 Uhr
Hört sich ganz so an, als ob Du dich mit den Argumenten in den Viewseinstellungen auseinander setzen musst. Argumente sind sozusagen "dynamische Filter".
Video hier: http://gotdrupal.com/videos/drupal-views-arguments
Schon mal nicht schlecht
am 16.09.2010 - 08:18 Uhr
Hallo @docmiller,
vielen Dank für das Video, es hat mir schon mal geholfen zumindest das Prinzip der Argumente zu verstehen.
Leider konnte es mir bei meinem Problem noch nicht ganz helfen.
Ich kann jetzt zwar auf den Parameter zugreifen, doch ich habe noch das Problem, dass ich ihn nicht ändern kann.
Noch mal das Problem:
die URL ist taxonomy/term/19 ich greife auf den 3. Parameter zu (also die 19) und möchte anhand des 3. Parameter etwas laden. Aber es soll wenn die 19 erscheint die Taxonomy mit der nummer 23 aufgerufen werden.
Daraus ergeben sich für mich 2 Fragen
Danke fürs erneute lesen.
Sebastian
Das klingt ziemlich nach "von
am 16.09.2010 - 09:11 Uhr
Das klingt ziemlich nach "von hinten durch die Brust ins Auge". Sinnigerweise würde doch auf auf der Tax-Page für die TID 19 auch Inhalt für die TID 19 dargestellt und nicht 23. In ersterem Fall wäre dein Problem straight forward und mit Standardmitteln zu lösen (Views 2 liefert standardmäßig sogar einen zunächst deaktivierten View der Tax-Pfade überschreibt, in dem man sich die Funktionsweise mit Filter etc. abschauen kann).
Wenn ich bei Mäcces einen Cheeseburger bestelle bekomme ich ja auch keine Bockwurst. Was heißt nun in dem Zusammenhang "in meiner neuen Taxonomie"? Was ist die alte und was die neue und warum gibt es die neue überhaupt?
Suchmaschinenoptimierung (SEO) & Drupal
Die Lösung
am 16.09.2010 - 10:27 Uhr
Hallo,
ich habe gerade die Lösung gefunden.
Zum Teil war ein meine eigene dummheit aber zum großen Teil mein Unwissen, wo ich was eingeben muss.
Hier meine Lösung:
Unter Standardargument zu Verfügung stellen -> PHP Code habe ich recht einfach nur folgendes eingegeben:
if(arg(0) == 'taxonomy' && arg(2) == '19') return 23;
Damit wird die 23 verwendet.
Danke euch alle.