Azonos user_field beállítással rendelkező felhasználók tartalmainak megjelenítése csak egymás között

tiburi képe

Sziasztok,
egy nézetet akarok készíteni.

Minden felhasználó reggeléskor egy taxonomy reference field-el kiválaszthat magának egy csoportot.

  • Csop1
  • Csop2
  • Csop3

Mindenki feltölthet tartalmat.

Egy olyan kontextuális nézetet akarok létrehozni, ami a current felhasználónak az összes ugyanabban a csoportban publikált tartalom listázódik.

Ha Gips Jakab a Csop1-ben reggelt és feltöltött 10 tartalmat és Jhon Doe is a Csop1-ben reggelt és van 20 tartalma, akkor Jhon Doe lássa az összes Gipsz Jakab tartalmat, valamint a sajátjait is, összesen 30 tartalmat, meg mindenkiét aki Csop1-ben reggelt és feltöltött tartalmat.

Ez egyszerű dolognak tűnik (szándékosan kerülnék mindenféle group, és bonyolult access beállításokat), de valamiért nem akar összejönni. De hol rontom el?

Létrehoztam egy nézetet, ami minden tartalmat listáz.
Kapcsolatokba betettem ezeket (megkövetelt kapcsolattal):

  • Tartalom: Tartalom szerzője
  • (szerzo) Felhasználó: Csoport
  • (kifejezés ebből: field_kozpont) Taxonómiakifejezés: Felhasználó Csoport használatával

Aztán a szövegkörnyezeti szűrőkben próbálkoztam (sok mindennel), de nem akar összejönni.
Hálás lennék egy kis segítségért. :)
Köszönöm!

Taxonomy upgrade extras: 
Melyik modulhoz, modulokhoz kapcsolódik a téma?: 
Drupal verzió: 
dongodani képe

Konkrétan ilyen megoldasra még nem volt szükségem, viszont arra már igen, hogy minden usernél a saját tartalmainál látható legyen a többi saját maga által feltöltött tartalom. De csakis a saját tartalmai, egyúttal mindig kizárva az aktuálisan nézett tartalmat. Ha az egyes userek helyett a csoportjukat adjuk meg és a hozzáférést is megszűrjük u.a. csoportra, akkor elvileg kikerekedhet az eredmény.

0
0
tiburi képe

Szia, megközelítésnek nem rossz, minden esetre falnak ütközök.

1. Kapcsolatok --> hozzáadás
Tartalom: Tartalom szerzője

2. Szövegkörnyezeti szűrő --> hozzáadás
Tartalom: Szerző egyedi azonosítója --> Alapértelmezés szerinti érték biztosítása: Felhasználó azonosító a bejelentkezett felhasználótól

1. és 2. ponttal kész is egy olyan nézet, ahol minden user a saját tartalmait láthatja. Azt mondod ezt érdemes tovább alakítani.

Megpróbáltam pár lehetőséget, ez tűnt a leglogikusabbnak:

3. Kapcsolatok --> hozzáadás
(szerző) Felhasználó: Profil

4. Kapcsolatok --> hozzáadás
Felhasználó: Profil
(szerző) Felhasználó: AzÉnEgyediCsoportmezőm

5. Szövegkörnyezeti szűrő --> hozzáadás
(szerzo) Felhasználó: AzÉnEgyediCsoportmezőm --> Alapértelmezés szerinti érték biztosítása: ???mindennel néztem

Ez a látszólag egyszerű dolog úgy fest kódolást igényel. :S

0
0
dongodani képe

Szia! Talán kicsit tömör voltam. Nem a saját tartalom userhez rendeléséből indulnék ki, hanem a user tartalmainál a többi, szintén saját tartalmak listszázásából. Tehát, van egy node, amelynek a végén ugyan annak a usernek teszem azt a többi 10 tartalmát is felsorolja egy nézet. Ha a usert a csoportra cseréled, akkor a csoporthoz rendeled a tartalmaikat. A hozzáférés adott csoportra szűrésével pedig kizarod, hogy a csoport tartalmait mások is láthassák. Ez egy elvi megoldási javaslat, gondolat ébresztőnek.

2
0
tiburi képe

Megnéztem user view listes váltzattal:

Kapcsolatok

  • Felhasználó: EgyediCsoportmezőm
  • Felhasználó: Jellemző tartalom

Eddig ok, utána megjelenítem userek helyett az összes tartalmat és van egy listám.
Ahogy írtad is, ezt kéne szűkíteni a EgyediCsoportmezőm-vel ellátott user általi feltöltésekre.

Itt jönne a Szövegkörnyezeti szűrő a képbe.
Felhasználó: EgyediCsoportmezőm --> Alapértelmezés szerinti érték biztosítása: na itt minden lehetőséget megnéztem, de semmi sem jelenik meg. A PHP szövegkörnyezeti szűrő kód jöhet csak ugye a fene sem gondolta hogy ehhez a viszonylag egyszerű relációhoz kevés a view. Vagy csak benéztem valamit? Simán lehet hogy nem látom a fától az erdőt. :)

0
0
dongodani képe

Itt valami tokenes huncutsagra emlékszem, de nem vagyok gép közelben. Ha ott leszek , megnézem és beírom ide. Ne feledd, a megoldasom az egyedi userre vonatkozik, ezért neked a csoportodra kell majd a módszert adaptálni.

1
0
tiburi képe

Szuper :)
Közben készítettem egy hasonló nézetet.
Listázom a taxonomykat.

Taxonómiakifejezés: Felhasználó EgyediCsoportmezőm használatával
(field_egyedicsoportmezom) Felhasználó: EgyediCsoportmezőm
(field_egyedicsoportmezom) Felhasználó: Tartalom szerzője

Megjelenik szépen minden tartalom, aztán ugyanaz. Contexual filter szűkítés és semmi result. :(

0
0
tiburi képe

Na közben összehoztam és bevallom kicsit komplikált, ahhoz képest, mint hogy ez tényleg nem egy nagy feltétel szerintem:

Én így oldottam meg:
Kapcsolatok
Taxonómiakifejezés: Felhasználó EgyediCsoportmezőm használatával
(field_egyedicsoportmezom) Felhasználó: EgyediCsoportmezőm
(field_egyedicsoportmezom) Felhasználó: Tartalom szerzője

Szövegkörnyezeti szűrők
(field_egyedicsoportmezom) Felhasználó: EgyediCsoportmezőm

Alapértelmezés szerinti érték biztosítása --> PHP Kód

  1. global $user;
  2. $user_uid = user_load($user->uid);
  3. $tartalmaim = $user_uid->field_egyedicsoportmezom['und']['0']['tid'];
  4. return $tartalmaim;

A mezőknél csak a tartalomcímek vannak megadva, a szűrési feltételeknél

  • Taxonómiaszótár: Programok által használt név (= EgyediCsoportmezőm vocabulary)
  • (tartalmak) Tartalom: Típus (= Az a tartalomtípus amit látni akarok), de ez opciós...

Na röviden ennyi, hálás köszönet a hozzászólásodért, sokat segített!

2
0