Üdv mindenkinek!
A Dynamic properties modulhoz szeretnék egy nézeteket támogató modult készíteni. A Dynamic Properties attribútum-érték párok tartalmakhoz rendelését teszi lehetővé, ám a Views csak olyan handler-eket ad, amelyek vagy külön az attribútumot, vagy külön az értéket vizsgálják.
Például: ha van mondjuk egy Póló tartalomtípusom, akkor hozzárendelhetem minden pólóhoz a szín attribútumot valamilyen értékkel (pl.: szín:zöld). Tudok olyan Views szűrőt csinálni, ami visszaadja azokat a pólókat, ahol meg van adva a szín (attribútum=szín), vagy meg van adva, hogy valami zöld (value=zöld). Ezek textfield beviteli mezők.
Én viszont olyan legördülő (felfedett) szűrőt szeretnék, ahol a címke a tulajdonság, az opciók pedig azok az értékek, amik ehhez a tulajdonsághoz meg lettek adva.
Így indultam el (a modul neve 'properties_views'):
'properties_views.views.inc:'
// hook_views_data() function properties_views_views_data() { $data = array(); $data['field_data_field_dynamic']['attribute_value'] = array( 'group' => t('Fields'), 'title' => 'field_dynamic', 'help' => t('Dynamic properties: Attribute-Value'), 'filter' => array( 'field' => 'field_dynamic_value', 'table' => 'field_data_field_dynamic', 'additional fields' => array('field_dynamic_attribute', 'field_dynamic_value', 'field_dynamic_category'), 'field_name' => 'field_dynamic', 'allow empty' => 1, 'handler' => 'properties_views_handler_filter_field_dynamic_value' ), ); return $data; } //hook_views_handlers() function properties_views_views_handlers() { return array( 'info' => array( 'path' => drupal_get_path('module', 'properties_views'), ), 'handlers' => array( 'properties_views_handler_filter_field_dynamic_value' => array( 'parent' => 'views_handler_filter_equality' ) ) ); }
Aztán létrehoztam a filter osztályt (extends views_handler_filter_equality), minden OK, a form-hoz hozzáadok egy legördülőt, hogy ki lehessen választani az attribútumot, hogy aztán a lehetséges értékek megjelenjenek egy másik legördülőben ($form['value']), de itt elhasaltam az ajax-szal. A Views-ban semmi sem úgy működik, mint a "normális" Drupal 7 ajax-ban (például az ['#ajax'][callback] nem működik [mert nincs a form cache-ben, aminek ott kéne lennie], csak az ['#ajax']['path'] és ott mindenféléket kell varázsolni...).
Szóval végre a kérdés (illetve kérés): ha valaki használt már ajax-ot views handler-ben, vagy tud olyan modult, amiből meg lehetne tudni erről valamit (keres(t)em, de eddig nem találtam), az írjon.
Köszönettel: alulírott