fivestar уведомление для гостей

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

Аватар пользователя Arturus Arturus 16 января 2010 в 15:12

Голосование разрешено для зарегистрированных, как для незарегистрированных показывать текст "для голосования необходимо зарегистрироваться"?

Комментарии

Аватар пользователя Arturus Arturus 17 января 2010 в 4:03

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

Аватар пользователя Stan.Ezersky Stan.Ezersky 17 января 2010 в 4:29

Нет решения. Только программно. Делайте функцию, переопределяйте в ней вывод виджета

<?php
function ваша_тема_uservote() {

  global 

$user;
  
$output '';

if (!

$user->uid) {
      
//показываем пользователю надпись о необходимой регистрации
        
$output .= t('You must be logged in!');                           
  }  
  else { 
        
//показываем ему варианты голосования
        
$output .= '';

  

$output '<div '.$output.' </div>';
     
  return 
$output;
}
?>
Аватар пользователя Arturus Arturus 19 января 2010 в 15:54

Файл template.php в папке с темой создал, функцию function foliage_uservote() вставил, кеш очистил, изменений нет. Как показывает для гостей звезды, так и показывает. Где копать?

Аватар пользователя Stan.Ezersky Stan.Ezersky 19 января 2010 в 16:45

"Arturus" wrote:
Файл template.php в папке с темой создал, функцию function foliage_uservote() вставил, кеш очистил, изменений нет. Как показывает для гостей звезды, так и показывает. Где копать?
А вы просто мой скопировали и вставили?-))))) Батенька, а функции за вас кто будет писать?

Аватар пользователя Arturus Arturus 20 января 2010 в 7:45

А поподробнее можно?
Я думал, что можно просто переопределить уже существующуу функцию, точнее ее вывод, если зарегистрированный пользователь, то выводим как есть, если гость, то изменяем то, что выводим.

Аватар пользователя Arturus Arturus 20 января 2010 в 8:50

Да я разобраться не могу какая функция отвечает за вывод информации по голосованию под нодой (звездочек) в файле fivestar.module
Наверно можно переопределить функции
theme_fivestar_static
или
theme_fivestar_summary
для этого надо полностью скопировать эту функцию в нашу?

Аватар пользователя Arturus Arturus 21 января 2010 в 8:39

Попробовал сделать так:
создал файл template.php в папке с темой,
вставил функцию foliage_fivestar_summary() из файла fivestar.module (в этом файле она называется как theme_fivestar_summary), изменив вывод на проверку гостя, кеш очистил, изменений нет.

Пришлось менять функцию theme_fivestar_summary() непосредственно в файле fivestar.module, добавил

<?php
if (!$user->uid) {
      
//показываем пользователю надпись о необходимой регистрации
        
$output .= '<div style="color:red"><b>You must be logged for vote! <a href="http://club.shintoptrophy.ru/login">Register</a></b></div>';
  }  
  else { 

  

$output '<div class="fivestar-summary fivestar-summary-'$div_class . ($feedback ' fivestar-feedback-enabled' '') .'">'$output .'</div>';
  }

  return 

$output;
?>

так работает, понимаю, что не правильно, но других вариантов не знаю