Ein Dynamisches View erzeugen!
Eingetragen von SaschaCap (98)
am 18.09.2008 - 02:04 Uhr in
am 18.09.2008 - 02:04 Uhr in
Guten Abend ^^,
ich möchte gerne eine art dynamische View erstellen, dass heisst:
In allen Nodes die geschrieben werden muss man ein Taxonomy Term Begriff angeben. Wenn ich jetzt z.B. auf ein Story Node gehe steht die Story Normal da und weiter unten sollte dann ein View sein wo weitere Storytitles aufgelistet sind mit den selben Taxonomy Term Begriff wie die ganze Node.
Also bräuchte da ein View der den Term Begriff irgendwie aufnimmt und dann halt das macht was ich will. ^^
Gibt es da eine Lösung für so einen Dynamischen View?
lg Sascha
- Anmelden oder Registrieren um Kommentare zu schreiben
View einbetten
am 18.09.2008 - 06:51 Uhr
Hallo,
Du kannst mit folgendem Code in der node.tpl deines Inhaltstypen ja eine View einbetten (weitere Infos hier: http://drupal.org/node/99721).
<?php
// show the custom view
$view = views_get_view('myCustomView');
print views_build_view('page', $view, array(), false, false);
?>
Dabei kannst Du für array() ja deinen Taxonomy Begriff als Argument an die View übergeben, d.h. die View wird dann diesen Begriff als Filter verwenden.
Viele Grüße,
www.maximago.de
Viele Grüße,
www.maximago.de/technologie/drupal.aspx
Ahoi, ok und was muss ich
am 18.09.2008 - 07:09 Uhr
Ahoi,
ok und was muss ich jetzt genau in die array() eintragen? Denn ich kann ja schlecht per Hand in den Code alle 400 Begriffe eingeben oder müsste ich das machen?
lg SaschaCap
Wenn dein Pferd tot ist, steig ab.
da die Taxonomy deines
am 18.09.2008 - 11:24 Uhr
da die Taxonomy deines aktuell gewählten Beitrages als Variable mitgeführt wird, müsstest du eben nicht explizit den Begriff selbst reinschreiben (sonst hättest du in der tat viel zu tun;), sondern die Variable.
Wie die allerdings heißt, kann ich dir leider auch nich sagen. Aber ich bin mir sicher, dass die mitgeführt wird und ausgelesen werden kann.
$terms
am 18.09.2008 - 14:48 Uhr
$terms sollte dir eigentlich die mit der Node verknüpften Begriffe ausspucken.
Ansonsten lass dir doch mal mit print_r($node) alle Felder etc. der node ausgeben, da wirst Du dann sicherlich auf deinen Begriff stoßen und dann ggfs. auch wissen, wie Du an den ran kommst.
Viele Grüße,
www.maximago.de
Viele Grüße,
www.maximago.de/technologie/drupal.aspx
Also habe es mal so
am 18.09.2008 - 16:26 Uhr
Also habe es mal so gemacht:
<?php
// view über den Namen laden
$view = views_get_view('newstaxo');
// View einfügen und Argumente übergeben, kein Pager, auf 3 Nodes beschränken
print views_build_view('embed', $view, array($argumente,$terms), false, 1);
?>
Aber das funktioniert anscheinend nicht ^^.
Wenn dein Pferd tot ist, steig ab.
moin moin so jetzt habe ich
am 19.09.2008 - 06:27 Uhr
moin moin
so jetzt habe ich noch was gefunden aber das funktioniert auch nicht:
<?php
$view_name = 'taxonews';
$view_args = array($term);
$view = views_get_view($view_name);
print views_build_view('block', $view, $view_args, FALSE, 1);
?>
Wenn dein Pferd tot ist, steig ab.
Hast Du das entspr. Argument in der View gesetzt?
am 19.09.2008 - 06:38 Uhr
Wie sieht denn deine Views aus? Hast Du da auch dran gedacht, das Argument zu setzen (und dann z.B. "Display all values")?
Ansonsten sieht es nämlich okay aus von der Syntax her.
Viele Grüße,
www.maximago.de
Viele Grüße,
www.maximago.de/technologie/drupal.aspx
... hab gelesen dass es bei
am 19.09.2008 - 09:09 Uhr
... hab gelesen dass es bei views2 "views_embed_view" heißen muss und nich "views_build_view" - den fehler hatte ich neulich auch.
Ich glaube die Parameter sind dann aber anders.
Also ich habe als Argument
am 19.09.2008 - 18:57 Uhr
Also ich habe als Argument das eingegeben:
Taxonomy: Term ID aber dennoch zeigt er mir nichts an. Mit "views_embed_view" bekomme ich sogar eine koplett weisse Seite angezeigt!
Wenn dein Pferd tot ist, steig ab.
Das zweite ist Logisch, denn
am 20.09.2008 - 00:34 Uhr
Das zweite ist Logisch, denn die Funktion existiert noch nicht in drupal5
was ist denn $term genau, kannste du es mal mit print_r($term) uns zeigen?, es muss die $termid sein
--------------
Blog www.freeblogger.org: Deutscher IRC-Channel: irc.freenode.net #drupal.de ... Jabber-me: dwehner@im.calug.deXING
huhu
am 20.09.2008 - 01:35 Uhr
Hier das mit print_r($term)
stdClass Object ( [tid] => 23 [vid] => 2 [name] => World of Warcraft [description] => test beschreibung [weight] => 0 )
Also noch mal für Dumme denn ich verstehs einfach nicht. Ich erstelle so eine View:
Felder: na das was ich angezeigt bekommen soll nehmen wir z.b. jetzt Node Titels!
Argument: Argument Type: Taxonomy: Term ID; Default: Display all Value;
Der Code sieht so aus:
<?php
$view_name = 'newstaxo';
$view_args = array($termid);
$view = views_get_view($view_name);
print views_build_view('page', $view, $view_args, FALSE, 1);
?>
Und raus kommt bei mir kommt ein Listenpunkt mehr nicht! Was mir noch aufgefallen ist im Titel oben beim Browser fehlt jetzt auch der Titel!
Wenn dein Pferd tot ist, steig ab.
?php$view_name =
am 20.09.2008 - 12:12 Uhr
<?php
$view_name = 'newstaxo';
$termid = $term->tid;
$view_args = array($termid);
$view = views_get_view($view_name);
print views_build_view('page', $view, $view_args, FALSE, 1);
?>
--------------
Blog www.freeblogger.org: Deutscher IRC-Channel: irc.freenode.net #drupal.de ... Jabber-me: dwehner@im.calug.deXING