Upravujeme výsledky vyhledávání v Drupalu
Základní struktura výsledků vyhledávání v Drupalu neposkytuje vždy zrovna takovou strukturu dat, jakou bychom si představovali. Formátování lze častečně přizpůsobit pro jednotlivé typy obsahu v nastavení zobrazení polí (display field), opravdu komplexním a silným nástrojem je však vytvoření vyhledávacích šablon v příslušném theme.
Pro úpravu výsledků vyhledávání otevřete složku modulu search (ten je součástí jádra Drupalu, najdete ji tedy v kořenovém adresáři modules) a překopírujte si do vašeho theme soubory search-result.tpl.php a search-results.tpl.php. Když do nich nakouknete, zjistíte, že první z nich poskytuje formátování pro jeden konkrétní výsledek, který se vypisuje v podobě proměnné $search_results v souboru search-results.tpl.php, jenž poskytuje jakýsi „obal“, kde je možné nastavit záhlaví a zápatí výsledků.
Pro názornost si představte, že chcete výsledky upravit do tabulky. Pak v search-results.tpl.php bude záhlaví tabulky <th></th> s jednotlivými buňkami, a výpisem proměnné $search_results, obalené na začátku a konci tagy <table></table> a v search-result.tpl.php pak výpis jednotlivého řádku tabulky. Jednotlivé položky vyhledávání jsou dostupné v poli $result, které si nechejte vypsat v šabloně. Např. přidaná CCK pole většinou vypíšete pomocí obecného zápisu $result[‚node‘]->field_nazev[0][‚value‘].
Na závěr ještě k vylepšení stylování samotného vyhledávacího formuláře: k tomu poslouží soubory search-block-form.tpl.php a search-theme-form.tpl.php. Ty obsahují na začátku poměrně výmluvnou nápovědu, jak s nimi případně pro případnou editaci naložit.
Pokročilejším PHPčkářům by mohla přijít vhod také preprocess funkce template_preprocess_search_result().
PS: návod je pro Drupal 6.x
Diky za uzitecnej tip, jeste
Diky za uzitecnej tip, jeste by me zajimalo jak predat vysledky z vyhledavani (v mem pripade nid) jako argument urcitemu view, vi nekdo jak na to?
Poslat nový komentář