Revision [2447]

This is an old revision of WikkaSkinSelector made by DarTar on 2004-11-25 13:21:17.


Wikka Skin Selector

Last edited by DarTar:
Minor code modification
Thu, 25 Nov 2004 13:21 UTC [diff]

Check also the WikkaSkinEditor, which extends the WikkaSkinSelector giving Wikka Administrators the possibility to edit skins

This action allows you to select a WikkaSkins skin for HomePage WikkaWiki, among those present in the css/ folder.
Note: Your browser must accept cookies in order for the skin selector to work.

Here's the three-step installation:

1. Add your custom WikkaSkins skins

Just put all your skins in the css/ folder of your Wikka installation.
Many skins can be downloaded and shared from the unofficial WikkaSkinsRepository.

2. Create the skin selector action (actions/selectskin.php)

Save the code below in a new file called actions/selectskin.php:
Minor update 2004-11-22

// Wikka Skin Selector
// Displays a form to switch CSS stylesheet

$currentskin = $this->GetCookie("wikiskin");
echo $this->Format("=== Select a Wikka skin:  === --- ");
if ($_POST) {
            $this->SetPersistentCookie("wikiskin", $_POST["skin"]);
$handle = opendir('css/');
print $this->FormOpen("","","post");
echo '<select name="skin">';
$noskinmask = '^(xml.css|print.css|\.(.*))$';
while (false !== ($file = readdir($handle))) {
    if (!preg_match('/'.$noskinmask.'/', $file)) {
        $selected = ($file == $currentskin)? " selected" : "";
        print   '<option value="'.$file.'"'.$selected.'>'.$file.'</option>';
echo '</select>';
echo '<input type="submit" name="Submit" value="Set new skin">';
print $this->FormClose();

3. Modify the Wikka Header (actions/header.php)

To allow skin selection a small modification of the header is needed:

original actions/header.php
   <link rel="stylesheet" type="text/css" href="css/<?php echo $this->GetConfigValue("stylesheet") ?>" />

modified actions/header.php
 <link rel="stylesheet" type="text/css" href="css/<?php echo ($this->GetCookie("wikiskin"))? $this->GetCookie("wikiskin"): $this->GetConfigValue("stylesheet") ?>" />

How to use the skin selector

Just insert {{selectskin}} in a wikka page and start playing.

-- DarTar

CategoryDevelopment CategoryLayout
There are 8 comments on this page. [Show comments]
Valid XHTML :: Valid CSS: :: Powered by WikkaWiki