DP7.7 Hur skapar man en länk från en nod till en View-sida

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

Jag har en sammanfattande sida (Aktuellt - rättsfall) som är gjord i Views, som presenterar ett antal "teaser" på tillhörande "rättsfalls"-noder, länkad via rubrikerna.

Länken leder till en "ensam" node.
I varje nod vill jag sen skapa en fast text : "Tillbaka till sammanfattningen med alla rättsfall" som länkar till den överliggande View-sidan (Aktuellt - rättsfall) med alla "teaser-na".

Som jag ser det bör väl "innehåll/NodeTyper" vara det rätta stället för att lägga in detta, genom ett "field" som motsvarar länken, eller?

M a o - är det någon som kan hjälpa mig på rätt spår? För jag har "kört fast fn"

( Har testat med "Node reference" och med "View reference" - men får inte kläm på någondera)

Har byggt liknande funktioner på andra sidor med hjälp av "node-reference" men då länkar noderna till en "statisk sida", dvs till en annan node-sida och inte till en views-sida.

Comments

Kan du inte bara göra en

ChristianP's picture

Kan du inte bara göra en "Custom" field i din View med en länk som länkar till sidan. Såhär:

Länken till sidan som visar alla rättsfall som teasers: "www.exempel.se/rattsfall"

Rättsfall 1:

Titel: Lorem ipsum
Body: lorem ipsum blakldkalskl asldk a

Länk: Tillbaka till rättsfallen (denna länk skapar du genom Views genom att gå in på Fields->Global: Custom Text, minns inte vad den heter på svenska, Total eller nåt.)

Ja vet inte om jag missar något nu, men

göran's picture

när noden visas i sin helhet så är ju inte Views inkopplad. DVS den visas som en vanlig nod i genom temat.

  • vill passa på att tacka för svaret...

Jag har skapat en speciell NodeTyp under "inställningar" (namn = rättsfall) så att jag kan särskilja innehållstypen från andra (artikel/sida...osv).

Förutsätter inte din lösning att visningen exponeras ifrån en sida som skapats i Views?

Jag letar efter en lösning, där man kan använda ett "fält"/field som ingår i noden, på samma sätt som i ditt förslag för Views, eller helst på samma sätt som man gör i "Page reference" - så att det blir automatik för användaren (chefredaktör) som inte "behöver förstå" eller manuellt göra någon insats, när han/hon lägger upp nya noder... Alltså en obligatoriskt och automatisk skapad länk, för just denna NodeTyp.

( OT - det enda valet för användarna är valet av NodeTyp - resten är automatiskt.
Behovet av att "upplysa gäster om fler rättsfall" via en länk, uppstår när gästen hamnar på noden via andra vägar, än menyn...)

// Göran

Aha, justja. Tänkte inte på

ChristianP's picture

Aha, justja. Tänkte inte på det. Men då borde du kunna använda modulen "Link" (till CCK), och sen sätta en länk tillbaka till vyn som default. Sen kan du kanske gömma det fältet vid skapandet av noden, så ingen kan skriva in en annan länk där.

Ahh, tack! nu kom jag lite närmare, men

göran's picture

Jag fattar inte hur jag ska sätta upp förinställningarna för "Link"- fältet så att användaren ( = normalt en person med begränsade kunskaper som underhåller information på sidan) inte berörs.

Hur jag än förprogrammerar i "för fältet i inställningar/NodeTyper " så kommer link-fälten ändå upp i skapa/uppdatera noder, dessutom är det tomt hur jag än sätter upp förprogrammeringen.

Har jag missat något, eller har du något tips på hur jag kommer vidare?

// Göran

