Dobrý den,
pomocí views vypisuji seznam článku, které mají políčko typu Date. Nyní bych chtěl nechat uživatele filtrovat záznamy podle mnou definovaných časových úseků.
Výsledkem by měl být select element, kde budou položky jako
minulý týden
poslední měsíc
poslední pololetí
Našel jsem ve fórech, že na to budu potřebovat nejspíš funkci hook_form_alter, ale vůbec netuším, jak to mám udělat.
Děkuji za rady. Něco takového jsem ale zkoušel, ale nakonec jsem narazil. Políčko typu date mi nabízí granualitu roky, měsíce, dny ... a to jsem nebyl schopný přepsat na nějaké vlastní hodnoty. Pomáhal jsem si s dsm, ale ty poje položky jsem tam nikde neviděl.
No, to je to, co jsem se bál, tedy že jen změna formuláře nebude stačit. Každopádně ta by měla jít v pohodě udělat. Prostě tam nacpěte vlastní hodnoty do vybíračky. Pak asi bude potřeba implementovat hook_views_query_alter(&$view, &$query), kde upravíte filtr v $query tak, aby odpovídal vašemu požadavku.
Musíte si nejprve ve Views vytvořit Exposed Filtr, který uživatelům filtrování nabídne. Pokud pak budete chtít změnit položky v exposed filtru, pak pomocí hook_form_alter() doplněné do vašeho modulu upravíte položky v příslušné části formuláře. Ale nejsem si jist, zda to v daném případě bude stačit, možná bude potřeba upravit i View samotné přes nějaký jiný hook.