Skip to main content

Переключение режима отображения и голосования

Как вы помните, на нашем сайте мобильных анекдотов пользователь может менять режим отображения. Грубо говоря, при смене режима отображения - с обычного на мобильный мы меняем Шаблон, и все.

Также пользователь мобильной версии сайта может переключать режим голосования.

Мы по умолчанию определяем режим отображения, а когда пользователь выбрал режим сам - заносим данные об этом в сессию (будет записано в куку и там храниться).

Вот функции переключения режимов в Контроллере codeigniter

/**
 * Переключение режимов мобильный и обычный
 *
 * @param string $mode on|off
 * @param unknown_type $url - закодированный урл
 */
function mobile($mode = 'on', $url) {
    $this->session->set_userdata('is_mobile', $mode == 'on' ? 'on' : 'off');
    $this->common_lib->flash(str_replace('-', '/', $url), 'Режим отображения изменен');	
}

/**
 * Включить выключить голосование
 * 
 * @param string $switch = 'on' | 'off'
 * @param unknown_type $url - закодированный урл
 */
function golos($switch = 'on', $url) {
    $this->session->set_userdata('is_golos', $switch == 'on' ? 'on' : 'off');
    $this->common_lib->flash(str_replace('-', '/', $url), 'Режим голосования изменен');	
}

PHP код функций очень прост - устанавливаем сессионные данные и делаем редирект с помощью flash функции (см. пред. статью). Все.