Views beronde på uri innehåll!

Events happening in the community are now at Drupal community events on www.drupal.org.
martinshield's picture

Hej,
Kan någon snäll förklara hur man genom en View och ett block kan hämta data för det aktuella nod id:et.

Så här långt har jag kommit:
Jag har skapat en view som hämtar den datan jag vill ha.
Placerar ut den rätt genom ett block.
Sen vill jag att den hämtar rätt data som tillhör just den noden.

Svårt att förklara men är de någon som förstår?

/Martin

Comments

Argument

blackdog's picture

Det är argument du vill använda, men tyvärr hanteras inte det i block, som standard. Det du kan göra för att komma runt detta är att ropa på din view med PHP, functionen heter views_get_view tror jag. Kolla mer här.

// Hans Nilsson, Kodamera AB
www.kodamera.se

// Hans Nilsson, Kodamera AB
www.kodamera.se

views_embed_view()

TBarregren's picture

Funktionen du tänker på är views_embed_view().


Thomas BarregrenNodeOne

Panels-modulen fixar detta

solipsist's picture

Panels-modulen fixar detta (och mycket mer). Noden som visas bildar en kontext, du kan sedan genom den kontexten ladda in relaterad information såsom andra noder via nod-referenser eller taxonomi-termer. Även Context-modulen stöder denna funktion och är lite mer lättviktig än Panels. Detta är en teknik vi använt för flera av våra kunders webbplatser.

Annars kan du, som Hans skriver, använda PHP-kod i ditt block men jag skulle nog inte gå den vägen i dagsläget nu när vi har Panels och Context och finfin abstraktion för detta. Kod i block är svår att underhålla, för att inte tala om versionshantera. :)


Jakob Persson - NodeOne

Nja...

TBarregren's picture

Nu skall jag argumentera mot min egen kollega - det blir spännande. ;-)

Annars kan du, som Hans skriver, använda PHP-kod i ditt block men jag skulle nog inte gå den vägen i dagsläget nu när vi har Panels och Context och finfin abstraktion för detta. Kod i block är svår att underhålla, för att inte tala om versionshantera. :)

Jag tycker inte du skall använda dig av Panels eller Context enbart för att åstadkomma det du frågar om. Det skulle vara att skjuta mygg med kanon. I det läget hade jag gjort som Hans säger. Men om du har ett reellt behov av den kraft som Panels, Context och snarlika moduler ger så är Jakobs förslag naturligtvis smartare.

För övrigt så löser vare sig Panels eller Context frågan om hur man versionshanterar kod i block. Det är för övrigt ett problem som du har i många andra sammanhang. Inte minst Views i sig.


Thomas BarregrenNodeOne

P.S. Jag glömde att skriva att mycket av den kraft som Panels ger kommer från begreppet Context som numera också finns i Views fast under namnet Relationships. D.S.

Finns beskrivet i Views-introduktionen

itangalo's picture

Precis det du är ute efter finns beskrivet i guiden Views: grunderna och lite till. Hoppa till screenshot 107 om du vill komma rätt direkt (men det finns risk att sammanhanget blir lite svårt att förstå).

Som blackdog och Solipsist påpekar finns det andra sätt att göra det på också.

Lycka till!
//Johan Falk, Solna

Underbara Views

tobiassjosten's picture

Visibility-diskussionen åsido - jag tror att OP menade något i linje med vad Hans var inne på.

För att hämta ut information om en nod som du besöker med Views är det just ett argument du behöver och Views har faktiskt ett utmärkt medföljande sådant som fungerar oavsett display. Testa följande recept:

1) I din befintliga vy, lägg till ett nytt argument för Node: Nid.

2) För Action to take if argument is not present: väljer du Provide default argument.

3) I det val som rullas ut väljer du, för Default argument type: , valet Node ID from URL.

4) Lägg på en valfri validator (för om du t.ex. endast vill hämta tillåta Page-noder).


Tobias Sjösten | NodeOne

Sweden

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds:

Hot content this week