Textpatternilla julkaistava artikkeli voi olla pitkä. Siinä voi olla paljon kirjaimia. Hirveästi kirjaimia ja pilkkuja ja pisteitä. Joskus voi olla järkevin ja käyttäjäystävällisin vaihtoehto halkaista artikkeli johdantoon ja leipätekstiin. Esimerkiksi tässä blogimerkinnässä näet viisi ensimmäistä lausetta johdantona, jonka jälkeen klikkaamalla joko blogimerkinnän permalinkkiä tai johdantotekstin alapuolella näkyvää linkkiä voit siirtyä lukaisemaan artikkelin kokonaisuudessaan.
![]()
Tämä temppu on toteutettu Textpatternilla, johon on asennettu & aktivoitu rss_auto_excerpt-niminen liitännäinen. Liitännäinen, eli plugin, on kytketty omaan lomakkeeseensa, joka taas on valittu käytettäväksi kyseistä blogimerkintää julkaistaessa. Eikös olekin hankala hahmottaa? Varmasti on. Toiminnon taustalla lymyävä idea on kuitenkin tässäkin tapauksessa äärimmäisen yksinkertainen ja jokaisen helposti toteutettavissa. Plugin nimittäin automaattisesti katkaisee artikkelin leipätekstilaatikkoon (jonka TXP-tagin nimi on body) kirjoitetun artikkelin ennalta määrätystä kohdasta. Kirjoitus voidaan katkaista esimerkiksi tietyn kirjainmäärän jälkeen, mutta tässä blogimerkinnässä liitännäisen asetuksiin on ilmoitettu, että johdannoksi raavitaan leipätekstistä neljä ensimmäistä lausetta. Liitännäinen katkaisee automaattisesti johdannoksi halutun viipaleen kirjoituksesta. Tämän toteuttaminen vaatii vain:
Luodaan lomake, jota käytetään näitä pitkiä artikkeleita varten. Tässä blogissa tuon lomakkeen nimi on pitka-artikkeli. Lomakkeen tyyppi on article. Sen sisälle laitetaan rss_auto_excerpt-liitännäisen oma tagi, joka voi näyttää vaikkapa tältä:
<txp:rss_auto_excerpt sentences="5" linktext="Lue loputkin…" />
Tuo koodi on hyvin ymmärrettävä, mutta katsotaanpa vielä, että mitä ihmettä tuo sentences ja linktext oikein tarkoittaa. Esimerkkikoodissa ensin mainitun arvona on numero 5. Se tarkoittaa johdannoksi luotavan tekstin lauseiden lukumäärää. Jälkimmäinen taas tarkoittaa johdantotekstin merkkauksssa alapuolelle ilmestyvän hyperlinkin tekstiä. Jos linkkitekstiä ei ilmoiteta tässä koodissa, tulee linkin tekstiksi oletusarvoisesti liitännäisen sisälle kirjoitettu englanninkielinen linkkiteksti. Johdantotekstin alapuolelle ilmestyvä linkki kääritään p-elementin sisälle. Linkkiä ympäröivälle tekstikappaleelle voidaan tarvittaessa ilmoittaa omavalintainen CSS-ryhmäselektori. Näin:
<txp:rss_auto_excerpt sentences="5" linktext="Lue loputkin…" linkclass="lue-loputkin" />
Vaikka koodissa lukeekin linkclass, se ei tarkoita a-elementin sisälle luotavaa ryhmäselektoria, vaan tekstikappaleeseen ympättävää. Yllä näkyvä koodi tuottaa siis tällaista merkkausta nettisivun lähdekoodiin:
<p class="lue-loputkin"><a rel="bookmark" href="#" title="Kestolinkki tähän artikkeliin">Lue loputkin…</a></p>
Esimerkistä on poistettu linkin osoite. Se korvattiin risuaidalla (#).
Napsautetaan sitten sitä johdantotekstin alta löytyvää linkkiä. Katsotaan. Kappas. Eihän se toimi. Tässä on nyt sattunut kauhistuttava virhe. Taitaa olla aika hiippailla piiloon tuonne komeroon joksikin aikaa. Päiväksi tai pariksi.
Meillä on nyt pari vaihtoehtoa. Halutaanko käyttäjän näkevän myös aikaisemmin esitetyn johdantotekstin myös silloin kun hän lukee koko artikkelia? Vai pistetäänkö johdanto piiloon käyttäjäkunnalta silloin kun he lukevat koko julkaisua? Kumpikin vaihtoehto voidaan toteuttaa. Tehdään ensin vaihtoehto, jossa johdanto kulkee kärryillä tapahtui mitä sattui:
<txp:if_individual_article>
<txp:rss_auto_excerpt sentences="9999" />
<txp:else />
<txp:rss_auto_excerpt sentences="5" linktext="Lue loputkin…" />
</txp:if_individual_article>
Eli tuollaista. Se on ehtolause, joka tarkistaa ensimmäinen pykälässä (or whatever!) onko lukija tarkastelemassa koko artikkelia. Jos on niin sitten printataan ruudulle niin paljon sisältöä kuin vain artikkelista löytyykin. Jos taas käyttäjä lukee vain johdantoa, niin sittenhän ruudulle ilmestyykin vain johdantoteksti, mihin on koodissa ilmoitettu viisi lausetta ja linkkitekstiksi Lue loputkin…. Tämä vaihtoehto on käytössä täällä Kk:n weblogissa.
Sitten se jälkimmäinen vaihtoehto, jossa johdanto piilotetaan kun lukija tarkastelee koko artikkelia. Sen toteuttaminen on hyvin helppoa, sillä me tiedämme kuinka monta lausetta (tai esim. merkkiä) johdannon pituudeksi on ilmoitettu. Ja koska liitännäisen sisälle on rakennettu sellainen mahtava toiminto, minkä avulla voidaan hypätä yli artikkelin alusta haluttu määrä lauseita, merkkejä tms. Esimerkkikoodissa johdannossa on lauseita viisi kappaletta. Koko artikkelia luettaessa hyppäämme viiden lauseen yli. Näin:
<txp:if_individual_article>
<txp:rss_auto_excerpt sentences="9999" skipsentences="5" />
<txp:else />
<txp:rss_auto_excerpt sentences="5" linktext="Lue loputkin…" />
Tuohon esimerkissä käytettyyn pitka-artikkeli-lomakkeen sisälle voidaan tietenkin lisätä muitakin Textpattern-tageja, kuten vaikka blogimerkinnän otsikko, julkaisuhetki, kategoriat jne.
Tämän julkaisun kommentointi on suljettu.
Kun tämän julkaisun kommentointi oli vielä avoinna, tälle julkaisulle kirjoitettiin yhteensä 0 kommenttia. Tämä artikkeli on lokeroitu kategoriaan Textpattern. Tämän julkaisun kestolinkin osoite on http://www.kuopassa.com/weblog/2007/06/05/pitkan-artikkelin-pilkkominen.