⚈ Kuopassa.net

Lisää kertomuksia netistä. 摆烂

Avoimena olevan navigaatiolinkin merkitseminen

Taisin vuosia sitten naputtaa samasta asiasta edellisessä Korinaa kuopasta -blogissani. Kuten silloin, myös nyt tämä vinkki on suunnattu Textpatternin käyttäjille. Vinkissä neuvotaan kuinka helposti on mahdollista asettaa esimerkiksi CSS-selektori avoimena olevaan navigaatiolinkkiin, joka voi olla osio tai vaikkapa yksittäinen blogimerkintä. Kummassakin tapauksessa voidaan hyödyntää TXP:n sisäänrakennettua ehtolausejärjestelmää. Sillä kun voi tunnistaa nimen perusteella onko esimerkiksi etusivu auki. Samaan tapaan yksittäinen artikkeli voidaan tunnistaa, mutta ei nimen vaan artikkelin ID-numeron avulla.

Käytän esimerkkinä tätä Kuopassa.net-blogia. Sen vasemmassa laidassa näkyy kolme linkkiä. Nuo linkit muodostavat blogin navigaation. Linkit on kääritty listasoluihin ja luettelotyyppinä on ul, eli järjestämätön luettelo. Avoimena oleva osio merkitään HTML-lähdekoodissa asettamalla id="avoin" luettelosoluun. Se on siis näin:

<li id="avoin">

Tuo on mahdollista toteuttaa hyvin, hyvin helposti. Etusivun kohdalla Textpatternin viimeisimmät versiot haluavat, että käytetään osion nimenä sanaa default. Koko Etusivu-linkin kohdalla oleva koodi näyttää tältä:

<li<txp:if_section name="default"> id="avoin"</txp:if_section>>
<a href="http://kuopassa.net/" rel="home">Etusivu</a>

Ensimmäisellä rivillä tsekataan onko avoinna etusivu. Jos se on niin, silloin laitetaan ensin yksi välilyönti, jotta koodi ei mene yhteen pötkään, jonka jälkeen tulee se CSS-selektori. Välilyönnin avulla siis saadaan estettyä, ettei tule näin: <liid="avoin"> vaan näin: <li id="avoin">. Muiden navigaatiolinkkien osioiden kohdalla voidaan käyttää osion nimeä. Esimerkin vuoksi tässä blogissa koko höskä on tehty näin:

<li<txp:if_section name="default"> id="avoin"</txp:if_section>>
<a href="http://kuopassa.net/" rel="home">Etusivu</a>
</li>
<li<txp:if_section name="arkisto"> id="avoin"</txp:if_section>>
<a href="http://kuopassa.net/arkisto/">Arkistoidut kirjoitukset</a>
</li>
<li<txp:if_section name="info"> id="avoin"</txp:if_section>>
<a href="http://kuopassa.net/info/">Tietoa blogista</a>
</li>

Jos navigaatiolinkit viittaisivat yksittäisiin artikkeleihin, tai kuten tässä blogissa, blogimerkintöihin, voitaisiin käyttää ehtolauseena artikkelin ID-numeron tunnistavaa härveliä. Ehtolauseen rakenne olisi sama kuin yllä, mutta artikkeli tunnistettaisiin sen uniikin numeron avulla. Esimerkiksi tällä viisiin:

<li<txp:if_article_id id="6"> id="avoin"</txp:if_article_id>>
<a href="http://kuopassa.net/juttu-numero-kuusi">Juttu numero kuusi</a>
</li>

Tietoa kirjoittajasta