xandeadx.ru Блог музицирующего веб-девелопера

DrupalНеприятная особенность модуля CAPTCHA

Опубликовано в

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

Файл captcha.module, функция captcha_process:

...
// Prevent caching of the page with CAPTCHA elements.
// This needs to be done even if the CAPTCHA will be ommitted later:
// other untrusted users should not get a cached page when
// the current untrusted user can skip the current CAPTCHA.
global $conf;
$conf['cache'] = FALSE;
...

DrupalСоздаём xml карту сайта (sitemap) с помощью модуля XML sitemap

Опубликовано в

Описание

Процитирую википедию

Sitemaps — это XML-файл с информацией для поисковых систем (таких как Google, Yahoo, Ask.com, MSN, Яндекс) о страницах веб-сайта, которые подлежат индексации. Sitemaps может помочь поисковикам определить местонахождение страниц сайта, время их последнего обновления, частоту обновления и важность относительно других страниц сайта для того, чтобы поисковая машина смогла более разумно индексировать сайт. Использование протокола Sitemaps не является гарантией того, что веб-страницы будут проиндексированы поисковыми системами, это всего лишь дополнительная подсказка для сканеров, которые смогут выполнить более тщательное сканирование Вашего сайта.

Добавить нечего, нужный SEO инструмент.

DrupalВидео уроки от Lullabot.com

Очень качественные и полезные видео-уроки по Drupal от Lullabot.com. Советую к просмотру всем, кто занимается разработкой на этой CMF.

Всё видео на английском, но суть понятна и без знаний языка. Качество видео — DVD.

Understanding Drupal

Understanding Drupal

Введение в Drupal.

  • Добавление контента и управление им
  • Пользователи, управление ими и их правами
  • Что такое блоки и что они могут
  • Концепция и возможности модульной системы Drupal
  • Навигация и система меню
  • Дизайн сайта, темы
  • Настройка сайта

DrupalЗаполняем мета тег keywords терминами которыми помечена нода

Опубликовано в

Распространённая ситуация — есть ноды, у нод есть теги. Для улучшения SEO, неплоха бы выводить эту информацию в мета-теге keywords.

DrupalПрячем форму комментирования и показываем её только по клику на ссылке "Отправить комментарий"

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

Первым шагом прячем форму комментариев для пользователей, у которых включён javascript. Для этого в css файл добавляем:

.js .blog + #comments #comment-form { display: none; }

Вместо .blog указываем класс, которым помечены ноды. Например, если комментарии разрешены для материала типа Story (Заметка), то класс у ноды будет story и селектор соответственно:

DrupalКак обновлять Drupal

Опубликовано в

Чтобы обновить Drupal в рамках одной мажорной версии (6.x → 6.y или 7.x → 7.y), нужно проделать следующее:

  1. Скачиваем последнюю стабильную версию.
  2. Бэкапим БД и папку с друпалом.
  3. Логинимся на сайте под админом, не закрываем окно браузера.
  4. Выключаем сайт (admin/config/development/maintenance).
  5. Заливаем новую версию друпала поверх старой.
  6. Запускаем мастер обновления http://example.com/update.php
  7. Включаем сайт.

DrupalМодуль Comment Notify — почтовые уведомления о новых комментариях

Опубликовано в

Описание

Модуль Comment Notify позволяет подписываться на уведомления о новых комментариях. Зарегистрированные пользователи могут подписываться на уведомления о комментариях оставленных в созданных ими темах. Можно подписываться как на все комментарии к определённой ноде, так и на ответы только к своим комментам.

Установка

  1. Скачиваем модуль.

  2. Распаковываем в папку sites/all/modules.

DrupalСниппет вывода последних не утверждённых комментариев

Опубликовано в

Сниппет полезен прежде всего администраторам.

<?php
$comments = db_query("
  SELECT nid, comment, timestamp, name
  FROM {comments}
  WHERE status = 1
  ORDER BY cid DESC
  LIMIT 0, 5
");
 
$html = '';
while ($comment = db_fetch_object($comments)) {
  $html .= '<li>';
  $html .= l(format_date($comment->timestamp, 'small'), 'node/' . $comment->nid) . ', '; // дата
  $html .= '<b>' . check_plain($comment->name) . '</b>:<br />'; // автор
  $html .= check_plain(drupal_substr(strip_tags($comment->comment), 0, 50)); // комментарий
  $html .= '</li>';
}
 
echo $html ? '<ul>' . $html . '</ul>' : 'пусто…';
?>

DrupalПишем модуль утверждения комментариев в один клик. Часть 2

В первой части был написан модуль, для одобрения анонимных комментариев в один клик. В этой части добавим к нему AJAX функции.

DrupalПишем модуль утверждения комментариев в один клик. Часть 1

В первой части мы напишем модуль который добавит каждому не опубликованному комментарию новое действие "опубликовать", помимо уже присутствующих там удалить, изменить и ответить. Во второй части добавим немного Javascript-а и сделаем это действие на AJAX.