Arkiv-block för bloggare

Jag är en hyffsat färsk, men imponerad Drupal användare. Men ibland kör man fast och detta forum verkar ha många kompetenta förmågor som förhoppningsvis kan tipsa i följande fall.

På min site kan man registrerar sig "Bloggare" eller "Normal användare" (detta är alltså roller). Bloggare får access till att skapa "content type blog" och följdaktiligen egen blogg på /blog/[Uid]. Nu till mitt problem:

Jag vill i ett Block placerat vid sidan av blogginläggen (på den personliga bloggsidan) visa ett "Arkiv". Arkivet-blocket skall i sitt enklaste utförande visa antalet inlägg per månad och användare. Inspirerad av andra "Archive Views" har jag lagt upp en ny vy, struktrerad som följer:

  • Filter: node type = Blog entry
  • Argument1: Node:Created year + month, "style" list (med "Action to take if argument is not present" = "Summary")
  • Argument2: User Uid, med alternativet "Action to take if no argument is present" = "provide default argument" med inställningen "PHP Code" = "return args(1);"

Eftersom detta är ett Block kan jag alltså inte välja alternativet "user ID from URL" (har testat detta, men skall som sagt inte funka i Block enligt artiklar jag läst). Istället har jag använt PHP Code som ovan (vilket kanske är nästan samma sak "user ID from URL?).

Blocket visar snygg upp respektive månad, men antlatet blogginägg är det totala för alla användare och inte för den specifika anvädnaren vars sida jag är inne på. Någon som har goda råd kring hur jag ska bygga motsvarande Arkiv-block, utan att använda "panels".

Tack för alla kompententa inlägg!

Groups:
Login to post comments

Ta en titt på relationships

alasticvik - Thu, 2009-09-03 22:26

Ta en titt på relationships i views.

Jag kan se lite närmare på det imorgon, men du kan ju alltid kolla in min tråd hade ett liknande problem.

http://groups.drupal.org/node/25974 (Sista kommentaren.)

// Vik


Hade tänkt en relationship

alasticvik - Fri, 2009-09-04 07:11

Hade tänkt en relationship mellan author men det ser ut som att det inte finns, men hittade denna tråden kanske kan vara något som funkar?

http://groups.drupal.org/node/23319

// Vik


Hej, Ta en titt på

pontus_nilsson's picture
pontus_nilsson - Fri, 2009-09-04 07:42

Ta en titt på views och archive-vyn som är inaktiverad som standard.

Det här är nog inte det vackraste sättet att lösa det på men det fungerar:
Jag har satt upp ett block med archive-vyn och satt user uid som argument, sen tillhandahåll förvalt argument, php kod och detta:

$blogguser = arg(1);
if (arg(0) =='node') {
$bloggnode = node_load(arg(1));
$blogguser = $bloggnode->uid;
}
return $blogguser;

Det fungerar bra. Sen kan du sätta så blocket bara visas under blog/* så visas inte blocket under t.ex. dina artiklar.

Är det någon som vet ett bättre alternativ till koden ovan?


Hittade ett annat

alasticvik - Fri, 2009-09-04 09:31

Borde inte detta funka?

Använda arguments, sedan provide default value, där väljer du User ID from logged in user.

Sedan kan du välja att visa blocket endast på ex blogginlägg/

Eller om man vill så kan man ta User ID from URL -> Also look for a node and use the node author

Om jag fattat dig rätt vad du är ute efter :P

// Vik


Tack för tipsen, men....

Amandusson - Fri, 2009-09-04 11:16

Tackar för tipsen! Gjorde ett snabbt skott på Pontus kod, det funkade inte för mig. Men om det funkar för dig borde det ju gå att få till...

Drupalvik:
"User ID from logged in user" ger isåfall arkivet för den användare som är inloggad och inte den användare vars "bllogg sida" jag tittar på. Och det är det senare jag är ute efter.


Bifogar den vy jag använder

frjo's picture
frjo - Fri, 2009-09-04 11:37

Bifogar den vy jag använder för blogg-arkivet på xdeb.org.

AttachmentSize
archive_blog.view_.txt 7.9 KB

Amandusson: Då kan du

alasticvik - Fri, 2009-09-04 11:49

Amandusson: Då kan du använda det som jag skrev lite längre ned:

Dvs "User ID from URL -> Also look for a node and use the node author"

Fast jag vet inte om det funkar med arkiv, du får prova dig fram.

// Vik


Block tar inte argument

Amandusson - Fri, 2009-09-04 11:57

frjo: Ser lovande ut, precis vad jag är ute efter. Skall se om jag kan få den att funka hos mig...

Drupalvik: Tack för tipsen, men ärdet inte så att Block-displayer inte kan plocka argument från URL:en (detta har jag läst i dokumentationen och det tycks ju inte heller funka). Eller har jag fått något om bakfoten?


Amandusson: Det tar ut både

alasticvik - Fri, 2009-09-04 12:58

Amandusson:

Det tar ut både information från url den letar efter uid, sen om den inte hittar det kollar den efter node->author.

Men sen vet jag som sagt inte hur det funkar i ett arkiv men jag använder det för att visa alla noder en viss användare skapat när man är inne på en av användarens noder.

Ser att frjo har använt det också.

// Vik