⚈ Kuopassa.net

Lisää kertomuksia netistä. 摆烂

Hakutulosten määrän esittäminen Textpatternissa

Tähän väliin pikavinkki, jonka opin juuri, ja jonka haluan laittaa tällä tavalla muistiin myöhempää käyttöä varten. Yritän olla täyttämättä blogia jonninjoutavilla jutuilla, joiksi varmaan monet tänne eksyneet lukijat näitä kirjoituksiani mieltävät. Kirjoitan asioita, joista voi olla myöhemmin itsellenikin hyötyä kun ryhdyn tekemään jotain. Asiaan: aikaisemmin päivällä huomasin Textpatternin enkunkielisessä wikissä ohjeen, kuinka voi laittaa näkyville Textpatternin sisäisen hakukoneen löytämien hakutulosten määrän. Tuo on hyödyllistä dataa, joten aion ottaa sen käyttöön ainakin tässä blogissa.

Hakutulosten lukumäärä voidaan siis generoida kahdella tagilla. Olen melko varma, että tämän asian voi tehdä yksinkertaisemminkin, mutta en vain osaa. Tai osaan, mutta jos tämä toimii niin miksipä menisin monimutkaistamaan asioita yrittämällä tehdä monimutkaisen asian yksinkertaisemmin? Ideana hakutulosten määrän printtaamisessa ruudulle on ensin tunnistaa, onko käyttäjä hakutuloksissa. Sitten jos hän on, pitää ensin printata esimerkiksi jotain sellaista kuin <txp:article pgonly="1" limit="10" />, jotta järjestelmä voi saada selville miten monta hakutulosta on löytynyt. Sitten lopuksi käytetään tagia, jolla voidaan printata nähtäväksi varsinainen hakutulossaldo. Se onnistuu esimerkiksi tällaisella tavalla:

<txp:search_result_count text="osumaa" />

On siis tärkeää ensiksi laittaa esimerkiksi <txp:article pgonly="1" limit="10" />, jotta hakutulosten määrä saadaan selville. Jos yllä olevalla rivillä näkyvä tagi on ennen kuin viimeksi mainittu artikkelilistaustagi, järjestelmä ei osaa tehdä yhteenlaskua. Pitkä koodiesimerkki, joka on revitty suoraan tämän blogin sisältä, näkyy tässä:

<txp:if_search>
<txp:article pgonly="1" limit="10" />
<p>Etsit blogista hakulauseella <strong><txp:search_term /></strong>.
Hakutulokset (<txp:search_result_count text="osumaa" />) näkyvät alapuolella.</p>
<txp:article allowoverride="0" limit="10" pageby="10" pgonly="0" searchall="1" searchsticky="0" status="4" time="past" />
</txp:if_search>

Tietoa kirjoittajasta