Posted by tobbetobbe on April 8, 2012 at 4:54pm
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
| Attachment | Size |
|---|---|
| screenshot views användare och gallerier.jpg | 197.77 KB |
Comments
Testa det här
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
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å
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
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
<?phpif ($teaser):
?>
Hänger sig med?
Hela templatefilen för noden ska då se ut enligt följande:
<?phpif ($teaser):
?>
- Det som ska synas i din view
- Rendera Menublock
<?phpelse:
?>
Vanlig layout
<?phpendif;
?>
Under inställningen för vyn
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
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
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,
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.