A core taxonomy autocomplet widget views felfedett szűrője alapból "csak" a szabadszavas keresést támogatja, ami jó dolog, de mondjuk ha egy településneveket tartalmazó szótárból választana a user, akkor a begépelt pár karakterrel kezdődő városokat szeretné látni, nem pedig a begépelt karaktereket tartalmazókat.
Lenne egy jó kis modul erre, de egyenlőre sajnos nem működik megfelelően.
Tudnátok erre valami más modult, amiben benne van ez a funkcionalitás?
Drupal verzió:
Fórum:
Nem tudom, hogy saját
Nem tudom, hogy saját minimodul is számításba jöhet-e, mert az autocomplete igen egy jószág:
Ha belenézel ebbe:
http://api.drupal.org/api/drupal/modules!taxonomy!taxonomy.pages.inc/fun...
Akkor látod, hogy az adatbázisban így keres a taxonomy autocomplete: ->condition('t.name', '%' . db_like($tag_last) . '%', 'LIKE')
Neked pedig ez kell: ->condition('t.name', db_like($tag_last) . '%', 'LIKE')
Ezt úgy tudod megcsinálni saját minimodulban, hogy bemásolod a modulodba a taxonomy_autocomplete()-et és átnevezed SAJÁTMODUL_autocomplete()-re.
Benne átírod a fent említett sort.
Kell még egy hook_menu() az alábbi menüvel:
$items['AKÁRMI/autocomplete'] = array(
'title' => 'Saját autocomplete taxonomy',
'page callback' => 'SAJÁTMODUL_autocomplete',
'access arguments' => array('access content'),
'type' => MENU_CALLBACK,
'file' => 'taxonomy.pages.inc',
);
Ezután kell egy hook_form_alter()
Amiben az adott form-nál a taxonomy fieldednél az #autocomplete_path értékét átállítod AKÁRMI/autocomplete -re.
Ezután már a te autocomplete keresésed fog működni.
(Az autocomplet használati igen egyszerű, és akármilyen textfield pár soros saját modullal könnyen átalakítható)
...mit tudok: http://web.termuves.hu
Köszi a segítséget!
Köszi a segítséget!
Legyártottam a saját modult, de valami nem stimmel így.
A taxonomy.pages.inc fájlt a minimodul könyvtárában keresi:
Védd az állatokat! ;)
Ööööö. Ez a sor nem kell. Nem
Ööööö. Ez a sor nem kell. Nem tudom miért raktam bele...
...mit tudok: http://web.termuves.hu
Így eltűnt a hibaüzenet, de
Így eltűnt a hibaüzenet, de semmi találatot nem ad vissza...
Viszont van egy gyanúm: kiderítettem, hogy nem a core taxonomy.pages.inc-ben lévő funkció hívódik meg, hanem a sites\all\modules\views\includes\ajax.inc-ben lévő views_ajax_autocomplete_taxonomy().
(az #autocomplete_path értéke, amit le kellene cserélnem, az ez: admin/views/ajax/autocomplete/taxonomy/5)
Ha ez igaz, akkor hogy épüljek be a viewsba?
Védd az állatokat! ;)
Beépülni a hook_form_alter()
Beépülni a hook_form_alter()-ban kell. Ott nézd meg melyik id-jű form kell neked. Ha a neked tetsző form hívódik meg, akkor hozzáadod (vagy felülírod) a #autocomplete_path értéket, a te útvonaladdal 'AKÁRMI/autocomplete'. Ezután a hook_menu()-ben megadott SAJÁTMODUL_autocomplete() függvényhívás fog lefutni autocomplete lekéréskor.
Azt a részt nem tudom, hogy a views_ajax_autocomplete_taxonomy() kell-e neked, de ha az, akkor annak a tartalmát másold a SAJÁTMODUL_autocomplete() függvényedbe és ott módosítsd.
...mit tudok: http://web.termuves.hu
Most itt tartok:
Most itt tartok:
- ha átmenetileg meghekkelem a viewst, akkor működik :)
- viszont saját modulban nem megy (a hook_menu oké, a hook_form_alter is oké, szóval az értékek megváltoznak rendben)
Viszont a json, amit visszaad, az üres.
Ha beírom a böngészőbe az eredeti útvonalat mondjuk "buda" kereséssel:
, akkor szépen visszaadja a találatokat:
De a módosított utvonalam üreset ad:
Biztos jó az új útvonal így? Az eredeti útvonalban benne van a taxonomy/5, ami a szűrendő szótár. Az új útvonal honnan tudja, hogy miben kell keresni?
Nem kell valahogy beleheggeszteni abba is a szótár útvonalát?
Védd az állatokat! ;)
Mi van a
Mi van a taxonomyautocomplete2_autocomplete() függvényben?
Merthogy amikor használod az autocomplet mezőt, akkor ez hívja meg. És ez adja vissza az eredményt.
...mit tudok: http://web.termuves.hu
A lenti függvény van benne,
A lenti függvény van benne, amit a sites\all\modules\views\includes\ajax.inc-ből másoltam ki (ha ebben a fájlban hekkeletem meg, akkor működött a funkció)
Védd az állatokat! ;)
Ennek a függvénynek a saját
Ennek a függvénynek a saját modulodba kell lennie. És úgy módosítod ahogy akarod, a lényeg, hogy a visszaadott érték olyan legyen amit te szeretnél.
...mit tudok: http://web.termuves.hu
Természetesen már az elejétől
Természetesen már az elejétől fogva a saját modulomban van, a fenti két függvénnyel együtt. A probléma az, hogy nem ad vissza találatot.
Védd az állatokat! ;)