ALite CMS 15.1
Разработка  >  Статьи
Язык: 
ALite CMS: создание и управление сайтом

Статьи

Переключение тем оформления в пользовательской части

25.12.2010 12:42, автор: Support ALite CMS

Определение текущей темы оформления происходит в следующем порядке:
• если пользователь находится в административной части или построителе страниц текущая тема определяется значением константы u_theme ;
• если пользователь находится в пользовательской части сначала проверяется значение куки alutheme , если значение куки пустое, используется значение константы u_theme ;
• после получения значения текущей темы проверяется существование папки темы. Если папка темы не существует, текущей теме присваивается значение default .

Пример:

< ? php
//blocking direct call file
if (!isset($is_internal) or !$is_internal) die('< br / >Access denied');
//validate incoming parameters
if (isset($_REQUEST['theme_select']) and $_REQUEST['theme_select']) {
    $cur_theme = alite_strip_slashes($_REQUEST['theme_select']);
    //checking the existence of themes
    if (is_dir(alite_get_document_root('/_themes/'.$cur_theme))) {
        //write a cookie on user computer
        alite_set_cookie('alutheme', $cur_theme, 60 * 60 * 24 * 30);
        //page reloads
        header('Location: '.$_SERVER['REQUEST_URI']);
        exit;
    }
}
//this defines the current theme
$cur_theme = get_user_theme();
? >
< form name="form1" action="" method="post" enctype="multipart/form-data" >
    < select name="theme_select" < ? php if (stristr($_SERVER['REQUEST_URI'], '_page_builder') === false) echo 'onchange="javascript: this.form.submit();"'; ? > >
        < option < ? php if ($cur_theme == 'theme_1') echo 'selected="selected"'; ? > value="theme_1" >Тема оформления 1< /option >
        < option < ? php if ($cur_theme == 'theme_2') echo 'selected="selected"'; ? > value="theme_2" >Тема оформления 2< /option >
        < option < ? php if ($cur_theme == 'theme_3') echo 'selected="selected"'; ? > value="theme_3" >Тема оформления 3< /option >
    < /select >
< /form >

 

Пример использования.

Комментировать могут только зарегистрированные пользователи.
RSS  RSS