admin/content/node-type/[din

ChristianP's picture

admin/content/node-type/[din content type]/fields

Skapa en Link field. Expandera "Default". Ange länken till din View.

För att den inte ska synas när man skapar/uppdaterar själva noden så får man gömma den med CSS helt enkelt. Antar att du måste ha samma administrationstema som själva hemsidan har för att inte behöva lägga CSS-koden i Drupals core-filer för t.ex. Garland. Du skulle även kunna använda modulen Node Form Cols http://drupal.org/project/nodeformcols och gömma själva "Link" där, det borde funka.

Inställningar/NodeTyper - länk-fältets inställningar=

göran's picture

Etikett *
- till Aktuellt - Nyheter

Obligatoriskt fält
- tomt

Hjälptext
- ingen

Optional URL
-ikryssad

Link Title
- Static Title

Static title
- Till sidan med alla nyheter

Allow user-entered tokens
- ej ikryssad

Link Target
- Default (no target attribute)

Rel Attribute rel = " "
- tom

Förvalt värde:

Till Aktuellt - Nyheter
- sv/nyhets-listor - (….har provat massor av varianter här också)

Inställningar för fält Till Aktuellt - Nyheter

Antal värden
1

RESULTAT - inget syns i slut-vyn (gäst - vy)
- "Link"- fältet är tomt i redigeravyn eller i "ny node" vyn

Vad gör jag för fel - eller har jag en konflikt med andra moduler - tex "Menu Block"?

// Göran

Vilken version av Link har

ChristianP's picture

Vilken version av Link har du? Jag har: 6.x-2.9
Tänk på att ladda hem modulen "Link", inte använda CCKs inbyggda (om det ens finns). Om den kom med Drupal 7 har jag ingen aning.

För mig finns det en "Default value" expanderingsruta under "Hjälptext".

I den kan man fylla i "Title" och "URL".

Jag laddade hem modulen link för 60 minuter sedan

göran's picture

Version: 7.x-1.0-alpha3

Kör DP 7.7

Jag har också defaultfälten, som du.

Som jag tolkar dokumentationen ( som alltid är något knapphändig i DP) så ska man kunna sätta en STATISK rubrik för länken.

Efterföljande css har jag nog inget problem med, men innan det måste jag nog få det att lira.

Ska pröva annan inställning för "Link title" och säta all manuellt, men vid första försöken kom "inget" upp i noden, vid nodvisning. Misstänker allt mer en konflikt, fick helt galna fenomen när jag provade "View reference"-modulens ,om kraschade mitt Marinelli-themas CSS, i bakgrundsvisnings-nivå.

Kan man hitta alternativa lösningar ifall jag kör fast?

// Göran

Hmm.. Ett annat alternativ

ChristianP's picture

Hmm.. Ett annat alternativ vore väl att helt enkelt skapa ett vanligt textfält där du sätter förvalt fram länken, precis som Link, fast du får istället för att använda standard "Plain text" välja "Användaren väljer formatet". Sen redigerar du textfältet igen, går in på Förvalt (default value) och skriver in en hyperlänk direkt i fältet, fördel att du har någon WYSIWYG installerad så allt blir korrekt. Det kan va så att du måste välja Textarea istället för textfield, är osäker. Sen bara döljer du själva fältet i redigeringsläget för noden, men printas varje gång längst ner (se till att den alltid ligger längst ner) efter Body-texten. Så noden ser ut såhär:

Titel: Rättsak 1
Body: Lorem ipsum
blab
balblalabblalbalalb
balbalbalbalblalba

Ditt textfält: Förskriven länk tillbaka till view-sidan.

MEN! Det absolut enklaste vore att skapa en "node-[nodtyp].tpl.php" och sen bara längst ner efter "Body" lägga till en <a href="viewlänken">Tillbaks till rättsakerna</a> Cleara cache! Svårare än så är det inte. :)

Jag tror du har helt rätt i vad som är enklast

göran's picture

Men mitt problem är att jag helt saknar kunskaper i PHP-tillägg för drupal, jag vet inte ens vad filen heter som man ska editera i.

Förmodligen är det lätt som en plätt eftersom alla villkor är statiska, gentemot NodeTyp. Har två Nodetyper som detta gäller för som heter "Aktuellt - Nyheter" samt "Aktuellt - rättsfall". I båda fallen är de skapade i Views, och visas både som block och länkad sida.

Om det inte är det svårt att läsa sig till hur en php-lösning ser ut mm så får du gärna tipsa var det finns god information, så att man fattar.
Känns allt mer som ett måste att utöka kompetenser för att komma runt fel och brister.
- Modulen Link fungerar inte alls i min DP 7.7, hur jag än skriver in manuella data så finns inget synligt i varken kod eller sidvisningen - har gått igenom allt inom "site-content" och det finns inte det minsta spår av något som kan ha med modulen "link" att göra.

Måste vara en konflikt, eller så funkar inte link med DP77 ännu.

