Uppdelad meny och kontaktinfo-block

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

Hej,

Jag är ny med Drupal och bygger upp min första officiella sida och har två frågor som jag inte hittat något bra svar på.

1
Jag söker en lösning för en meny som är uppdelad på samma sätt som primarylinks och secondarylinks men som klarar av flera hierarkier än två. Jag har testat sätta min "huvudmeny" som primary och secondary på samma gång, men då visas endast första undernivån i secondary.
Primary har jag som vågrät topmeny och secondary har jag tänkt ha som vänster meny som visas då man väljer någon av huvudgrupperna i primarylinks.

2
En annan funktion är ett kontaktuppgiftsregister där man kan söka på personer eller områden inom företaget och samtidigt när man surfar runt på sidan så ska ett block visas med kontaktuppgifter till rätt person. Klickar man på en viss produkt ska rätt försäljare visas, klickar man in på infodisk så ska rätt kontaktinfo visas. Första delenkan jag tänka mig går att göra med CCK och views men hur gör man med blocket?

De här frågorna har säkert självklara lösningar men jag har inte kommit in i Drupal-tänket riktigt ännu, efter att ha jobbat med bl.a. joomla i flera år. Tankesätten är helt olika, men möjligheterna upplever jag som mycket större med Drupal.

Tacksam för konkreta svar!

Comments

Hej. Välkommen till Drupal,

chosig's picture

Hej.
Välkommen till Drupal, och jag kan garantera, när du kommit in i "tänket" kommer du aldrig se åt Joomla igen (min personliga erfarenhet).

  1. "Måste ha moduler" i wikin är klart läsvärd http://groups.drupal.org/node/6170
  2. Jag (men jag är ganska grön själv) skulle nog använda CCK, Views och Panels.
    (Contemplate kanske du vill ha om du behöver extraordinär mojo för temat)

CCK för att få med du vill i noderna, views för att välja ut vad som ska vars och Panels för att positionera.

--
Hjälper gärna (pro bono) de som vill lära sig Drupal (fast jag är inte i "Drupal Nirvana" än), vill någon ha professionell hjälp har jag ett företag också.

1: Kolla Menu Block. Den

zoo33's picture

1: Kolla Menu Block. Den sidan listar också andra tänkbara moduler.

2: Du behöver ett sätt att koppla försäljare till noder/produkter. Ett sätt kan vara att knyta dessa personer till termer i ett taxonomiträd (kanske med User Terms), som du sen också använder för att kategorisera produkterna.

Exempel: Lotta är knuten till termen Frukt och grönt. Produkten tomat är knuten till samma term. Därför visas Lotta i blocket när användaren tittar på en tomat.

Du kan visa försäljaren med ett Views-block som listar personer utifrån vilken nod som användaren är inne på. Här behöver du förmodligen skriva ett par rader PHP-kod i Views-gränssnittet för att få det att funka. Men det är också möjligt att det finns en mer specifik modul som kan lösa det åt dig på ett enklare sätt.

/ Hannes Lilljequist – SthlmConnection

1. Klar. 2: under bearbetning.

poolinteractive's picture

Tack för tipsen!

1:an blev enkelt löst med Menu Block.

Här är hur jag gjorde ifall någon annan söker samma lösning.
Efter installation skapade jag ett nytt menyblock under nya fliken "add menu block" som kommer upp i block-sidan.
Satte "huvudmenyn" som källa och att den skulle visas från nivå 2.
Som primärlänk-källa satte jag huvudmenyn också och den visas i primärlänkfältet som är definierad i templaten. (finns under meny - inställningar) Primärlänkarna visar ju bara nivå 1 i en meny. Lite css på bl.a. active-trail så man ser stegen ner i menyn så blev det riktigt bra.

Om man inte har primärlänk-positionen i templaten så är det ju bara att skapa en meny till under block-sidan och sätta att den bara ska visa nivå 1 av huvudmenyn.

2:an

Jag ska titta på förslagen för kontaktuppgifterna nu. Återkommer med fler frågor eller kanske t.o.m. en lösning så småningom.

poolinteractive's picture

Här stötte jag på problem.
För att länka samman produkt och användare har jag ett gemensamt cck-fält "contact_id" i två olika nodertyper( pages och den nya kontakter). Jag hittar inget sätt att få Views inställt så att det visar den nod där contact_id = noden_som_visas.contact_id

Lite svårt att förklara då man är dålig på syntaxen, men jag skulle vilja att Views visar de noder där kontakter.contact_id = pages.contact_id.

Så här ser SQL satsen ut nu:
SELECT node.nid AS nid,
node_data_field_name.field_name_value AS node_data_field_name_field_name_value,
node.type AS node_type,
node.vid AS node_vid,
node_data_field_name.field_title_value AS node_data_field_name_field_title_value,
node_data_field_name.field_phone_value AS node_data_field_name_field_phone_value,
node_data_field_name.field_fax_value AS node_data_field_name_field_fax_value,
node_data_field_name.field_email_email AS node_data_field_name_field_email_email,
node_data_field_name.field_address_value AS node_data_field_name_field_address_value,
node_data_field_name.field_postort_value AS node_data_field_name_field_postort_value,
node_data_field_name.field_freetext_value AS node_data_field_name_field_freetext_value,
node_data_field_contact_id.field_contact_id_value AS node_data_field_contact_id_field_contact_id_value
FROM node node
LEFT JOIN content_type_contact_directory node_data_field_name ON node.vid = node_data_field_name.vid
LEFT JOIN content_field_contact_id node_data_field_contact_id ON node.vid = node_data_field_contact_id.vid
WHERE node.type in ('contact_directory')

I Filter går det att sätta contact_id att vara ett visst värde, men det går inte att sätta den att vara ett databasobjekt som jag ser det. Vore förmodligen enklare om man där kunde sätta in en sql-sats också.

Har ni några bra råd att ge?
Här några andra som frågar om samma sak, men jag har inte hittat en lösning.
http://drupal.org/node/174145
http://drupal.org/node/274623
http://drupal.org/node/360105

Tacksam för svar!

poolinteractive's picture

Någon som är intresserad att lösa ovanstående problem mot en mindre slant? Det tar för mycket tid när man inte är van med drupal.

Kortfattat är problemet:
I ett block lista den nod som har samma värde i ett cck-fält som aktuell nod.
Jag använder samma CCK-fält i de olika innehållstyperna. Ett där man skriver in värdet då man skapar noden och den andra där man kan välja ur en select-lista.
Blocket ska alltså fungera enligt: Visa nod-typen:kontakt där nodtyp.kontakt.cckfält = Aktuell-nod.cckfält

Visa blocket när cck-fältet är identiskt

poolinteractive's picture

Hej,

Finns det ingen som kan ta sig tid att lösa det här. Jag tycker det borde vara en självklar funktion om man hållit på lite med cck, men jag hittar ingen som löst problemet.

Problemet är: Ett block ska visas när det gemensamma cck-fältet för noden och blocket(kontakt-nod) är identiskt.

Då man skapar en ny kontaktuppift-nod väljer man ett id(cck-fält) som är t.ex. Metallprodukter
Sen skapar man en nod(page) som heter t.ex. Ankare och väljer "Metallprodukter" som id(samma cck-fält) från en drop-down-lista.
När man sedan visar noden Ankare så ska blocket automatiskt visa den andra noden av typen kontaktuppgift som har id Metallprodukter.

Vore enormt tacksam om någon kunde ge mig en lösning eller en spark i rätt riktning så jag kommer vidare.

Sweden

Group notifications

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