En view som visar användar-info och användarnas gallerier

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

Jag försöker få till en view där jag visar diverse fält med användarinformation från Profile2-modulen tillsammans med fält från Media Gallery som visar användarens gallerier. Problemet är att varje galleri visas på en ny rad, så om en användare har 5 gallerier, listas den användaren 5 gånger.

View:n är av typ Content och visas gallerier. Sedan har jag lagt till relationships Content: Author och (author) User: Profile för att komma åt Profile2-fälten jag vill visa.

Man skulle behöva något i stil med en "visa bara dessa fält en gång"-inställning. Vet inte om jag missar något enkelt, eller om jag gör detta på fel sätt från början.

Här är sidan: http://tobbeslabb.se/medlemssida

AttachmentSize
screenshot views användare och gallerier.jpg197.77 KB

Comments

Testa det här

victorv's picture

http://www.filedump.net/dumped/views1333917556.jpg

Du väljer vilket fält som innehållet ska grupperas efter och döljer filtren för visning i övrigt så du slipper dubletter.

Nu har jag grupperat efter

tobbetobbe's picture

Nu har jag grupperat efter efternamn på användaren, men jag förstår inte hur jag "döljer filtren för visning i övrigt så du slipper dubletter." Vilka inställningar handlar det om?

Jag skulle vilja ha något i stil med "Användarens namn", "användarens bild", "alla användarens gallerier"

Sedan nästa användare som visas på samma sätt.

Jag provade också att slå på

tobbetobbe's picture

Jag provade också att slå på "aggregate"/"använd gruppering" under övrigt men fick detta felmeddelande då:
SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'AS profile_users__field_data_field_image_, profile_users__field_data_field_forna' at line 1

Klicka på fälten du lagt till

victorv's picture

Klicka på fälten du lagt till och välj "exclude from display". Vill du sedan ha en mer unik presentation så får du ändra din views-template. Dvs du skapar en fil som heter views-view-"ditt valda format".tpl.php

Vad felet är i databaskopplingen för modulen Aggregate vet jag inte, testa rensa cache, deaktivera modulen och packa upp den på nytt.

Ett ytterligare alternativ (nödlösning) är att du har en template som renderar en view på personens egna sida (som är en egen nod, dvs inte /user) och så sätter du en

<?php
if ($teaser):
?>
i början där du printar ut ditt filter och din presentation. Denna teaser inkluderas sedan i din view över alla användare. T.ex kan du få ut alla childs genom att ha module block som renderar alla 2nd level objekt med aktuell nod som filter. Att sedan gruppera teasers är ganska enkelt och ger mycket frihet layoutmässigt (men det förutsätter att du behärskar php och CSS/HTML hyffsat)

Hänger sig med?

Hela templatefilen för noden ska då se ut enligt följande:

<?php
if ($teaser):
?>

- Det som ska synas i din view
- Rendera Menublock
<?php
else:
?>

Vanlig layout
<?php
endif;
?>

Under inställningen för vyn

pontus_nilsson's picture

Under inställningen för vyn finns något som heter "Inställningar för databasfråga". Gå in där och klicka i Distinct.

//Pontus Nilsson, Digitalist

Tack för all hjälp. Sitter

tobbetobbe's picture

Tack för all hjälp. Sitter dock fortfarande och svettas med detta.

Nu har jag tagit "exclude from display" på alla fält förutom galleri-fältet. Problemet blir då att bara de användare som har lagt in ett galleri, visas. Jag bytte view till typ Profile och lade in relationships "Profile: User uid" och "(User) User: Content authored". Sedan filtrerade jag på "(nodes) Content: Gallery collection (= Galleri)". Men resultatet blev det samma.

Jag använder Contextual filters: Profile: User uid för att göra en profilsida per användare. Men som sagt, bara för användare som har lagt in ett galleri visas användaruppgifterna.

Här är adressen till användarsidan: http://tobbeslabb.se/medlem

Här visas användaruppgifter: http://tobbeslabb.se/medlem/1
Här visas de inte: http://tobbeslabb.se/medlem/17

Ett annat problem - När jag använder Grouping field inne på Table settings för att välja vilka användaruppgifter som ska visas, så visas det bara tills dess att det inte finns data i ett av fälten. Så om en person inte fyllt i adress, visas inte epost, som kommer som nästa fält.

Ett tredje problem - Jag provade att använda Profile-Rendered profile som ett fält att gruppera med, för att få med alla hela användarprofilen. Men då kommer det med en länk till Profile-sidan överst, som jag inte vill ha. Jag vill profilsidan ska vara den här viewn. Jag kan inte heller formatera fälten i rendered profile - göra nytt stycke, till exempel.

Ja, det blev mycket. Och viktorv, jag hänger inte riktigt med i din text om "template som renderar en view" och är inte säker på att jag kan tillräckligt mycket för att klara av det.

Funderar på att ge upp försöken att ha en användarprofilsida som visar användarens gallerier, och lägga in en länk till en annan sida där gallerierna listas, men det vore ju inte lika snyggt.

Pontus, ditt råd om Aggregate

tobbetobbe's picture

Pontus, ditt råd om Aggregate fixade felmeddelandet. Däremot antar jag att aggregate inte har något med mitt problem i övrigt att göra :)

Skummade bara igenom tråden,

magnus's picture

Skummade bara igenom tråden, men kanske kan du använda Views attach för Drupal 6 där Mustardseedmedia har en bra video som förklarar hur man kan skapa en bifogad vy till en annan vy.

För Drupal 7 är det Entity Views Attachment som gäller.

Sweden

Group notifications

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