Вставка звезд Fivestar в блок ссылок под нодой

Знаете что, я тут думала, где мне хранить всякие мелкие сниппеты и рецепты, которые не похожи будут на посты, что были до этого - пошаговые руководства или длинные описания - но просто сделанные для себя. Я бы могла их хранить у себя на компе, оформив на сайте на локальном сервере, но не нравится мне держать что-то полезное только у себя, поэтому я решила завести миниблог.

Сначала пыталась создавать записи с помощью "ноноблогового" движка Nanograbbr, но почему-то не отображал код правильно. Тогда я задумалась - может быть мне поможет зарубежный замечательный движок наноблоггинга Tumblr.com, но и он не оправдал моих надежд, и в нем тоже код отображался не так, как положено (как я привыкла, публикуя записи здесь или на Drupal.ru).

Все оказалось очень просто:
Я так привыкла к тому что Drupal за меня все сделает, что забыла, что оказывается ни в одном браузере код в тегах <code> не будет отображаться правильно. Что даже если код помещен в них, браузер все равно будет понимать теги <li>, <p>, <div> и им подобные как обычно и не будет их отображать. Что код нужно фильтровать - заменить все < и > на &lt; и &gt; соответственно.

Иногда жизнь приносит нам неожиданные открытия, даже если мы обо всем давно знали... просто забыли!

Ну да ладно. Вот код программы, которая поможет фильтровать на локальном сервере код для публикации на "недрупаловских" сайтах.

Но вернемся к нашим... сниппетам. Я все-таки решила, что если уж я завела блог о Drupal, то нечего всякие мелочи по кустам рассовывать, пусть в одном месте все будет.

Итак, сегодня у нас в меню сниппет для вывода звезд модуля Fivestar в блоке ссылок (то есть там где у полной ноды обычно количество просмотров, "Блог пользователя ..." и т.п. ссылки).

По умолчанию модуль добавляет свой виджет под нодой, но над этими ссылками. Мы же хотим поместить его среди них. Сначала в настройках модуля Fivestar отключим отображение виджета у всех типов нод, выбрав в тизере и полной ноде "hidden".

Допустим, дата и категории записи выровнены по левому краю, а обычные ссылки по правому. Мы хотим вывести звезды вслед за датой и категориями на той же строчке, ближе к правому краю. И вывести нужно для всех нод на сайте. Если вам понадобится для какого-то конкретного типа ноды, то нужно просто создать копию node.tpl.php и назвать ее node-ВАШ_ТИП_НОДЫ.tpl.php

Обратите внимание на комментарии внутри кода выше.

Теперь переходим непосредственно к темизации, так как просто добавление такого блока не решает проблему. Нужно применить еще знания CSS. Обращаю внимание, что я не знаю CSS в совершенстве, поэтому эти стили еще можно исправлять и оптимизировать до лучшего состояния.

Вот таким вот образом это все делается. Впредь всякие подобные мелкие и простые и полезные решения будут жить здесь Подмигивающий

Гость

Спасибо помогло ! Не подскажите почему виджет не активный ?

sa_bo_nim

Не подскажу, не знаю ваши настройки Улыбка
А вообще - для тех, кому закрыт доступ к голосованию, и делает его таким вот этот кусок:

if (user_access('rate content')) {print fivestar_widget_form($node);}
    else {print fivestar_static('node', $node->nid, $node->type);}

Разрешите доступ в настройках прав доступа в админке.

Гость

Спасибо разобрался, дело было в настройках стилей моей новой темы (style.css)
А так работает норм.
вот это строка , так понимаю отвечает за доступ user_access('rate content')
откуда берётся значение rate_content - это стандартная функция из fivestars api ?

sa_bo_nim

В fivestar "rate content" - одно из прав доступа, которое, как вы правильно сказали, определено в коде модуля и может быть настроено в админке.

таврия

Отлично! Работает!
Спасибо вам большое!

sfnmorge

tadalafil tadalafil cialis tadalafil liquid [url=http://www.ciallisonline.com/#]cialis 5mg[/url]