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

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.

DrupalИзбавляемся от фразы "не проверено" в анонимных комментариях

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

Первый способ

Создаём файл template.php в папке темы, если его ещё там нет. Копируем в него функцию theme_username. Переименовываем её в phptemplate_username. Удаляем из функции кусок, где выводится фраза 'not verified'

DrupalУдаляем ссылку на автора из свойств ноды

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

Задача удалить ссылку на автора ноды, т.е из рис.1 сделать рис.2:

2009-12-08_023244.jpg

Создаём файл template.php в папке темы, если его ещё нет. Добавляем в него новую функцию

Drupal 6:

/**
 * Override theme function theme_node_submitted()
 */
function phptemplate_node_submitted($node) {
  return 'Опубликовано в ' . format_date($node->created);
}

Drupal 7:

/**
 * Preprocess function for node.tpl.php
 */
function THEMENAME_preprocess_node(&$vars) {
  $vars['submitted'] = 'Опубликовано в ' . $vars['date'];
}

Очищаем кэш.

DrupalКак воспользоваться сниппетом

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

Сниппет — это php код, который вставляется прямо в содержимое материала (ноды) либо блока и выполняющийся во время показа материала/блока.

С помощью сниппетов можно быстро реализовать какой-нибудь функционал без использования модулей, например вывести список последних комментариев, посетителей и т.д.

Чтобы воспользоваться сниппетом, нужно включить модуль PHP filter на странице управления модулями (admin/build/modules) и при создании материала, либо при добавлении блока, выбрать новый формат ввода PHP code. После этого любой код написанный между тегами <?php ... ?> будет выполняться как php.