для гостей галочки сняты, гости только видят звездочки, но голосовать не могут, а мне надо чтобы они видели уведомление "для голосования необходимо зарегистрироваться"
Нет решения. Только программно. Делайте функцию, переопределяйте в ней вывод виджета
<?php function ваша_тема_uservote() {
global
$user; $output = '';
if (!
$user->uid) { //показываем пользователю надпись о необходимой регистрации $output .= t('You must be logged in!'); } else { //показываем ему варианты голосования $output .= ''; }
Файл template.php в папке с темой создал, функцию function foliage_uservote() вставил, кеш очистил, изменений нет. Как показывает для гостей звезды, так и показывает. Где копать?
Файл template.php в папке с темой создал, функцию function foliage_uservote() вставил, кеш очистил, изменений нет. Как показывает для гостей звезды, так и показывает. Где копать?
А вы просто мой скопировали и вставили?-))))) Батенька, а функции за вас кто будет писать?
А поподробнее можно?
Я думал, что можно просто переопределить уже существующуу функцию, точнее ее вывод, если зарегистрированный пользователь, то выводим как есть, если гость, то изменяем то, что выводим.
Да я разобраться не могу какая функция отвечает за вывод информации по голосованию под нодой (звездочек) в файле fivestar.module
Наверно можно переопределить функции
theme_fivestar_static
или
theme_fivestar_summary
для этого надо полностью скопировать эту функцию в нашу?
Попробовал сделать так:
создал файл 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 {
Комментарии
Разрешения проверьте
для гостей галочки сняты, гости только видят звездочки, но голосовать не могут, а мне надо чтобы они видели уведомление "для голосования необходимо зарегистрироваться"
Нет решения. Только программно. Делайте функцию, переопределяйте в ней вывод виджета
<?php
$output = '<div '.$output.' </div>';
function ваша_тема_uservote() {
global
$user;$output = '';
if (!
$user->uid) {//показываем пользователю надпись о необходимой регистрации
$output .= t('You must be logged in!');
}
else {
//показываем ему варианты голосования
$output .= '';
}
return $output;
}
?>
Файл template.php в папке с темой создал, функцию function foliage_uservote() вставил, кеш очистил, изменений нет. Как показывает для гостей звезды, так и показывает. Где копать?
А поподробнее можно?
Я думал, что можно просто переопределить уже существующуу функцию, точнее ее вывод, если зарегистрированный пользователь, то выводим как есть, если гость, то изменяем то, что выводим.
Да я разобраться не могу какая функция отвечает за вывод информации по голосованию под нодой (звездочек) в файле fivestar.module
Наверно можно переопределить функции
theme_fivestar_static
или
theme_fivestar_summary
для этого надо полностью скопировать эту функцию в нашу?
Попробовал сделать так:
создал файл template.php в папке с темой,
вставил функцию foliage_fivestar_summary() из файла fivestar.module (в этом файле она называется как theme_fivestar_summary), изменив вывод на проверку гостя, кеш очистил, изменений нет.
Пришлось менять функцию theme_fivestar_summary() непосредственно в файле fivestar.module, добавил
<?php
$output = '<div class="fivestar-summary fivestar-summary-'. $div_class . ($feedback ? ' fivestar-feedback-enabled' : '') .'">'. $output .'</div>';
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 {
}
return
$output;?>
так работает, понимаю, что не правильно, но других вариантов не знаю