Taipuvan sisällönhallinnan perustarpeet

Avasimme eilen Tampereen seudun tradenomit ry:n uudet kotisivut. Vastasimme projektissa sivujen teknisestä toteutuksesta eli käytännössä hallintajärjestelmästä sivujen takana. Sivun ulkoasun ja taiton teki hallituksen jäsen Timo Sulanne.

Kun projekti tehdään tällä tavoin kahdessa osassa eriteltynä, nousee tärkeään osaan hallintajärjestelmän taipuisuus. Voiko sivujen taiton tehdä miten haluaa vai rajoittaako hallintajärjestelmä sitä jotenkin? Vastaus on selkeä, taittoa ei tule rajoittaa millään tavoin.

Mutta miten tämä sitten on mahdollista? Avainsana taitaa olla standardien mukainen div-taitto. Sisällön tulostaminen ei sinällään ole mikään erikoinen osuus vaan se printataan omaan lohkoonsa normaalisti. Mutta esimerkiksi navigointi voi olla jo astetta monimutkaisempi juttu; voihan se olla sijoitettuna vaikka mihin ja miten päin tahansa sivuilla. Ratkaisu on kuitenkin astetta yksinkertaisempi – sisällönhallinta tulostaa validin listan ja se voidaan muotoilla CSS:ssä miten halutaan. Totta kai osa toteutuksista voi vaatia astetta enemmän, esim. navigaatilistoihin jotain muutakin kuin id=”mainMenuActive” -valitsimen aktiiviselle sivulle, mutta CSS:llä tekee ihmeitä.

Jos otetaan vertailukohdaksi paljon käytetty Joomla, pesee tälläinen ratkaisu mielestäni sen sata nolla. Totta kai asiaan perehtynyt tekee Joomlan sivupohjan yhtä nopeasti kuin normaalin, mutta siinä pitääkin jo olla hieman enemmän tietoja Joomlan toiminnasta. Itseä Joomlassa hieman syö se tableilla taitettu sisältö – miksei sitä ole tehty loppuun asti kunnolla? Toinen asia onkin sitten hallintaliittymän sekavuus, mutta jätetään sen käsittely toiseen kertaan.

Taipuva sisällönhallinta voidaankin yhdistää sivupohjaan vain parilla funtiokutsulla; sisällytetään pohjaan tarvittavat tiedostot ja sen jälkeen lisätään pariin kohtaan tarvittavat funtio/oliokutsut (sisällön, päävalikon ja alavalikon tulostavat kutsut) ja paketti on kasassa.

Yksi kommentti kirjoitukseen

  1. Kimmo kirjoittaa:

    Listojen ja navigaatioiden iterointi onkin mielenkiintoista touhua. On minusta hieman väärä lähestymistapa, että sisällönhallintajärjestelmä pakottaa käyttämään jonkinlaista valmista HTML-merkkausta navigaatioiden esittämiseen. Itse pidän esimerkiksi Navigo CMS:n tavasta iteroida navigaatio-objektit. Jokaisella iteraatiokierroksella suoritetaan pieni pätkä koodia, josta tietyt tagit korvataan kunkin navigaatio-objektin perustiedoilla ja objektista sekä listasta on helposti saatavilla syventäviäkin tietoja. (Objektin nimi, URL, iteraatiokierros, koko listan pituus…) Näin itse merkkaus voi olla käytännössä mitä tahansa ja voi sisältää millaisia tahansa toiminnallisuuksia.

    Tuollaisen toiminnallisuuden toteuttaminen on toki PHP:lla vaativampaa kuin esimerkiksi JSP:llä, jossa erilaisten listojen iterointi on tablibien kanssa todella helppoa. Voisikin joskus ihan koemielessä kokeilla tehdä jotakin aiheeseen liittyvää.

Jaa ajatuksesi