Hej,
har just börjat kika på drupal efter att ha varit inne i joomla-världen. Det mesta är ganska överväldigande just nu men jag hoppas det klarnar. Nu till min fråga:
Jag vill visa 3 st noder i ett block. Jag vill kunna applicera lite css och jqueries också. Hur ska jag enklast få in det content jag vill i blocket? Har tittat lite på Panels och Views men inte riktigt kunnat få dessa att göra det jag vill. Verkar falla på att jag inte kan customisera innehållet i blocket precis som jag vill. Tacksam för en liten knuff i rätt riktning.
Kanske är det bästa att skapa en modul som plockar ut innehållet från databasen och som jag sedan har full kontroll över själv. Exempelvis via ngn slags admindialog där man kan ange vilka noder man vill få ut? Eller är jag helt ute o cyklar...
Mvh,
Jonas
Comments
Vill du bara ha en länk
Vill du bara ha en länk till noden så kan du gå in på Byggstenar / Block och göra ett nytt statiskt block i html, eller så skriva in egen php kod (om du har modulen PHP filter aktiverad) så du själv kan hämta noderna ur databasen, men det borde dock finnas enklare sätt.
Vill du visa noderna en och en i varsitt block så finns http://drupal.org/project/nodeasblock
Views är en väldigt kraftfull modul för att skapa databasfrågor. Jag tittade lite nu, dock hittade jag inget sätt att hämta 3 noder baserat på titel. Men om du skapar en ny view och klickar på + på "filter" så kan hämta noderna baserat på den mesta information som finns kopplat till noden. Sen kan du skapa både sidor, block och feeds som visar datan.
Är det någonting som är gemensamt och unikt för de tre noderna du vill hämta? t.ex. vokabulär, eller publiceringsdatum+författare? I sådana fall kan jag försöka säga mer exakt hur man gör i views, om jag kan. Det mesta som handlar om att hämta och visa data brukar gå att ordna med views, och cck, http://drupal.org/project/cck.
Både drupal och views skriver ut css ID och class, så du har ganska mycket att jobba med för att skapa css, då rekommenderas firebug och sen gå in och ändra i templaten, som i joomla, men jag tror att drupal skriver ut fler selectors än joomla och är enklare att skapa css för på det sättet.
Jqueriy har jag inte prövat, men vet att det ska gå bra i drupal.
Om du vill ha en lista med
Om du vill ha en lista med tre (eller godtyckligt antal) noder som du via ett webbgränsnitt kan byta ut och sortera som du önskar är Nodequeue + Views bäst. Du kan åstadkomma samma sak med lite kod men det innebär också att det blir lite krångligare att underhålla.
Du nämner inte vad du ska använda jQuery till men med Views får du iaf nog med klasser och ID:n att söka på för att målsöka just dessa noder.
Jakob Persson
imBridge - www.imbridge.com
Jakob Persson – Leancept – Results-only digital and marketing consultants – Personal blog
Hejsan, tack för svaren
Hejsan,
tack för svaren :-)
Jag kanske var lite otydlig, jag vill använda noderna i en vertikal acordion. Alltså ett block högst upp som tar in mitt content och visar det i en accordion med hjälp av lite jquery. Så eventuellt måste jag lägga mitt content i en lista.
Jag antar att de 3 noderna kan ha en gemensam vokabulär så att man kan ta ut just dem man vill, de ska inte användas ngn annanstans. Så då borde ju views vara ngt för mig? Som jag förstår det kan jag styla det jag hämtar med views på ngt sätt, ser att när jag klickar på theme->information min view som jag byggt så får jag fram en lista på .tpl.ph-filer som jag borde kunna använda för att editera css'en frö min view eller hur?
Eller kanske skapar jag min view och sedan finns det en hook_view() som jag kan använda i min custom-modul för att plocka ut datan... Hehe, vad jag ser finns det många sätt att göra ngt i Drupal men jag vill ju göra det enkelt och smidigt.
Men sedan att få in javascript där, hur kan det göras? I samma tpl.php-fil?
Ska kika på nodeque också :)
Mvh,
Jonas
Styla blocket
Att ge ett anpassat utseende för blocket är förmodligen lättast genom att använda block-ID - varje block som skapas har ett unikt ID som kan användas exempelvis för tpl.php-filer. Jag har inte syntaxen klar för mig just nu, men det är något i stil med block-module-delta.tpl.php.
ID och sånt går förstås också att använda i CSS-filer.
Om du inte tror att du har användning för Views till något annat på din webbplats är det troligen klokare att ta Nodequeue. Men med stor sannolikhet vill du ha Views till en massa andra saker, så då är det lätt fixat att göra ett block med de tre utvalda noderna. (Du behöver inte ha taxonomi/vokabulär till det - vet du exakt vilka noder du vill ha kan du filtrera på nod-ID istället.)
Gällande Javascript är jag rookie, men enligt wikin med det enklare sättet att göra saker på lär du ha nytta av funktionen drupal_add_js().
Lycka till!
//Johan Falk, Solna
edit: Jag var tvungen att slå upp accordion för att veta vad du menade med det ordet. Så här i efterhand känns det lite uppenbart, men i regel är det lättare att få svår ju lättare det är att förstå frågan. Hej!
Tack för hjälpen. Views
Tack för hjälpen. Views var det jag behövde och sedan gjorde jag en egen custommodul, med hjälp av "views_embed_view" i ett block kunde jag få ut det jag vill ha.
Mvh,
Jonas