Как и где правильно поставить куки? [Решено]

Главные вкладки

Аватар пользователя Cyanix Cyanix 3 декабря 2009 в 10:49

При заходе пользователя на сайт рандомно генерится номер цветовой схемы, который в дальнейшем должен быть неизменен для пользователя на всём протяжении работы с сайтом. Хочу сохранить номер цветовой схемы. Искал информацию о cookies как на этом форуме, так и на drupal.org. Единственная страница, которая (вероятно) могла бы мне помочь, ссылается на похеренную ссылку: http://drupal.org/node/48448. Вопрос к умельцам: в каком файле и какую функцию надо использовать, чтобы оставить и забрать куки? Если можно, приведите конкретный пример.

Вот функция, которая работает с цветовыми схемами (template.php):

<?php
function template_preprocess_page(&$vars) {
// Случайно выбираем стиль гаммы страницы
  
$rand_index mt_rand(06);

  

$path_style1 path_to_theme() .'/styles/gamma-'.$rand_index.'.css';

  

drupal_add_css($path_style1'theme''all'FALSE);

  if (!

$vars['is_front']) {
  
$path_style2 path_to_theme() .'/styles/secondary-defauts.css';
  
drupal_add_css($path_style2'theme''all'FALSE);
  }

  

$vars['styles'] = drupal_get_css();

}

?>

Комментарии

Аватар пользователя Cyanix Cyanix 3 декабря 2009 в 12:36

Спасибо, последовал совету сохранить переменную в сессии:

<?php
function template_preprocess_page(&$vars) {

  if (empty(

$_SESSION['usercolornum'])){
    
$rand_index mt_rand(06);
    
$_SESSION['usercolornum'] = $rand_index
  }
  else {
    
$rand_index $_SESSION['usercolornum'];
  }

  

$path_style1 path_to_theme() .'/styles/gamma-'.$rand_index.'.css';

  

drupal_add_css($path_style1'theme''all'FALSE);

  if (!

$vars['is_front']) {
  
$path_style2 path_to_theme() .'/styles/secondary-defauts.css';
  
drupal_add_css($path_style2'theme''all'FALSE);
  }

  

$vars['styles'] = drupal_get_css();

}

?>