D7: Råd kring unika sidor

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

Hej,

Ibland så behöver man skapa en sida där layout är unik för hemsidan, dvs det finns i regel inga andra sidor som har samma layout. Känner att jag skulle behöva lite generella tips/råd kring hur man bäst hanterar detta. Ett konkret fall som jag tittar på just nu är en sida som visar alla produkter man lagt i sin kundvagn (för en webshop).

Eftersom backend till webshop ligger utanför Drupal så används i det här fallet inte Ubercart.

Det jag började att titta på var att implementera hook_menu i min modul (som används som integration med den externa backend). I den funktion (cart_view) som registrerats för att ta han om anrop till sökvägen (www.example.com/cart) så hämtas kundvagn från externt backend och sedan så skapas ett formulär som läggs i en tabell där man kan ändra på antalet produkter som ingår i kundvagnen. Detta fungerar bra, men nu till problemet.

De flesta andra sidor på hemsidan är uppbyggda enligt en layout där man har en bild/banner (ej reklam), titel, samt text. Om jag för kundvagnssidan skulle vilja ha samma sak, dvs en möjlighet att lägga en bild överst, en titel, samt förklarande text innan själva tabellen så är frågan hur man bäst gör detta. Ett par alternativ

  1. Låta cart_view hämta ut informationen från variabler (variable_get) som fått sin data från t.ex inställningar/konfiguration associerad med modulen. Verkar som om ubercart gör något liknande, dvs det finns en konfigurationssida för ubercarts kundvagn där man kan ändra på texter som ska visas på kundvagnssidan. Admin får alltså gå in på konfigurationssidan för att ändra bild samt text.

  2. Skapa en ny innehållstyp med fälten banner, title, body samt t.ex cart där cart är ett eget fält skapad av min modul och innehållet skapas genom att hämta data från externt backend. En nod skapas av denna innehållstyp och URL alias sätts till 'cart'. I det här fallet är det enkelt för en administratör att gå in på just den nod man skapat samt byta ut bild eller ändra i texten.

Finns det andra bättre alternativ som löser detta konkreta problem?

Andra exempel på snarlika problem är t.ex

  • Contact us: där man också vill ha en bild, titel, body, samt sedan ett kontaktformulär.
  • Checkout: flera sidor för att hantera utcheckning av en beställning
  • Artikelgrupp: En sida som beskriver en grupp av produkter samt listar produkterna (kanske är Views som gäller här...)

Det är Drupal 7 jag jobbar med.

Mvh
Andreas

Comments

Panels

bambilicious's picture

Om jag förstår dej rätt så tror jag Panels/Page manager skulle kunna lösa dina problem. : )
http://drupal.org/project/panels

/ bambi

Tack för svaret bambi. När

andreb's picture

Tack för svaret bambi.

När jag precis började undersöka Drupal så installerade jag och testade panels, men hade lite problem med den. Bla så fick jag inte upp panels i sökresultat då jag använde Drupals sökfunktionalitet. Jag kanske inte undersökte panels tillräckligt mycket. Lägger upp modulen på todo-listan för att titta närmre på...

/Andreas

+1

itangalo's picture

Jag håller med om att Panels och Page manager verkar rätt väg att gå.
Vill du ha komplex information i en panelsida, exempelvis hämtat från ett externt system, kan det vara en bra grej att skriva en plugin för panels/Page manager. (Det finns exempelkod att använda i CTools!)

Du har rätt i att sökresultat inte pekar mot panelsidor (i vanliga fall) – om du vill använda en panelsida för sökbart innehåll vet jag faktiskt inte riktigt hur du ska göra.

Lycka till!
//Johan Falk, NodeOne
**
Vill du lära dig mer om Drupal? Kolla in samlingen av tips och guider!
Har du en fråga om Drupal? Missa inte FAQ-sidan på forumet!
Kolla in min senaste guide: Taming the Beast – Learn Views with NodeOne

Panels och Page Manager är

andreb's picture

Panels och Page Manager är säkerligen rätt väg att gå i det generella fallet. Det visade sig dock att det var ganska snabbt löst med "mitt" alternativ 2, dvs en innehållstyp med ett eget fält (extra field) där innehållet i fältet skapas genom att hämta extern data.

En anledning till att jag inte gick vidare med Panels var att den för tillfället bara är i alfaversion. En annan var att just sökning i panels inte fungerade rakt av. Jag får säkert anledning att återvända till Panels längre fram och ska då också titta på ditt tips om en pluginlösning. Tack för tipset!

När det gäller just sökning i Panels hittade jag modulen Search by Page som enligt i alla fall denna sida ska kunna söka i Panels. Jag har dock inte testat denna modul än.

/Andreas

Sweden

Group notifications

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