Flo Apps Oy: Blogi
Blog » SilverStripen template-järjestelmästä
SilverStripen template-järjestelmästä
Edellisessä blogitekstissäni kerroin lyhyesti SilverStripe-julkaisujärjestelmästä ja sen pian ilmestyvästä 3.0-versiosta. Tässä blogitekstissä kerron järjestelmän sivupohjista ja niiden suhteesta PHP-ohjelmointikoodiin.
SilverStripessä saitin ulkoasuun vaikuttavat templatet löytyvät hakemistosta
/themes/[teema]/templates/
Kyseisen kansion juuresta löytyy tiedosto Page.ss, joka toimii kyseisen teeman pohjana.
SilverStripen templaattikielessä voi käyttää sekä ohjelmointilogiikkaa että viittauksia PHP-ohjelmointikieleen. Prosenttimerkillä viitataan logiikkaan esimerkiksi seuraavasti:
<li <% if get_current_locale = fi_FI %>class="active"<% end_if %> >
<a href="<% if hasTranslation(fi_FI) %><% control getTranslation(fi_FI) %>$Link<% end_control %>
<% else %>?locale=fi_FI<% end_if %>">suomeksi</a></li>
HTML-koodissa lopputulos näyttää tältä:
<li class="active" ><a href="/">suomeksi</a></li>
Kannattaa huomioida, että templaattikielen sisällä tarjolla oleva logiikka on varsin rajallista. Monimutkaisempi logiikka kannattaa hoitaa PHP-kielellä, jotta sivupohjat pysyvät keveinä ja luettavina.
PHP-ohjelmointikoodi sijoitetaan hakemistoon
/mysite/code/
Viittaukset PHP-koodiin tehdään sivupohjissa $-merkin avulla. Esimerkiksi templaten muuttuja $SiteSubtitle voi viitata mysite-hakemiston PHP-koodissa määriteltyyn 1) funktioon tai 2) tietokantakenttään.
Useampitasoisten navigaatioiden rakentaminen SilverStripessä on vaivatonta. Esimerkiksi Menu(1) palauttaa saitin korkeimman tason sivut dataoliosettinä, ja kyseinen olio voidaan käydä läpi silmukassa.
Vinkkejä
Muutama vinkki vielä loppuun.
1) SilverStripe tallentaa sivuelementtejä välimuistiin, joten välimuistin tyhjentämiseksi URL:in loppuun pitää lisätä muuttuja ?flush=1, jotta template päivittyy.
2) Joskus ihmetystä aiheuttaa HTML-koodiin ilmestyvä viittaus tiedostoon typography.css -tyylitiedostoon. Mistä se oikein tulee ja miten sen saa pois päältä?
Syynä on SilverStripen legacy-koodi. Nykyään viittaukset tyylitiedostoihin tulee tehdä templateissa, mutta taaksepäin yhteensopivuuden takia myös /mysite/code/Page.php sisältää viittauksen Requirements::themedCSS('typography'). Jos typography-tyylin käytölle ei ole tarvetta, kyseinen viittaus kannattaa asettaa pois päältä.
3) Käännökset: jos jokin kielitiedosto ei kytkeydy päälle, kannattaa tarkastaa niiden sisältö. Esimerkiksi suomenkielisen kielitiedoston avaimien ($lang['fi_FI']) joukossa ei saa esiintyä yhtäkään viittausta virheelliseen kielitiedostoon ($lang['en_GB']). Tällöin suomalainen kielitiedosto lakkaa toimimasta.
Lähetä kommenttisi
Kommentit
Kukaan ei ole kommentoinut tätä sivua.
Tämän sivun kommenttejen RSS-lähde | Kaikkien kommenttien RSS-syöte
Ota yhteyttä
Mainintoja mediassa
Suomen tuhatvuotisen kirjallisen historian alkuvaiheet verkkoon
Kansalliskirjasto julkisti keskiviikkona 28.3.2012 Kirjava keskiaika -verkkoteoksen ja Fragmenta membranea -tietokannan Helsingin yliopiston Tiedekulmassa.
» Kansalliskirjasto 28.03.2012
Suomeen kunniamaininta Maailmanpankin sovelluskisassa
Helsinkiläinen Flo Apps nouti Washington DC:stä kunniamaininnan Maailmanpankin järjestämässä sovelluskilpailussa.
