<rmcreative>

RSS

Все заметки с тегом «Drupal»

  1. Запретить кэшировать URL для анонимных пользователей Drupal

    18 декабря 2009

    Чтобы при включенном для анонимных пользователей кэшировании не включать в кеш определённый URL, можно воспользоваться следующим трюком:

    function mymodule_init(){
      $no_cache_pages = array(
        'cart/add*',
        'cart/remove*',
        'cart/list*',
      );
      if (drupal_match_path($_GET['q'], implode("\n", $no_cache_pages))){
        $GLOBALS['conf']['cache'] = false;      
      }
    }

    Абсолютно необходимо, например, при реализации анонимной корзины для магазина или создании анонимного голосования.

    5 комментариев
  2. WordPress глазами друпаллера

    6 декабря 2009

    Замечательные статьи, рассказывающие об особенностях WordPress тем, кто хорошо знает Drupal

    Затронуты:

    • Админка.

    • Шаблоны и переменные.

    • Условные теги.

    • Виджеты.

    • Локализация.

    • Шорткоды.

    • Плагины (модули).

    • Крон.

    Часть 1

    Часть 2

    1 комментарий
  3. Drupal: вывод данных с постраничной разбивкой

    29 октября 2009

    Довольно типичная для Drupal задача, которая частенько ставит новичков в тупик.

    // Пишем SQL без LIMIT. Не думаем о постраничной разбивке вообще.
    $sql = "select title, type from {node}";
     
    // Заголовок таблицы
    $header = array(
      t('Заголовок'),
      t('Тип')
    );
     
    // pager_query добавит в SQL LIMIT без нашего непосредственного участия
    $result = pager_query($sql, 10);
     
    // собираем данные для таблицы из результата запроса
    $rows = array();
    while($row = db_fetch_object($result)){
      $rows[] = array(
        $row->title,
        $row->type
      );
    }
     
    // выводим таблицу
    echo theme('table', $header, $rows);
    // выводим постраничную навигацию
    echo theme('pager');
    6 комментариев
  4. Drupal 6.14 и 5.20

    17 сентября 2009

    1 комментарий
  5. Drupal, добавить комментарий программно

    5 августа 2009

    $comment = new stdClass();
    $comment->nid = 123; // к ноде 123
    $comment->uid = 456; // от юзера 456
    $comment->name = 'Робот-постер'; // имя которого отобразится как Робот-постер
    $comment->subject = 'Тема'; // кто вообще придумал тему у комментария?!
    $comment->comment = '<p>Текст</p>';
    $comment->hostname = $_SERVER['REMOTE_HOST'] ? $_SERVER['REMOTE_HOST'] : '127.0.0.1';
    $comment->timestamp = time();
    $comment->thread = '01/'; // Ветка комментариев. В данном случае для плоских.
    drupal_write_record('comments', $comment);
    Комментировать
  6. Оптимизация Drupal

    14 июля 2009

    Полезное руководство по настройке и ускорению работы популярной CMS Drupal.

    Рассмотрены общие принципы, полезные модули и немного оптимизация сервера.

    Читаем

    Комментировать
  7. Drupal 6.13 и 5.19

    2 июля 2009

    Обновилась популярная PHP CMS Drupal.

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

    Официальный анонс

    Drupal 6.13

    Drupal 5.19

    1 комментарий
  8. Drupal 6.11 и 5.17

    30 апреля 2009

    Обновилась признанная лучшей CMS Drupal.

    Закрыли одну важную XSS-уявимость, починили довольно большой набор ошибок в шестой линейке и чуть меньший в пятой.

    Исправили весёлую ошибку кэша модуля Update status, не дающую загрузить админку при проблемах на drupal.org.

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

    Обновляемся:

    Drupal 6.11

    Drupal 5.17

    4 комментария
  9. Drupal 6, добавляем блок в виде поля CCK

    7 апреля 2009

    Иногда заранее неизвестно, как будут располагаться блоки. Особенно интересна ситуация, когда надо вставить блок между полями CCK.

    Конечно, можно решить это дело шаблонами, но во-первых это громоздко и не изящно, а во-вторых придётся менять код только ради того, чтобы поменять что-либо местами.

    Читаем

    4 комментария
  10. Drupal Views Attach

    13 марта 2009

    В процессе разработки проекта на Drupal встала задача вывести все ноды, ссылающиеся на данную при помощи node reference. Нашёлся замечательный модуль Views Attach, позволяющий прицепить к определённому типу View и передать ему id текущей ноды параметром. Модуль подошёл идеально.

    Не так давно понадобилось почти то же, но чуть сложнее: прицепить к определённому типу View, выводящий ноды заданного типа содержащие определённый термин таксономии. Пробежавшись по существующим модулям нужного не нашлось, но вспомнился Views Attach. А так как параметры View хорошо-бы было сделать полностью настраиваемыми — решил интегрировать данный модуль с Token, что сегодня и осуществил.

    В итоге при помощи данного решения можно, например:

    1. Отобразить при просмотре ноды 10 нод с сходными терминами таксономии.

    2. Отобразить 10 нод заданного полем cck типа.

    3. Отобразить отмеченные флагом ноды, ссылающиеся на данную.

    Забрать патч можно в трэкере проекта.

    Комментировать