⚈ Kuopassa.net

Lisää kertomuksia netistä. 摆烂

Hakutulosten sijoittaminen eri osioon

Tässä Textpatternilla toimivassa blogissa hakutulokset on sijoitettu Haku-osioon. Tyypillisesti TXP-sivustoissa hakutulokset avataan sivuston juurihakemistoon jos Textpattern on juureen asennettu, tai alihakemistoon jos TXP on sinne asennettu. Hakutulosten siirtäminen johonkin omaan osioonsa on mahdollista laittaa melko vaivattomasti. Tarvitaan jokin osio hakutuloksia varten ja sen jälkeen hakukoneen HTML-merkkauksessa viitataan sinne. Muuta ei periaatteessa tarvita. Toki tuohon osioon voidaan viskata jotain tageja.

Edellisessä tekstiklimpissä mainitaan hakutulosten osioon viittaaminen. Se tarkoittaa HTML-merkkauksen muokkaamista hakulomakkeen osalta. Kuopassa.netin blogissa hakutulokset löytyvät siis osoitteesta http://kuopassa.net/haku/, joten tuo osoite pitää laittaa hakulomakkeen action-kohtaan. Lomakkeen koodi voi siis näyttää vaikkapa tältä:

<form method="get" action="http://kuopassa.net/haku/">
<input type="text" value="<txp:search_term />" name="q" size="15" />
<button type="submit">Etsi blogista</button>
</form>

Sen jälkeen kaikki hakulomakkeella tehdyt kyselyt ohjautuvat mainitsemaani Haku-osioon. Siellä ei välttämättä näy vielä mitään. Sinne voikin olla syytä laittaa jotain järjen juoksua, kuten alla näytetään.

<txp:if_section name="haku">
<txp:if_search>
<txp:article />
<ul id="sivutus"
><li title="Siirry edelliselle hakutulossivulle"><txp:older showalways="1">Edelliset hakutulokset</txp:older></li
><li title="Siirry seuraavalle hakutulossivulle"><txp:newer showalways="1">Seuraavat hakutulokset</txp:newer></li
></ul>
</txp:if_search>
</txp:if_section>

Esimerkissä tunnistetaan aluksi onko käyttäjällä avoinna Haku-osio. Jos on, tsekataan, onko avoinna hakutulokset. Jos hakutuloksia kaivataan, näytetään joku listaus käyttämällä txp:article />-tagia. Tuota tagia kannattaa muotoilla sellaiseksi kuin halutaan. Sen avulla voidaan esimerkiksi rajoittaa miten monta hakutulosta näytetään listaussivuilla ja mitä lomaketta käytetään. Lopuksi yllä oleva koodiesimerkki printtaa ruudulle sivutuksen. Sivutuksella voidaan plärätä hakutulosten listaussivuilla ees ja taas.

Tietoa kirjoittajasta