MyCashflow'n maksullisten palvelupakettien hakukoneeseen kuuluvat haun suodatustyökalut, joiden avulla asiakas voi rajata hakunsa koskemaan valittuja tuoteryhmiä tai -merkkejä tai hintahaarukkaa. Tässä artikkelissa esitellään hakusuodattimien toteuttaminen kaupan teemassa.

Oheinen esimerkki koskee vain maksullisia MyCashflow-palvelupaketteja. Ilmainen palvelupaketti käyttää rajoitettua hakukonetta, jossa hakusuodatintagit eivät ole käytössä.

Hakusuodatintyökalut lisätään tavallisesti hakutulossivulle, missä kävijä voi käyttää suodattimia rajaamaan tekemänsä haun tuloksia.

Hakusuodattimet tulostetaan {SearchFilters}-tagin avulla. Oletusarvoisesti tagi tulostaa kaikki saatavilla olevat hakutyökalut. Useimmiten {SearchFilters}-tagin oletustulostus soveltuu sellaisenaan suodatintyökalujen toteuttamiseen, mutta tarpeen vaatiessa tagin helper-attribuutissa voidaan määritellä suodatinlistan tarkempi merkkaus ja sisältö.

Tässä esimerkissä suodatinlistaelementin merkkaus on sijoitettu tiedostoon helpers/search-filter.html:

{SearchFilters(
    helper: 'helpers/search-filter'
)}

Alla näet esimerkin helpers/search-filter.html-tiedoston sisällön:

helpers/search-filter.html<h3>{SearchFilterName}</h3>
{SearchFilterOptions(
	before: '<ul>',
	helper: 'helpers/search-filter-options',
	after: '</ul>'
)}

Tiedostossa tulostetaan suodatintyypin nimi <h3>-otsikkoon käyttämällä {SearchFilterName}-tagia. Nimen lisäksi jokaisesta hakusuodattimesta tulostetaan <ul>-muotoisena listana suodatinvalinnat käyttämällä {SearchFilterOptions}-tagia. Suodatinvalintojen merkkaus puolestaan määritellään alla näkyvässä helpers/search-filter-options.html-tiedostossa.

helpers/search-filter-options.html<li>
    <a href="{SearchFilterOptionSelectUrl}">{SearchFilterOptionName}</a> ({SearchFilterOptionResultCount})
    {SearchFilterOptionRemoveUrl(
        before: '<a href="',
        after: '">{%Delete}</a>'
    )}
</li>

Hakusuodatinvalinnoissa tulostetaan seuraavat osat:

  • Hakusuodattimen valintalinkki tulostetaan {SearchFilterOptionSelectUrl}-tagilla

    Valintalinkin avulla asiakas ottaa suodattimen käyttöön. Valittu suodatin lisätään hakutulossivun URL-osoitteeseen GET-parametrina.

  • Hakusuodatinvalinnan nimi tulostetaan {SearchFilterOptionName}-tagilla

    Valinnan nimi voi olla tuoteryhmän tai -merkin nimi tai hintahaarukka merkkijonona.

  • Hakusuodattimella löytyvien tuotteiden määrä tulostetaan {SearchFilterOptionResultCount}-tagilla

    Tuotemäärässä otetaan huomioon kaikki valitut suodattimet ja asiakkaan syöttämä hakusana.

  • Ja hakusuodattimen poistolinkki tulostetaan {SearchFilterOptionRemoveUrl}-tagilla

    Poistolinkki tulostetaan vain silloin, kun hakusuodatin on valittu, joten tagin after / before -attribuuteissa määritelty merkkaus ei myöskään näy, jos suodatin ei ole käytössä.

    Esimerkissä haetaan sanakirjasta tagimerkkauksella {%Delete} teksti 'Poista', jotta esimerkki toimii monikielisissä verkkokaupoissa.

Huomaa että valinta- ja poistolinkkien tagit tulostavat vain URL-osoitteen, joten niitä käytetään linkkielementin kohteena.

{SearchFilters}-tagin oletustulostus sisältää kaikki yllä listatut ominaisuudet, joten se on useimmiten sellaisenaan sopiva hakutyökalujen toteuttamiseen.

Jos sinulle jäi kysymyksiä aiheeseen liittyen, ota asia puheeksi MyCashflow'n asiakaspalvelun kanssa.