Zawsze miałem problemy z okiełznaniem ustawień wyszukiwarki w textpatternie. Dość często przy bardziej skomplikowanym układzie stron i sekcji dochodziło do momentu w którym moduł wyszukiwania po prostu przestawał działać.
Różne tego przyczyny były; np. zgubiony <txp:article /> tag, albo inna, niepoprawna składnia “elsów” i “ifów” w kodzie strony. Najbardziej rozsądnym rozwiązaniem które przychodziło mi wtedy do głowy było stworzenie osobnej sekcji, która zawierała by unikatową stronę z wynikami wyszukiwania. Z punktu widzenia “obiektowości” strony takie załatwienie sprawy z wynikami wydawało się najbardziej naturalne.
No więc pogooglowałem chwilę i na textpatternowych forach trafiłem na taki wątek.
Opisana jest tam metoda którą pozwolę sobie tutaj swobodnie przytoczyć. Oddziela ona na dobrą sprawę cały moduł wyszukiwania od głównej treści i pozwala na szeroko posuniętą (przepraszam za neologizm – zabrakło mi słowa) “kustomizację” .
– Wszystko należy zacząć od stworzenia nowej strony, umownie nazwijmy ją ‘szukanie’, designem powinna nawiązywać do reszty stron, ale to chyba zbędna uwaga ;) . W jej kodzie powinno znaleźć się coś takiego:
<txp:output_form form="szukanieForm" />
<txp:article limit=10 pgonly=1 />
<txp:if_search>
<p><txp:search_result_count /></p>
<txp:article limit=20 />
</txp:if_search>
Ten kawałek kodu użyje formy “szukanieForm” do pokazania boxa wyszukiwarki, wyświetli wyniki i dodatkowo na górze pokaże ich ilość.
- Forma dla boxa za to, powinna zawierać mniej więcej to:
<form action="szukanie" method="get">
<input type="text" name="q" value="" width="400px;" />
<button class="buttonSzukaj" type="submit">Szukaj</button>
</form>
Jak widać “action” odnosi się do sekcji o nazwie “szukanie” którą zaraz zrobimy a do buttona przypisana jest klasa CSS “buttonSzukaj”. Można sie tutaj pokusić o jakiś ładny styl dla całego boxa – pełna swoboda.
- Ostatnia sprawa to stworzenie osobnej sekcji, (Prezentacja -> Sekcje) nazwijmy ją tak samo jak stronę czyli “szukanie”. W tym miejscu trzeba zaznaczyć Używa szablonu strony: na “szukanie” czyli na stronę którą zrobiliśmy na początku, oprócz tego należy zaznaczyć wszystkie radio które są poniżej na ‘nie’.
I to właściwie wszystko. Powodzenia :)