Drupal

Спам-боты любят комментарии

Drupal
Спам-боты любят всех. В том числе и формы коммментариев. И Drupal-сайты тут не исключение. Бороться с ними можно было сначала разрешив комментировать только зарегистрированным пользователям. Потом с помощью каптчи, навесив ее на форму комментария, разрешив комментирование анонимусам и введя премодерацию. До тех пор, пока число комментариев, ожидающих подтверждения, не перевалило за 200 в день, а почту просто засыпало письмами о попытках регистрации спам-ботов. В общем, решился я установить…

jQuery: oсобенности работы с DOM

Drupal
Про особенности функции ajax_common_replace() уже было написано. Вот только связано это, похоже, не с особенностями реализации в Drupal, а с самой jQuery. // We don't know what response.data contains: it might be a string of text // without HTML, so don't rely on jQuery correctly iterpreting // $(response.data) as new HTML rather than a CSS selector. Also, if // response.data contains top-level text nodes, they get lost with either // $(response.data) or $(' ').replaceWith(response.data). var…

Drupal 7 Commerce: считаем цену

Drupal
Для расчёта текущей цены товара в Drupal Commerce предлагают использовать модуль Rules. А как быть если его возможностей не хватает? Попробуем использовать для этого хуки. Прежде всего следует обратить внимание на функцию модуля Product Pricing: /** * Returns the calculated sell price for the given product. * * @param $product * The product whose sell price will be calculated. * @param $precalc * Boolean indicating whether or not the pre-calculated sell price from the * database should be…

Небольшое обращение к любителям поспамить

Drupal
Господа спамеры, вы действительно считаете, что ваши тонны никому не нужных постов и комментариев будут видны пользователям и возымеют какой-либо эффект? Поверьте, толку от ваших высеров — ноль целых, ноль десятых процента. Премодерация комментариев — штука полезная, знаете ли. Пожалейте ваши толоконные лбы, не стучите ими в стенку, бесполезно.…

О кросспостинге в Drupal

Drupal
Что это такое — кросспостинг, и для чего он нужен? Кросспостинг   — публикация материалов, статей, ссылок одновременно в нескольких форумах, блогах, соцсетях или других средствах масссовой публичной переписки может оказаться полезной, в частности — увеличить различного рода SEO-шные показатели, такие как тИЦ или PR, а также привлечь новых посетителей. Наиболее популярен кросспостинг в социальные сети: Facebook, ВКонтакте, Одноклассники, ну и, конечно же сервис микроблогов Twitter. Желательно,…

Кросспостинг в VK

Drupal
Решил попробовать модуль автоматического кросспостинга в ВК. Уже появилось несколько пожеланий, например — вместо обрезки под длину и очистки от HTML использовать форматтеры полей.…

Вредные советы по использованию Drupal

Drupal
"Зачинается рассказ от Друпаловых проказ...". Почти Ершов. Пришлось как-то раз работать над сайтом. И был тот сайт на Drupal — на "шестёрке" тогда еще. А еще было у того сайта главное меню, дизайн которого весьма отличался от стандартного. В связи с чем вывод того меню был, как и полагается, темизирован путём переопределения функции theme_menu_tree() . Называлась переопределенная функция ну, скажем, custom_menu_tree() . Волей-неволей, работу над сайтом пришлось передать другому. Прошло много…

Drupal 7 перевод формы комментария

Drupal
Итак, Drupal 7. Стандартная форма форму комментария. Перевод делается стандартными средствами локализации. Переводится все, кроме заголовка над полем ввода текста комментария — тот упорно отображается как Comment . Установленный язык по умолчанию — русский, мультиязычная поддержка отключена. Раскопки кода показывают, что в структуре формы $form присутствует элемент #title , значение которого просто не пропущено через функцию t() . Решение — переопределить значение с помощью хука. В "семерке" он…

Приручаем CKEditor

Drupal
CKEditor является одним из наиболее удобных текстовых редакторов с возможностями вставки HTML. Позволяет он и расширять свои возможности при помощи плагинов. Основной принцип работы этих расширений — реакция на события, вызываемые пользователем с помощью клика мышки или нажатия клавиш. Очень часто приходится в набираемых текстах использовать символ " — ", тире. Честно говоря, не нашёл в CKEditor возможности вставить его через клавиатуру, готовой кнопки на тулбаре тоже не было. Переключать в…

Google и SEO

Drupal
Не так давно Google заявил о возможности предоставления сведений об авторстве страниц в результатах поиска. Как описано в руководстве для вебмастеров , для этого нужно разместить на своём сайте ссылку c аттрибутом rel="author", которая будет указывать на страницу профиля Google+. Затем нужно зайти в раздел Мои публикации , нажать Добавить ссылку и указать URL уже своего сайта. Выглядит страница добавления в профиль вот так: А что делать, если ссылка на страницу автора не вписывается в концепцию…