1

Тема: Выбери свою тему :)

Описание сниппета:

Добавляет возможность смены "Тем" на странице вашего сайта.


Как использовать?

Обязательно вставлять этот сниппет в каждую вашу "Тему", иначе перейдя в новую "Тему" кнопка выбора исчезнет.


Как установить?

В админке в разделе: "Сниппеты" создаем новый снипет.
После удачного добавления кода в сниппет, нужно будет вставить этот сниппет с помощью кода приведенного ниже в ваш шаблон, вы можете это сделать в Админке - Темы - Шаблоны - index


Имя сниппета:

choose-your-theme


Скриншот:
http://s019.radikal.ru/i619/1212/a7/ec839c80f7bd.jpg


Автор кода: Awilum


Код сниппета:

<div>   
 <?php

    function getSiteThemes() {

        $themes_folders = array(); 

        // Get all themes folders
        $_themes_folders = Dir::scan(THEMES_SITE);     
               
        // Create an array of valid themes folders
        foreach($_themes_folders as $folder) if (File::exists(THEMES_SITE . DS . $folder . DS . 'index.template.php')) $__themes_folders[] = $folder;
        foreach($__themes_folders as $theme) $themes[$theme] = $theme;

        return $themes;
    }

    // Save site theme
    if (Request::post('save_site_theme')) {

        if (Security::check(Request::post('csrf'))) {
            
            Option::update('theme_site_name', Request::post('themes'));

            // Cleanup minify                               
            if (count($files = File::scan(MINIFY, array('css', 'js', 'php'))) > 0) foreach ($files as $file) File::delete(MINIFY . DS . $file);

            Request::redirect('index.php');

        } else { die('csrf detected!'); }
    }
    
    echo (
        Form::open().
        Form::hidden('csrf', Security::token()).
        Form::label('themes', __('Select theme', 'themes')).
        Form::select('themes', getSiteThemes(), Option::get('theme_site_name'), array('class' => 'span2')). Html::br().
        Form::submit('save_site_theme', __('Save', 'themes'), array('class' => 'btn')).
        Form::close()
    );

?>  
</div>



Код для вставки в шаблон:

 <?php echo Snippet::get("choose-your-theme"); ?> 

Код для вставки в контент:

{snippet get="choose-your-theme"}
(c) RomanArt
Создание дизайнов любой сложности для Monstra cms

Поделиться

2

Re: Выбери свою тему :)

работает только один раз при выборе одной темы, а потом копка сохранить исчезает

Сайт olsv64

Поделиться

3

Re: Выбери свою тему :)

olsv64 пишет:

работает только один раз при выборе одной темы, а потом копка сохранить исчезает

Как использовать?

Обязательно вставлять этот сниппет в каждую вашу "Тему", иначе перейдя в новую "Тему" кнопка выбора исчезнет.

(c) RomanArt
Создание дизайнов любой сложности для Monstra cms

Поделиться

4

Re: Выбери свою тему :)

ааа, понял, извините за невнимательность smile

Сайт olsv64

Поделиться

5

Re: Выбери свою тему :)

Маленький вопросик, а как сделать отдельную тему для страниц?
Очень нужно, я мозг уже себе взорвал sad

Поделиться