Posted by martinshield on February 17, 2009 at 5:55pm
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
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()
Funktionen du tänker på är
views_embed_view().Thomas Barregren – NodeOne
Panels-modulen fixar detta
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
Jakob Persson – Leancept – Results-only digital and marketing consultants – Personal blog
Nja...
Nu skall jag argumentera mot min egen kollega - det blir spännande. ;-)
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 Barregren – NodeOne
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
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
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
Tobias Sjösten