Sziasztok!
Az angol fórumokon csak saját spéci (egyedi) modulokat találtam arra vonatkozólag, hogy hogyan lehet bármely CCK text mezőt Drop Down lenyíló választómezőként megjeleníteni egy felfedett szűrőben.
Egy általános javaslat majdnem bejött, de aztán mégsem tuti.
E megoldás szerint minden ilyen mezőből csináljunk egy külön nézetet ugró menü stílusban, majd azt blokként rakjuk ki.
Ezt kipróbáltam és működik is ha nem akarunk összetett szűrést.
Pl ha csak a megye szűrést rakom így ki, akkor kiválasztva a megyét és jól beállítva az URL-t bejön ugyanez az oldal leszűrve.
Sajnos ha 6 szűrő mezőm van, abból 3 lenne ilyen és 3 autocomplete, akkor már nem csak melós, de nem is működik szépen, hiszen az ugró menüs nézetek az ugrás után visszaállnak alaphelyzetbe, és nem is tudom az autocomplete szűrőkkel együtt működtetni őket.
Az igazi megoldás egy segéd modul lenne, amivel lehetne bármely CCK mezőből drop down szűrőt csinálni, ahogy az autocomplete szűrőkre is van a Views Autocomplete Filters modul.
Pont ilyen kellene csak DDLB-os.
Van ilyen modul vagy írt már valaki egy általánosan használható sajátot, amit esetleg megosztana?
Egy időben
én is kerestem ilyet, már több mint egy éve, és akkor én sem találtam modult rá.
Az érdekes volt, hogy míg pl. taxonomia szótárból lehetett dropdown listát csinálni, addig tartalomtípus mezőjéből nem.
Akkor tájt úgy tippeltem, hogy a fejlesztők azt feltételezik, hogy a tartalomtípus rekordjaiból mindig sok van, és ezért ezt nem hatékony egy állandóan változó lenyíló listába kirakni, ezért nem építik be feature-ként a views-ba. Pl.:
Ha van egy tartalomtípusban 50 ezer rekordod, akkor hiába van a te lenyíló listádban csak 30 elem, és hiába lapozza a views a találatokat (pl, csak az első 100 rekordot mutat csak egy oldalon), mindenképp végig kell néznie az 50000 rekordot (a keresőűrlap megjelenítésekor) a 30 elemű lista megjelenítéséhez, hogy pl. nincs-e egy 31-edik elem.
Emiatt pár ezer rekord felett (a tartalomtípusban) már nem hatékony az egész (adatábázistervezés normálformák). De ez az én egyéni spekulációm...
Én akkor így közelítettem meg a dolgot, hogy azt mondtam:
- Minden ami a táblázat (találatok) felett van, az egy kereső űrlap, Így csináltam egy önálló egyedi formot neki, amit kiraktam egy blokkban.
- A form-ban egyedi sql-el felépítettem a lenyíló listát.
- A form submit hook-jában a user által (a lenyíló listából) kiválasztott keresőkifejezéseket beraktam az url-be, és meghívtam (ugyanazt) az oldalt, amin a views van, az url-be rakott paraméterekkel.
- A views-nak nem volt semmilyen felfedett szűrője, de figyeltem url-ben érkező paramétereket, és így ment az egész szűrés.
Ez elég munkaigényes (így nem feltétlenül ajánlom) annyira, de teljesen egyedi form-ot lehet készíteni a views fölé. Egyébként én is sajnáltam az időt a programozásra, akkoriban, mert nem akartam elhinni, hogy nincs erre valami kész views cucc. Én végül is nem találtam, de lehet hogy van rá megoldás.
Taxonomy bekötése
Még egy ötletem volt de azt sem tudtam eddig megcsinálni.
A Get Locations modulban van megye (Tartomány) és a kerület (Továbbiak) mező.
Ezekben tipikusan a huszonakármennyi megye ill. a kerületek kerülnek a Geocode gombra automatikusan.
A megyéket fel is vettem külön taxonomy szótárba, hiszen a számuk véges és pontosan meghatározható.
A kerületekre is meg tudnám csinálni.
Amit nem tudok.
A már létező nézetembe kapcsolatként valahogy bekötni ezt a 2 szótárat és összekötni a 2 get locations text field-del, mint megkövetelt kapcsolat.
Ha be tudnám kötni, akkor ezeket a mezőket használnám felfedett szűrőként és ezek már lenyíló mezők lennének.
Szerintetek ezt meg lehet valahogy oldani?
Kiegészítés
Ha valaki azt javasolná, hogy a megye szótárat referenciaként kössem a tartalomhoz jelzem az azért nem jó, mert egy tartalomhoz több címet lehet rendelni.
Tehát ehhez a tartalomtípushoz akár 3 külön címet is hozzá lehet rendelni, így nem tudom rákötni a tartalomra a szótárat direktbe referenciaként.
Valahogy a szótárat "kívülről" kéne a nézetbe kötni úgy, hogy sima join lenne pl a megye (province) mezőre.