Sziasztok!
Szeretnék egy nézetet létrehozni egyedi elrendezéssel, de nem akar sikerülni.
Van egy tartalomtípusom, melyben van egy select lista field, ebből lehet kategóriát választani.
A nézetben (block), úgy szeretném kilistázni a beküldött tartalmakat, hogy első helyen a select listában megadott kategóriákból a legfrissebb tartalmak legyenek (5 db kategória van, tehát ezekből kellene az 5 legfrissebb tartalom, kategóriánként 1-1), majd utána a többi tartalom, beküldés szerint időrendben csökkenő elrendezésben.
A kérdésem az lenne, hogy egy ilyen rendezés összehozható-e a Views-al, ha igen, akkor valaki rá tudna-e vezetni a megoldásra?
Egyéb infó ami hasznos lehet:
- Drupal 6.25
- Views 3.0
Köszönöm,
Juhász Sándor
Melyik modulhoz, modulokhoz kapcsolódik a téma?:
Drupal verzió:
Fórum:
Ez nem lesz egyszerű
Ez nem lesz egyszerű mutatvány..
Addig biztos, hogy nem egy nézet kell. Az első nézetben az 5 kategóriád friss tartalma, a másikban a többi. Igenám, de sem az első nézethez a tartalmakat, sem a másodikhoz az offsetet nem egyszerű kiszedni, mivel nem kategóriánként küldik valszeg be a tartalmat egymás után, szóval meg kell oldani, hogy valamivel jelölve legyen a tartalom, mégpedig úgy, hogy egy kategóriában, mindig az utolsó tartalom legyen jelölve.
Szóval két lehetőség. Vagy hook_views_query_alterben belemászol az alap lekérdezésbe. (Ha ez megy, akkor nem kell a jelölgetés.)
Vagy fogod a flag + rules + flag_limit modulokat, összekattingatsz egy toggle jelölőt. Lesz 5 darab flaged, mindegyik limitálva 1db-ra. Lesz egy rule, ami tartalom beküldésekor a kategória alapján beállítja a megfelelő flaget a tartalomban, a flag limit gondoskodik a korábbi tartalmak unflaggeléséről.
Ekkor az első nézetedben már be tudsz állítani szűrőt, hogy csak a flaggelt tartalmak legyenek benne, a másodikban meg hogy csak a nem flaggelt tartalmak, + valami szuper cache cuccot rátenni, mert így végiggondolva elég hardcore kveri lesz generálva mindkét nézethez.
Így elolvasva, amit írtam, inkább az elsőt preferálom, a második szükségtelenül bonyolult, de szvsz kattintgatással egyszerűbben nem fog menni..
----
Rájöttem, miért kérdezek olyan ritkán a drupal.hu-n. Amíg szedem össze az infokat a kérdéshez, mindig rájövök a megoldásra.
Köszönöm a gyors választ!
Köszönöm a gyors választ! Igen, a két nézetre már én is gondoltam, és hogy a hook_views_query_alter-rel override-olom a query-t, viszont itt jön a képbe még egy tényező, mégpedig az, hogy vannak exposed filter-ek is, amik viszont csak egy adott nézetre vonatkoznak, tudtommal nem tudok két nézetet szűrni egy exposed filterrel. Vagy tévedek? :)
kisfazek.hu
Hmm.. Ez jó kérdés, érdemes
Hmm.. Ez jó kérdés, érdemes kipróbálni. Szinte 100%, hogy működni fog. Ugyanis az exposed filter az alapján az azonosító alapján dolgozik, amit a szűrő beállításánál lehet megadni, és semmi nem tiltja, hogy két nézetnek nem lehet ugyanolyan idjű filtere. Innentől kezdve az exposed filter handler a ?filter_id=value query stringre fog ugrani, zsírmindegy, hogy azt a saját felfedett szűrő űrlapja, vagy egy behekkelt link, vagy másik filter űrlapja produkálja.
Szóval mindkét nézetbe ugyanaz a filter, és sminkrétegből szépen eltüntetni onnan, ahol nem kell.
----
Rájöttem, miért kérdezek olyan ritkán a drupal.hu-n. Amíg szedem össze az infokat a kérdéshez, mindig rájövök a megoldásra.
Rendben van, a hétvégén
Rendben van, a hétvégén kipróbálom a dolgokat, nagyon szépen köszönöm a segítséget, majd jelentkezem. :)
kisfazek.hu