Hej!
Jag får inte grepp om Organic Groups. Jag försöker använda det till projekt, ett projekt i en grupp.
Jag vill att varje grupp skall ha en ganska statisk huvudsida, som bara kan ändras av den som startade gruppen. Det skall inte vara något flöde av artiklar på huvudsidan. Varje grupp skall ha några sidor kopplade till huvudsidan, som detaljerad information och foton.
För att lösa detta använder jag og_ghp_ron-view, för jag lyckas inte skapa någon annan fungerande view som funkar ihop med og. Jag har en egen content type som agerar group node, och två andra typer (info och foton) som är standard group posts. Jag har gjort ett eget subtema med ZEN Starter Kit, och temat om node-og-group.tpl.php och views-listan över grupper så de ser ut som jag vill. Jag skriver inte ut $content, utan gör print $node->field_X på varje del jag vill skriva ut, sätter delarna i css-klasser och temar med css.
Hur kan jag visa upp info och foton? Jag vill göra en länk eller en meny-knapp från grupp-sidan till sidor som visar info-sidan (som det bara skall finnas en av) eller en översiktsida med flera foton.
Har funkar arguments med og? Går det att skapa views för undersidor av typen gruppX/info och gruppX/foton, som bara listar den typen av content, kopplade till den gruppen? Jag lyckas inte alls.
Tacksam för alla tips!
/Rustan
Comments
Ett sätt är att använda
Ett sätt är att använda Filter: "Organic groups: OG: Posts in current group" för att t.ex. göra ett block eller en sida som listar foton eller info för respektive grupp. Nu är det möjligt att det finns nån enklare väg, t.ex. jobba med argument, men jag fick det i alla fall att fungera bra med filtret efter att ha skapat egna subteman för grupperna.
Tack! Med den varianten
Tack! Med den varianten lyckas jag lista foton och info i block på huvudsidan för gruppen. Hur gör du för att visa endast dem på en separat sida? En bra lösning för mig vore att visa några foton på huvudsidan för gruppen och alla på en separat sida.
Hur kan man göra för att få endast en infosida av en content type kopplad till en grupp? En fundering jag haft här är att helt frikopplad den från gruppen och hårdlänka till en sida som skapas automatiskt med actions när gruppen skapas, men det har jag inte lyckats genomföra med drupal_execute.
Jag hittade modulen
Jag hittade modulen http://drupal.org/project/og_read_only där man kan göra en content type till read-only för vanliga medlemmar i gruppen. Utmärkt för info-sidan, nu gäller att begränsa den till att bara finnas max en av per grupp också.
Ett råd: Hacka inte
Ett råd: Hacka inte modulen.
Försök först skriva en egen modul som löser problemet. Om det inte går, fundera på hur de enklast anpassar modulen OG Read Only till dina behov och om modulens skapare är intresserad av din feature. Skicka ett meddelande till denne och fråga. Om featurern verkar intressant, ladda ned senaste versionen av modulen från CVS och gör dina anpassningar. När du är klar och testat, skapa en patch.
Jag fick en syrlig kommentar tidigare från någon som ansåg att råda folk att köra Linux var dumt eftersom det gjorde Drupal mindre intressant. Jag menade att webbutveckling i PHP med MySQL och Apache är enklare i Linux än i Windows, inte att Drupal kräver Linux. Sedan får man gärna göra det svårt för sig och köra Windows om man vill det. Patchar hur som helst ett ypperligt exempel på ett fall där man har en enorm fördel av att köra Linux (eller ett *NIX-derivat). Att göra en patch i Linux är trivialt, men det kräver tredjepartsmjukvara i Windows.
När man lägger ut kod på detta sätt får man ofta vara beredd på att den blir granskad och att man inte sällan får kritik om den skulle vara dålig. Detta får man vara beredd på och ta det kallt. Sådan här kod är inte "din" utan blir en del av communityts gemensamma kod. Alla sakliga och hjälpsamma kommentarer till att göra den gemensamma koden bättre.
Jakob Persson - NodeOne
Jakob Persson – Leancept – Results-only digital and marketing consultants – Personal blog
Jag är helt med. Jag har
Jag är helt med. Jag har mekat med og_read_only igår och nu och testat nya patchar mot cvs som delvis gör precis det jag vill. Jag har lagt feature requests, får se om de andra tycker det är vettiga funktioner att lägga till. Om jag kan skall jag försöka koda tilläggen eller göra en ny modul själv. Det är en extremt lite använd modul än så länge dock.
Jag har använt uteslutande Linux hemma i 10 år, har dock inte skrivit så mycket kod efter universitetet. Hoppas ändra på det nu :)
hehe.. sitter och testar
hehe.. sitter och testar lite nu, jag är ingen expert och ganska övertygad om att det finns snyggare sätt än så här - så kanske en onödig post. Ett sätt är i alla fall ny view:
Lägg till en "Page"
Sökväg: grupp/%/%
Lägg till:
argument 1: organic groups: group. Om du väljer: Argument type Node ID. Kan du klicka i "Validate current user is a member of a specified group" om sidorna bara ska vara tillgänglig för gruppmedlemmar tror jag - fast nu hade du en annan modul till det.
argument 2: Node: Typ
Då blir url grupp/"gruppID"/"contenttype"
Jag själv gör nåt fel för jag får inte temakopplingen, men det borde väl bli temakoppling eftersom det står "The page context (if Display is a page) will be set to the first listed group. That means that blocks and breadcrumbs (and theme and locale, if applicable) will be based upon the first specified node id." då man väljer argumentet organic groups: groups.
Jag lyckas inte få upp
Jag lyckas inte få upp något alls med en sån vy :( Skall försöka mer i morgon när jag har lite tid. Vilka fields använder du, vilka andra inställningar?
Jag använde nodvy Jag
Jag använde nodvy
Jag använde Rowstyle: Nod - men det borde inte spela någon roll. Inga övriga inställningar än de jag skrev över, mer än att innhållstyperna som visas på sidorna är skapade som "Standard group post" och noderna har respektive grupp som audience. I mitt test blir alltså URL t.ex. exempel.com/grupp/39/artikel
Testar mera...
[Edit: Jag trodde jag fått ordning på det först, men det var fel...]
Jag har nog inte riktigt fattat, hur funkar nodvy? Fields är tydligt, det är ju de fält man väljer.
Jag lyckas inte alls få vyn att uppföra sig som du beskriver och som den borde. Jag gjorde en annan variant nu som verkar fungera: Jag använde nodvy och filtrerade på Node: Type och Organic groups: OG: Posts in current group. Det verkar göra det jag vill, med sökvägen till sidan: grupper/%/foton t.ex.
Aight, det är mycket
Aight, det är mycket möjligt att det är en bättre lösning än den jag beskrev ändå - jag är inget proffs på OG. Med Nodvy menade jag bara som view type - för att hämta noder.
Här finns en förklaring på skillnaden mellan att använda nod och fields:
http://groups.drupal.org/node/19549#comment-67578
Jag har skapat ett block
Jag har skapat ett block för gruppsidorna som visar upp några foton, och i headern för den view som genererar blocket är denna kod som länkar till en annan view med alla foton:
<?php
$node = node_load(arg(1));
echo l(t('Alla foton'), "{$node->path}/photos");
?>
Är detta vettig kod?
Hur kan man kolla att man verkligen är på en og_ghp?
Hur gör jag för att snyggt begränsa ett block till og-hemsidor (og_ghp alltså)? Som det är nu har jag satt blocket till att bara visas på motsvarande og/*, så det körs fortfarande för undersidor (t.ex. og/abc/photos).
Underbara Views
Jag skulle rekommendera att du styr allt detta från din vy.
Kontrollen för att visa blocket endast på en viss typ av noder gör du med ett argument. Lägg till ett för
Node: Nidoch välj att använda ett default-argument ifall ett saknas. Som default väljer du att hämta nodens id från pathen. Nu kan du välja node som validator och där styra vilka nodtyper som gäller.För sidan med dina bilder gör du samma sak. Sedan modifierar du pathen för sidan, till node/%/bilder, och väljer därefter att lägga till ett menyalternativ, som lokal aktivitet. Sedan sköter Views resten. ;)
Tobias Sjösten | NodeOne
Tobias Sjösten
Tack! Nu tror jag att jag
Tack! Nu tror jag att jag förstår argument bättre. Dock lyckas jag ändå inte använda detta... Kan det vara för att og:s hemsidor genereras av en view som är speciell? När jag lägger till ett argument som ovan så försvinner blocket, även om jag väljer att inte klicka i någon nodtyp alls (och därigenom acceptera alla nodtyper enligt hjälpen under).
Det andra stycket förstår jag dock inte, kan du beskriva det igen? Varför behöver path för den vyn modifieras? Var skall menyalternativet läggas till, i den vyn? Länkat till vad? Jag lyckas inte få upp några menyer alls på og-hemsidorna.
Blocksynlighet styr du på
Blocksynlighet styr du på example.com/admin/build/block/list/"gruppens tema"
Ev kan http://drupal.org/node/235000 fungera som alternativ om du inte har ett eget tema för gruppen
Andra exempel på att styra blocksynlighet
http://drupal.org/node/64135
Jag tror mitt problem ligger
Jag tror mitt problem ligger helt och hållet i att jag inte kan göra rätt med argumenten, så att og_set_group_context() blir satt automatiskt. Just nu får jag inte ens ut datat rätt (jag gjorde fel ovanför, lade till fler grupper och såg hur trasigt det var).
Jag har ett tema för hela sidan, och det funkar för normala block. Dock är group details ett hårdkodat block i og som man får meka i genom HOOK_og_links_alter() tror jag.
Jag lyckas inte upprepa det
Jag lyckas inte upprepa det Karl-johan visat ovanför :(
http://drupal.org/node/370131 är exakt samma problem som jag har, och jag hittar mängder av folk som haft liknande svårigheter. Är det något koncept eller liten inställning som nybörjare missar?
Aaargh! Det verkar som att
Aaargh! Det verkar som att orsaken till att mina argument till OG-sidor inte funkar alls är att någonstans i OG är sökvägen hårdkodad till att vara /og ! Efter allt mekande testade jag att ändra tillbaka från en vettig sökväg till /og, och nu funkar allt....
Är det någon som stött på problemet? Finns det något rimligt att göra, eller är det bara att lida och ha kvar den usla sökvägen?
Jag hade det problemet med
Jag hade det problemet med brödsmulorna - som fortfarande visar og som sökväg. Jag gjorde på ett sätt som du nog inte vill - billigt och ful, men jag postar ändå. Skapade dubbla views, en med sökvägen jag ville och en med og sökvägen. Så alla nästan alla mina länkar går till sökvägen jag vill, och de som inte går rätt funkar ändå :)
Vilken skum lösning :) Jag
Vilken skum lösning :)
Jag hittade ett annat knasigt problem. Tabbarna på /og länkar tillbaka till /og, inte till /og/all , så det blir fel. Är det något jag konfigurerat fel, eller är det så alltid? Jag lyckas inte fixa det, /og är ju parent till de andra tabbarna, och verkar användas på något annat sätt :(
Löste det. Jag hade lagt in
Löste det. Jag hade lagt in alla og-tabbar på en sida (istället för på /og och /group) och missat att ändra default-tabben på /groups till en normal tab.