Wilt u een gastenblog schrijven voor UpService?

Wanneer u onderstaande gegevens invult nemen we zo spoedig mogelijk contact met u op.

Bedrijfsgegevens - invullen verplicht

Sitekleuren per dagdeel

Met de komst van CMSMS 1.8 is het mogelijk om smarty code in je styleheet-templates te gebruiken. In deze blog laat ik zien hoe je op een eenvoudige wijze afhankelijk van het dagdeel (nacht, zonsopgang, dag, zonsondergang) je sitekleuren kunt laten verspringen.

Voor een uitgewerkt voorbeeld van deze blog:

Wisselende kleuren en tagcloud (rechtsboven) op: http://www.ctrl-esc.net/

User Defined Tag

Maak een User Defined Tag (UDT) welke afhankelijk van de tijd een smarty waarde (css_by_hour) set.

  • Extensions -> User Defined Tags
/**************************************************************************
   * globals
   *************************************************************************/

global $gCms;
$smarty =& $gCms->GetSmarty();

 /**************************************************************************
   * program
   *************************************************************************/

date_default_timezone_set('Europe/Berlin');
$hour = date("G");   

    if ($hour < 6) {
        $css_by_hour =  'night';
    } elseif($hour < 12) {
        $css_by_hour =  'sunrise';
    } elseif($hour < 18) {
        $css_by_hour =  'day';
    } else {
        $css_by_hour =  'sunset';
    }

$smarty->assign('css_by_hour', $css_by_hour);

Maak een nieuwe template aan en zorg ervoor dat {cms_stylesheet} hierin is opgenomen.

Maak een nieuwe stylesheet aan en koppel deze aan je template. Roep bovenstaande UDT aan in de CSS template en definieer de gewenste kleuren.

[code][[css_by_hour]]

[[if $css_by_hour == 'night']]
    [[assign var='background_color' value='#FF0000']]
[[elseif $css_by_hour == 'sunrise' ]]
     [[assign var='background_color' value='#00FF00']]
[[elseif $css_by_hour == 'day']]
    [[assign var='background_color' value='#FFFF00']]
[[else]]
     [[assign var='background_color' value='#0000FF']]
[[/if]] 

body {
    background-color: [[$background_color]];
}[/code]

{cms_stylesheet} tagcloud

Neem de volgende opmaak: tag[1..10]

<ul id="tagcloud">
<li><a class="tag10" title="woord1" href="#">woord1</a></li>
<li><a class="tag2" title="woord2" href="#">woord2</a></li>
<li><a class="tag1" title="woord3" href="#">woord3</a></li>
<li><a class="tag4" title="woord4" href="#">woord4</a></li>
</ul>

Deze is te genereren

[[assign var='color_dark' value='#333333']]
[[assign var='color_mid' value='#666666']]
[[assign var='color_light' value='#999999']]

#tagcloud {
  display: block; 
  width: 200px;
  height: 200px;
  background-color: #FFFFFF;
  overflow: hidden;
} 
  
#tagcloud li {
  margin-right: 6px;
  display: inline;
}

[[section name="i" start=1 loop=11 step=1]]
    [[assign var=pointer value=$smarty.section.i.index]]

    [[capture assign='font_weight']][[math equation="100 * x" x=$smarty.section.i.index]][[/capture]]

    [[capture assign='font_size']][[math equation="(12 + x) / 12" x=$smarty.section.i.index]][[/capture]]

#tagcloud a.tag[[$pointer]] {
    font-size: [[$font_size|string_format:"%.2f"]]em;
    font-weight: [[$font_weight]];
    color: [[$color_dark]];
}

#tagcloud a.tag[[$smarty.section.i.index]]:hover {
    font-size: [[$font_size|string_format:"%.2f"]]em;
    font-weight: [[$font_weight]];
    color: [[$color_light]];
}

[[/section]]

Video

Een demostratie van bovenstaande techniek kunt u bekijken in onderstaande video.



Meer met deze Blog doen

Lees de documentatie van {cms_stylesheet} via: Extensions -> Tags -> Help.

Mobiele site UpService

Offerte aanvragen

Download ons offerte aanvraagformulier na het invullen kunt u deze op onze offerte aanvraag pagina uploaden.