Sziasztok!
Az alábbiban szeretném a segítségeteket kérni:
Olyan oldalt tervezek, ahol a beküldött tartalomhoz sok tulajdonság fog tartozni, amikre egy összetett keresővel szűrni lehet.
Már sok irányban elindultam, de végül most ott tartok, hogy minden tulajdonságot taxonómiaként adtam meg.
Az összetett keresést a view modul exposed funkciójával próbálom megvalósítani.
A problémámat megpróbálom egy példán keresztül leírni:
1. Egy szálláskereső oldalra felveszek egy szállást ahol bepipálom, hogy van jacuzzi.
2. Felveszek egy másik szállást ahol van szauna.
3. Keresésnél (exposed view) ha bepipálom az egyiket, vagy a másikat, akkor értelemszerűen az egyiket, vagy a másikat találja meg.
4. Ha bepipálom mind a kettőt, akkor mind a kettőt kiírja, de én azt szeretném, hogy csak akkor legyen találat, ha van olyan szállás, ahol mind a kettő van.
A másik ehhez kapcsolódó problémám:
1. Van két taxonómia: Szállás típusa, Wellness.
2. Ha a szállásnál kiválasztom a hotelt, és keresés, akkor nem talál semmit, mert a wellness taxonómiában nem választottam ki semmit. Itt nekem úgy lenne logikus, hogy ha csak az egyik taxonómiában adok meg szűrőt, pl. Hotel, akkor listázza ki a hoteleket. Ha hozzá bepipálom a szaunát, akkor csak a szaunás hoteleket...
Az egész működést valahogy így képzelem el: Alapból ha nem pipálok ki semmit, listázzon mindent. Amint elkezdem bekapcsolni a szűrőket, úgy csökkentse a találati listát. Ezt persze ne zavarja, hogy a szűrési feltételek több taxonómiából épülnek fel.
Remélem érthető voltam, és bocs, hogy kicsit hosszúra sikerült, régóta szívok ezzel. :S
Köszi előre is!
Operator?
Az Operator: Is one of-ra van téve nem? Is all of-al próbáltad már? Egyébként nem kell feltétlenül taxonómia, a CCK Option Widgets-el lehet hasonlót csinálni, érdemes az is megnézni.
Is all of-al sem jó
Átállítottam Is all of-ra, de így bármit pipálok ki, semmit nem talál. :(
Ha ennek nem lesz megoldása, kipróbálom a CCK Option Widgets-et.
Nézted a queryt?
Csinálj 4-5 tulajdonságot mindkét megoldással és nézd meg az egyik és másik esetben milyen query-t generál a views. Tolj bele pár ezer node-ot és mérd a sebességet.
pp
Palócz István
https://palocz.hu | https://tanarurkerem.hu
A helyes megközelítés
Első probléma:
Szótár = szempont rendszer ami szerint csoportosítani szeretnél. Te a szaunát és a jakuzzit a wellness nevű szótárba vetted fel és innen a probléma. Hozz létre nekik külön szótárat, hisz a szempontod az, hogy van-e szauna és van-e jakuzzi. Ekkor már működnie kéne.
Második problémára lásd a legelső hozzászólást.
Természetesen pár form_altert nem fogsz tudni megúszni szerintem, hogy szépen nézzen ki a dolog és használható legyen. A views csak a vázat adja.
pp
Palócz István
https://palocz.hu | https://tanarurkerem.hu
Mindegyik kifejezésnek külön szótárat?
Mindegyik kifejezésnek külön szótárat?
Én így csináltam:
Típus (szótár, csak egy kifejezés választható)
- Hotel
- Panzió
Wellness (szótár, több kifejezés is választható)
- Szauna
- Jacuzzi
Ellátáts (szótár, több kifejezés is választható)
- Reggeli
- Félpanzió
...
Ha mindegyik kifejezésnek külön szótárat hozok létre, teljesen átláthatatlan lesz, nem?
A Drupalban tényleg ennyire nehéz egy ilyen alapvető dolognak gondolt összetett keresés megvalósítása?
Biztos tanulni akarsz?
Most akkor kipróbáltam, hogy nehogy véletlenül is hülyeséget írjak.
A második problémádat nem is értem. Simán megy a keresés nekem úgy ahogyan azt elvárná az ember. Tök pöpecül szűri a hoteleket, panziókat, jakuzzi, félpanzió meg minden.
Az első problémádra továbbra is az általam vázolt lesz a megoldás. Ha nem érted a válaszom végét akkor meg tanulj és kérdezz. :D Ott leírom ugyanis hogyan lehet széppé varázsolni egy ilyen csúnya dolgot.
Drupal olyan mint a Lego: Bármit kirakhatsz belőle de mindig rücskös lesz a teteje. - pp -
Az, hogy bonyolult, vagy sem, egyszerű vagy alapvető az meg annyira szubjektív, hogy csak na.
Ha a két kérdést a végén komolyan gondoltad akkor kérdeznék én is kettőt:
Ha ismersz olyan rendszert amiben ez sokkal egyszerűbben megoldható, mint a Drupalban, akkor miért nem azt használod? (tényleg komolyan kérdezem, megfelelő feladatra a megfelelő eszközt.) Ha meg nem ismersz ilyen eszközt akkor miből gondolod, hogy ez olyan alapvető és egyszerű lenne?(ez meg itt csak amolyan gondolat ébresztés akar csak lenni... hátha)
pp
Palócz István
https://palocz.hu | https://tanarurkerem.hu
Apropó! Ha netán sikerülne
Apropó! Ha netán sikerülne összehozni esetleg mindkettőt, nagyon kíváncsi lennék a performance különbségre. Nyilván más algoritmus alapján szűr a FS és a views is, érdekelne, mekkora a különbség.
----
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.
CCk-val megy.
Megcsináltam ugyanezt CCK checkbox mezőkkel. Úgy nekem is tökélestesen működik a szűrés, nem tudom a szótáras verzióval mi a gond.
Viszont én is olvastam, hogy a CCK mezős megoldás nem túl optimális nagy adatbázis esetén. Így most utánanézek a Faceted Search-nek.
pp: Jogos a kérdés, mi egyszerű és mi bonyolult. :) A Drupal-t egyedül kezdtem el megismerni, eddig elég sok mindent sikerült vele megoldanom, ez az első probléma, ami nagyobb időre megfogott. Innen jött, hogy ez bonyolult.. :)
Biztos, hogy a views jó
Biztos, hogy a views jó ennyire összetett keresésre? Mert pl a Faceted search pont erre lett kitalálva. A keresési oldalon megkapod az összes szótár kifejezést, és úgy szűrsz-csavarsz, ahogy akarod.
----
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.
Megvan a hiba!
Megtaláltam miért viselkedett ilyen furcsán a szűrés:
Be volt kapcsolva ez a modul: BetterSelect. A multiselect ablakokból checkboxos megjelenítést csinált, csak éppen azt okozta, amit az első hozzászólásomban írtam.
Van egy hasonló modul: Better Exposed Filters. Ez szuperul működik, az exposed résznél lehet megadni, hogy a mező checkbox legyen-e. A szűrés is tökéletes, szótárakkal is CCK-val is. Ezzel csak az a bajom, hogy tartalom beküldésénél marad a multiselect, vagyis a CTRL + klikkelés.
Már csak ide szeretnék egy checkbox-os megoldást, és boldog is lennék. :)
mezősítsed a szótáraidat
content_taxonomy modullal forgasd át a szótáraidat mezőbe és akkor használhatsz olyan cck widgetet az űrlapon, amilyet akarsz. ha akarod radio lesz, ha akarod autocomplete (még akkor is, ha a szótár amit használ amúgy nem "free tagging") .. szóval ezer előnye lesz, úgy fog a taxonomy viselkedni, mint akármilyen cck mező.
-
clear: both;