Wyszukiwanie po atrybutach klasy (2)
Zgłębiam temat rozpoczęty ostatnio. Wyszukuję za pomocą wbudowanej funkcji advancedsearch. Formatkę wyszukiwania, a w zasadzie jej pola, można zrobić tak jak podano w przykładzie (strona nie jest już rozwijana, ale przykład działa). Ma to ten minus, że atrybuty trzeba wstawić po ich ID, a nie nazwie, ale odpowiednio komentując kod można go zrobić przejżystym.
W mojej wersji zrobiłem wyszukiwanie po atrybutach o ID 362 i 363 (każdy się domyśli, że wyszukuję po Miejscowości i powiecie :-) . Wstawiłem w jednym z własnych szablonów (template) taki kod:
<form action={"/content/advancedsearch/"|ezurl} method="get">
{* 45, czyli Atrakcja *}
<input type="hidden" name="SearchContentClassID" value="45" />
{* 363 - Powiat *}
Powiat: <input type="hidden"
name="Content_search_attribute_fulltext_classattribute_id[]"
value="363" />
<input type="text"
name="Content_search_attribute_fulltext_value[]"
value="" />
{* 362 Miejscowość (attraction_attrib_city) *}
Miasto: <input type="hidden"
name="Content_search_attribute_fulltext_classattribute_id[]"
value="362" />
<input type="text"
name="Content_search_attribute_fulltext_value[]"
value="" />
<input type="submit" value="Search" name="SearchButton">
</form>
To nawet działa, trzeba tylko pamiętać o ustawieniu
[SearchSettings] AllowEmptySearch=enabled
w pliku settings/override/site.ini.append.php, ew. można jeszcze dołożyć w tej samej sekcji
EnableWildcard=true
, ale to wymagane tylko dla zaawansowanych użytkowników.
Teraz wystarczy tylko ustalić jak zrobić własną stronę z własnym szablonem na którym będzie tylko wyszukiwanie. Można oczywiście utworzyć własną klasę, nawet nie musi mieć atrybutów - wystarczy, że będzie miała nazwę, którą będzie można powiązać z szablonem zawierającym wyłącznie formularz wyszukiwania, ale może można to zrobić prościej.
Kommentare
Bitte melden Sie sich Logan oder registrieren Sie sich um kommentieren zu können.