Предлагаю решение

Добавить в menu block функционал jquerymenu

27 декабря 2010 в 18:41

Привет.

Модуль jquerymenu позволяет сделать удобное меню для сайдбара - с разворачиванием подпунктов меню без перезагрузки страницы, но при этом у него есть один существенный недостаток - нельзя указать, с какого подпункта меню начинать вывод, и его глубину.

Этого недостатка лишен модуль menu block, но он лишен функционала jquery.

Итак, скрещиваем ужа с ежом.

В файле template.php своей темы добавляем функции:

function название-темы_menu_item__menu_block__номер-блока($link, $has_children, $menu = '', $in_active_trail = FALSE, $extra_class = NULL) {
  $class = ($menu && $in_active_trail ? 'parent open' : ($has_children ? 'parent closed' : 'leaf')); // Для того, чтобы
// menu_block выводил на страницу все подпункты меню, а не только верхнего уровня
// (а то разворачивать будет нечего), нужно либо в настройках меню, либо в настройках
// блока menu_block раскрыть все подпункты меню, но в таком случае оно будет изначально
// выводиться на страницу полностью раскрытым, что не есть хорошо. Здесь всем пунктам
// меню назначается класс closed, кроме тех, которые in_active_trail

//  if (!empty($extra_class)) {     Тут добавляются дополнительные классы,
//    $class .= ' '. $extra_class;  вроде lirst, last, menu-его номер
//  }                               мне они без надобности, поэтому отключаю

  if ($in_active_trail) {         // Добавляется класс active-trail
    $class .= ' active-trail';    // чтобы меню разворачивалось до
  }                               // активного пункта

Все Seo Drupal модули

26 декабря 2010 в 11:41

Всем привет! Данная статья не для профессионалов, которые уже всё знают :), а для новичков. Уверен, многим пригодится на ниве раскрутки и оптимизации сайта на движке Drupal.
Материал представляет собой вольный перевод статьи "A List of the Best Drupal SEO & Social Media Modules", достопочтенного Джейсона, http://www.themesnap.com/blogs/jason

Полный перевод с ссылками на модули представлен на сайте SEO программы со скидками


Список лучших SEO и социальных модулей для Drupal

SEO DRUPAL

Вы найдете много подборок и списков лучших Drupal SEO модулей, если воспользуетесь поиском Google или Яндекс.Однако многие из этих списков не включают модули, которые используются для повышения внутренней значимости страницы, эффективности и даже отслеживания за произведенными пользователем действиями.В списке ниже мы опишем несколько SEO Drupal модулей, которые используются, не только для повышения места вашего сайта в поисковых системах, но и для ваших драгоценных пользователей.Мы также включили большой перечень социальных модулей SMO, чтобы "оживить" ваш сайт на Drupal.Поехали!

Наиболее распространенные модули Drupal SEO

[Решено] advanced_catalog + filter

21 декабря 2010 в 15:27

Подскажите как вывести в advanced_catalog ubercarta Vews-filter. Фильтр, работает только не отображается.

