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

Коммерц. Разные цены для разных ролей.

6 августа 2011 в 11:55
2

Собстно, задача в том, что есть две категории клиентов. Для каждой категории установлена (вручную) своя цена.
Сделал так:
1. Добавил в продукт поле price2 типа price
2. Создал "правило":
Event: Calculating the sell price of a product
Condition: Entity has field Parameter: Entity: [commerce-line-item], Field: commerce_product
Condition: Entity has field Parameter: Entity: [commerce-line-item:commerce-product Field: field_price2
Condition: User: [site:current-user], Roles: выбираем роли, для которых цена.

DENWER на Windows 7. phpMyAdmin – Error [Решение]

5 августа 2011 в 14:34

Может кому поможет. Поставил Denwer на Windows 7 (купил новый «системник», а в нем уже, блин, стояла семерка; решил попробовать) и не могу зайти в phpMyAdmin. Выводит ошибку: phpMyAdmin – Error. Cannot load mysql extension. Please check your PHP configuration. – Documentation. Решение лежит в системе безопасности, к которой, разработчики win7, уделили особое внимание. Необходимо разрешить доступ всем пользователям к тому диску, на котором лежит denwer. Это см. в свойствах диска, вкладка «безопасность» (…\Пользователи).

Модуль Yandex Ping

4 августа 2011 в 13:47

Привет всем.

Потребовался модуль для отправки ping на yandex, но что-то ничего не нашел. Набросал свой модуль, так, ради поделиться выкладываю, может пригодится кому.

Собственно, занимается только тем, что при каждом создании или сохранении материала делает в Yandex ping. Не забывайте, что делает всем материалам ping вне зависимости от уровней доступа, но только опубликованным.

Сортировка элементов меню Book по дате добавления

3 августа 2011 в 21:42

Довольно часто встаёт вопрос - как отсортировать ссылки меню модуля Book не по весу и названию, как идёт стандартно, а по дате добавления материала?

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

На основе этой информации можно использовать вот какие хитрости.

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

function MODULE-NAME_nodeapi(&$node, $op, $teaser, $page) {
  switch ($op) {
    case 'insert':
    case 'update':
      if (!empty($node->book['bid'])) {
        // Добавляем в вес пункта дату создания ноды, чтобы отсортировать меню по возрастанию
        $node->book['weight'] = $node->created;
        menu_link_save($node->book);
      }
      break;
  }
}

Что мы здесь имеем? Просто при создании или обновлении ноды в вес соответствующего ей пункта меню запишется timestamp значение даты создания материала. Эта небольшая уловка даст нам возможность отсортировать меню по возрастанию даты добавленных материалов.

Имейте ввиду, что если у вас уже есть добавленные ноды, то придётся массово как-то обновлять в базе для них пункты меню (их веса). Если нод немного, достаточно их поочерёдно пересохранить - новый вес запишется. А для новых нод наше правило уже будет действовать.

Модуль Промокодов для клуба

31 июля 2011 в 13:44

Кто помнит или не помнит - я писал когда то, что под заказ пишу модуль для Промокодов (пруфлинк).
Собственно постепенно я его дописываю и сегодня ударным темпом закрыл одну из хотелок.

В чем профит модуля, спросите вы?
Все просто. Если вам нужно пользователю присвоить уникальный номер из заданного диапазона и присвоить ему роль - этот модуль предназначен именно для этого. Администратор генерит промокоды через админку, выдает людям. При регистрации или при редактировании профиля пользователь может указать в специальном поле промокод и получить номер и роль. Полученный номер можно использовать, к примеру, для выдачи значков или футболок и т.п. На роль можно повесить специфические права и доступы.

Для проекта открыл sandbox http://drupal.org/sandbox/softovick/1190802 - если кто желает, может поучаствовать в тестировании и фидбеке. На всякий случай прикрепил к посту архив с модулем.

UPD:
+ добавлен выбор роли, которая присваивается при активации промокода
+ сделан прототип более детального списка промокодов в виде таблицы с ссылкой на профиль пользователя.

Подключение jQuery

29 июля 2011 в 13:16

Может кому пригодится...

В поисках подходящего слайд шоу для одного из своих проектов наткнулся вот на такую вещицу http://www.serie3.info/s3slider/index.php. Этот s3Slider jQuery plugin требует подключения библиотеки jQuery. Однако описанным на сайте способом подключение, вызывает конфликты в работе с собственной библиотекой друпал.
Решение нашлось на сайте drupal.org http://drupal.org/node/304255.
Нужно в файл template.php вашей темы добавить:

Как добавить ленту сообщений Google+ на сайт, сделанный на CMS Drupal

28 июля 2011 в 21:32

Давно хочу прикрепить свою ленту сообщений из новой социальной сети Google plus на свой же хоумпейдж. Официального пути это сделать пока нет. Вот один из "неофициальных" вариантов:
1) создать RSS-поток ваших сообщений на сайте http://plusfeed.appspot.com/. В общем-то для этого просто надо добавить ваш ID на сайте G+ к адресу Plusfeed'а. Вот так, например - http://plusfeed.appspot.com/116910563308964275374
2) включить модуль Feed aggregator (есть в стандартном дистрибутиве Drupal) на странице ВАШСАЙТ/admin/build/modules/list.
3) добавить полученный на шаге 1 адрес фида в настройках на странице ВАШСАЙТ/admin/content/aggregator/add/feed
4) и, конечно, настроить cron (если он у вас еще не настроен) и не забыть установить права для просмотра ленты (на ВАШСАЙТ/admin/user/permissions).

И все...
По желанию можно задать адрес для этой страницы, добавить ссылку в меню сайта, сделать более внятное оформление и т.п.
Получится что-то вроде такого: http://vadimbarsukov.com/aggregator/sources/1
Не скажу, что меня все устраивает (например, не показываются фото и видео), но все же это лучше, чем ничего.

Hashtags в друпале

28 июля 2011 в 12:50

Приветствую.

Как оказалось, есть модуль, позволяющий отказаться от необходимости прописывать теги страницы в отдельном поле - [module=Hashtags], теги как в твиттере, отмечаются непосредственно в тексте. И для seo лучше.

Единственный минус в том, что он есть только под 6-ю версию, и с портом D7 совершенно не ясно... аналогов модуля не нашел.

Дополнение к модулю Node Gallery: галереи по умолчанию

28 июля 2011 в 10:02

Default Node Gallery - дополнение к модулю Node Gallery - создает галерею по умолчанию для каждого юзера (и для каждой пары тип_галереи - тип_изображения) при входе его на сайт.
Так же позволяет управлять доступом к галерее по умолчанию, чтобы юзер случайно ее не удалил.

Вышел Drupal 7.7. (Drupal 7.7 released.)

28 июля 2011 в 9:18

Вышел drupal 7.7., который является 7.6, но с поправленными строками в "версии"

7.5 содержит фиксы безопасности.

Короче говоря. Качать и ставить надо 7.7.

Drupal 7.5, a maintenance release which fixes security vulnerabilities is now available for download. Drupal 7.6 7.7 also fixes other issues reported through the bug tracking system.

Note: Drupal 7.7 is just Drupal 7.6 with a fixed VERSION string (7.6 was reporting itself as 7.5). No other changes.