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

DrupalЗачем дублируется заголовок meta http-equiv="Content-Type"

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

Мета-тег с указанием кодировки, всегда должен быть самым первым тегом в head, для того чтобы предотвратить некую encoding-based уязвимость. Комментарий в функции drupal_final_markup:

Make sure that the charset is always specified as the first element of the head region to prevent encoding-based attacks.

А поскольку порядок и наличие заголовков ложится на плечи разработчика темы (шаблона), то нет 100% уверенности в правильности его действий.

DrupalИзменяем содержимое RSS ленты

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

При генерации RSS ленты, для каждой ноды вызывается хук hook_nodeapi() с параметром $op равным rss item. Поэтому можно из своего модуля изменять любые свойства ноды, которые выводятся в ленте, например тизер или заголовок.

Добавляем к тексту список тегов:

/**
 * Реализация hook_nodeapi()
 */
function mymodule_nodeapi(&$node, $op, $a3 = NULL, $a4 = NULL) {
  if ($op == 'rss item') {
    $tags = array();
    foreach ($node->taxonomy as $tag) {
      $tags[] = $tag->name;
    }
 
    $node->teaser .= '<p>Теги: ' . implode(', ', $tags) . '</p>';
  }
}

DrupalВышел Drupal 6.16

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

Закрыто несколько уязвимостей: cross site scripting при установке, cross site scripting в модуле Locale, и что то с пользовательскими сессиями (Blocked user session regeneration). Оптимизирован модуль Update. Различные мелкие фиксы. Полный список изменений (eng).

Обновиться с версии 6.15 можно по прошлой инструкции. Если при обновлении вылезет сообщение

user warning: Table 'semaphore' doesn't exist query: SELECT expire, value FROM semaphore WHERE name = 'locale_cache_ru' in /includes/lock.inc on line 154.

не обращаем внимание, жмём Update.

РазноеПодсветка html кода в Notepad++, в файлах открываемых из Opera

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

Opera с версии 9 (а может и 9.5, точно не помню) начала сохранять в кэш файлы без расширений. Поэтому, открывая исходный код страниц в Notepad++, редактор не может определить стиль подсветки:

Чтобы заставить редактор открывать файлы как html, нужно в параметры запуска добавить команду -lhtml

DrupalОписание констант WATCHDOG_*

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

WATCHDOG_EMERG — аварийное сообщение: система не работает
WATCHDOG_ALERT — тревога: меры должны быть приняты немедленно
WATCHDOG_CRITICAL — критическое сообщение
WATCHDOG_ERROR — ошибка
WATCHDOG_WARNING — предупреждение
WATCHDOG_NOTICE — примечание
WATCHDOG_INFO — информационное сообщение
WATCHDOG_DEBUG — отладочное сообщение

DrupalКак вывести два поля ввода на одной строке. Темизация элементов формы

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

В созданных с помощью Forms API формах, каждый элемент располагается на новой строке, и имеет собственный заголовок, описание, префикс, суффикс и т.д.:

Элемент формы

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

Элемент формы

DrupalУменьшаем число страниц в пагинаторе

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

По умолчанию, в пагинаторе (пейджере, pager), показывается 9 ссылок на страницы, что имхо многовато:

пагинатор

Чтобы ограничить их число, например до пяти, нужно в template.php добавить функцию:

Drupal 6:

/**
 * Override theme_pager().
 */
function phptemplate_pager($tags = array(), $limit = 10, $element = 0, $parameters = array(), $quantity = 5) {
  return theme_pager($tags, $limit, $element, $parameters, $quantity);
}

DrupalОбновляем модуль GeSHi Filter с версии 1.2 до 1.3

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

Инструкция по обновлению

  1. Скачиваем geshifilter 6.x-1.3
  2. Распаковываем поверх версии 1.2
  3. Открываем страницу http://вашсайт.ru/update.php
  4. Жмём кнопку Continue, затем Update
  5. Проверяем настройки по адресу admin/settings/geshifilter