Решено:
в advanced_catalog запрещено использование раскрытых фильтров, сделал views, ее прикрутил к выводу каталога (http://www.drupal.ru/node/15405), и все работает.

CSV файлы из Excel в node_import

21 декабря 2010 в 11:11

Пришла и моя очередь столкнуться с проблемой противостояния Windows и кодировки UTF-8.

Проблема известна многим, кто имел дело с модулем [module=node_import]. Суть в том, что файлы CSV, сохраняемые из Excel, имеют кодировку CP-1251 (Windows), а модуль работает с "кошерной" кодировкой UTF-8.

Собственно, совет о том, как грамотно обойти эту проблему, я нашел здесь.

Для тех, кто знает что такое patch "и с чем его едят", выкладываю файлик - решение проблемы (чуть измененный код с указанной выше страницы).

И еще - оформил issues на drupal.org. Гуру, посмотрите, все ли правильно - как-никак мой первый патч на "оргах": http://drupal.org/node/1004030

DrupalCamp Kiev 2010 - drupal 7 entity examples

20 декабря 2010 в 16:30

Модуль, написанный для летней презентации на DrupalCamp Kiev 2010 требует тестирования - он становится субмодулем Examples

Очень рекомендуется для изучения людям пишущим код и изучающим новый механизм сущностей (Entity) в drupal 7.

Префиксы в БД Drupal 6

19 декабря 2010 в 3:18

Не знаю, баг это или фича, но в названиях БД Друпала нельзя использовать - (минус). БД создается, админ БД назначается, но Drupal при установке дает ошибку типа неправильной переадресации.

Заменить CSS модулей своими

18 декабря 2010 в 13:55

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

Решения:
1. Править файлы css, которые лежат в папках с модулями - некошерно.

2. Отключить файлы CSS и прописать стили в своих CSS - они будут грузиться всегда, вне зависимоси от участия модуля в рендере страницы.

Решил заменить таблицы стилей модулей своими, используя решение с ДрупалКукБука:
в template.php своей темы в функции имя-темы_preprocess_page добавил:

  $path_to_theme = drupal_get_path('theme', 'имя-темы');
  foreach ( $vars['css']['all']['module'] as $css =>$val ){
        $vars['css']['all']['module'][$path_to_theme . '/css/' . basename($css)] = $val;
        unset($vars['css']['all']['module'][$css]);
  }
  $vars['styles'] = drupal_get_css($vars['css']);
  unset($path_to_theme);

Остается скопировать файлы CSS из папок с модулями в подпапку /css своей темы, и править их как угодно.

Недостатки - при добавлении модулей надо помнить о необходимости копирования его стилей в свою тему.
решено, вопрос - по нагрузке (я не ощутил) и кошерности кода (N лет назад кодил на vb6, php - со словарем)

How to! - nginx версия два.

17 декабря 2010 в 20:00

Я писал как настроить ngnix здесь, но эта метода плоха сама в себе, плюс какое-то обновление удалило куку DRUPAL_UID из друпала. Короче, вот новое решение.

Требования.
Модуль [module=logincookie]. В нем устанавливаем куку NOCACHE когда пользователь залогинился, и удаляем ее когда он вышел.
Тестировал под nginx0.7, под nginx0.8 почему-то не кэшировал, так что смотрите, я вас предупредил.

Сам конфиг отдающий закэшированые страницы анонимусам:

Предложение по борьбе со спамом на этом сайте)

17 декабря 2010 в 17:05

Товарищи по оружию!
Обращаюсь к Вам со своим предложением как помочь в борьбе со спамом на этом сайте.
Безумно достало!!!!
Суть вот в чем:
В профиле пользователя добавить кнопку спамер!
При обнаружении такого другими пользователями - зайти к нему в профиль и нажать на эту кнопку.
Если голосов наберется достаточно (о количистве нужно еще подумать) - пользователю автоматом запретить писать на сайте пока администрация не разбереться.
Особо опытным пользователям можно дать поувесистей голос )

Группировка по верхнему термину во Views

16 декабря 2010 в 18:05

Имеем словарь:
Термин1
-Термин1.1
-Термин1.2
-Термин1.3
Термин2
-Термин2.1
-Термин2.2
-Термин2.3

Нужно сгруппировать материалы по верхнему термину таксономии (Термин1, Термин2 и тд)

Для группировки материалов относящихся к словарям с иерархией нужно пропатчить модуль Views.
С помощью http://drupal.org/files/issues/769136-view-taxonomy-deep-feature8.patch

Для этого соединяемся с сервером по SSH. Переходим в каталог с модулем Views и выполняем следующие действия.

wget http://drupal.org/files/issues/769136-view-taxonomy-deep-feature8.patch
patch -p0 < 769136-view-taxonomy-deep-feature8.patch

После перейти на страницу представления. Добавить поле "Все термины", где выбрать глубину группируемых терминов в разделе "Limit terms by depth".

Потом установить группировку по полю "Все термины"