OT-
Modulen "Page Reference" funkar hyfsat, men det tog en himla tid att lista ut hur man skulle sätta upp "Entity content" i Views, eftersom det skiljer mellan v2 och 3 och dokumentation för v3 saknas - nästan helt och hållet..
Page Reference härleder endast till olika "nodeTyper" och kan således inte länka till "viewsTyp". Nackdelen med "PageReference" är att inställningarna blir globala och inte lokala per nodeTyp.

Men som sagt, tips om enklaste vägen är alltid välkomna, tack för all hjälp so fare.

// Göran

Nej då, krävs ingen

ChristianP's picture

Nej då, krävs ingen PHP-kunskap, bli inte avskräckt för att filen heter ".php" :)

I Drupal (6 i alla fall) finns det template-filer. Du har Page.tpl.php, block.tpl.php och node.tpl.php som är de viktigaste under uppbyggnad. Sidans struktur byggs ju som du vet i page.tpl.php, sen kan du till exempel skapa en page-front.tpl.php om du vill separera startsidan från resten som en egen template/mall. Beroende på vilket tema du har så brukar alltid dessa tre filer följa med. Om du går in i Garland-temat under root/themes så borde du kunna hitta en node.tpl.php (iaf på Drupal 6). Kopiera denna fil till din tema-mapp. Gå till listan över dina innehållstyper och väl där så håller du muspekaren över "Editera" på t.ex. nodtypen "Aktuellt - rättsfall". Skulle gissa på att den heter "rattsfall" typ. Gå sen tillbaka till den där node.tpl.php-filen och döp om den till node-rattsfall.tpl.php. Öppna den filen i notepad++ (använder jag i alla fall!) och längst ner lägger du till enkelt html-kod, en länk till Views-sidan, som jag postade ovan.

Jag vet att Drupal 7 har typ massa "body.tpl.php" och "head.tpl.php" om jag minns rätt, så jag vet inte riktigt hur node.tpl.php ser ut där tyvärr. :(

Det gick inte så bra, testade, men

göran's picture

fick inte till det. Jag kom på en "egen" lösning med hjälp av block.
Tyvärr fattar jag inte vilken "path" som jag ska använda för att bara visa blocket för de noder som ligger under rätta url-en: "nyhets-listor" = [node:menu-link:root:url:path]. Nu har jag fastnat igen...lol ;). Är Views så speciellt att det inte går, kanske?

Har väntat med att starta upp med modulen "panels" men kanske finner man en lösning med hjälp av denna... ( det finns ingen dokumentation - vad jag senast konstaterade)

Angående link-modulen så fick jag "vit" sida på allt när jag avinstallerade denna - var tvungen att sudda och ladda om hela databasen från min backup. Det bekräftar att det är något knas med "link" + andra moduler, och att den därför inte fungerar, tror jag.

Sist jag satt fast (i en språkmodul - i 2 dagars stiltje) så löste sig allt efter en uppdatering, hoppas "link" lever, senaste versionen är från februari, kanske lite väl lång tid. Vem vet - kanske ser vi en uppdatering snart...

I html hade problemet tagit 15 minuter - max, nu sitter jag här efter en halv arbetsdag och i avsaknad på manualer blir det "try and error - to the bitter end" - tror jag...

// Göran

Med modulen Context kan du

pontus_nilsson's picture

Med modulen Context kan du slå på block beroende på olika conditions. Bland annat nod:type, meny etc. Den kan hjälpa dig i detta fall.
Panels kan göra samma sak.

//Pontus Nilsson, Digitalist

Tog den lättaste vägen och skapade ett block,

göran's picture

Kom inte ihåg eller tänkte inte på att man kan placera block, just på NodeTyper, så lösningen blev ganska enkelt.

Jag skapade ett block per länk (innehållande länk+text) och placerade blocket i rätt innehåll genom att bocka i valen under valen i "innehållstyper" - blockinställningar.

Gällande "Context" så testade jag den också med samma resultat. Det konstiga är att "Context"-menyn inte syns all i menyn "struktur" - eller någon annan stans.
Men det gick att skriva in rätt url-länk, så kom man rätt?

Vad kan detta bero på ?

Tack för all hjälp...

// Göran

Sweden

Group notifications

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