Тема: Выбери свою тему :)
Описание сниппета:
Добавляет возможность смены "Тем" на странице вашего сайта.
Как использовать?
Обязательно вставлять этот сниппет в каждую вашу "Тему", иначе перейдя в новую "Тему" кнопка выбора исчезнет.
Как установить?
В админке в разделе: "Сниппеты" создаем новый снипет.
После удачного добавления кода в сниппет, нужно будет вставить этот сниппет с помощью кода приведенного ниже в ваш шаблон, вы можете это сделать в Админке - Темы - Шаблоны - index
Имя сниппета:
choose-your-theme
Скриншот:
Автор кода: 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"}Создание дизайнов любой сложности для Monstra cms
