Блог пользователя - Anton L. Safin

Интересная задачка: вывод нод, исходя из контекста

4 июня 2014 в 19:47

Есть интересная задача.

На сайте (интернет-магазин, но это не так важно) нужно на странице ноды вывести список других нод.
Конкретное применение - на странице товара вывести список рекомендуемых товаров.

Однако есть нюанс Smile Хочется максимальной гибкости в управлении правилами вывода этих нод.

Процесс видится следующим образом:

1. Создается определенная таблица с правилами. Например:

- Если нода привязана к термину "Epson" словаря "производители", числовое поле "цена" больше 500 и меньше 10000 - добавлить в список "Рекомендованные товары" ноду 3 и 8 - "Сетевой фильтр" и "Бумага Снегурочка"
- Если у ноды отмечено логическое поле "WiFi" - добавить в список "Рекомендованные товары" ноду 157 - "WiFi роутер"

и т.д.

Коллекционирую адреса интернет-магазинов на Drupal

13 мая 2014 в 4:53

Возможно, что-то подобное уже было на Drupal.ru, но я не нашел.

Хочется собрать коллекцию ссылок на рускоязычные магазины на Drupal, чтобы ехидно говорить потенциальным заказчикам: "Не Битриксом единым..."

Да, есть клёвый http://www.drupalcommerce.org/showcase (где сайты сплошь англоязычные) и http://drupalogy.ru/ (где хороших магазинов один-два, не более). Но, я думаю, у коллег есть свои кейсы, которыми они по каким-то причинам просто стесняются делится.

Если вы увидели в сети хороший магазин, и знаете, что он создан на Drupal, тоже очень прошу - поделитесь ссылкой!

Оставляйте ссылки в комментариях, а я буду добавлять их в общий список.

Ubercart

Drupal Commerce. Способы оплаты

31 января 2013 в 8:10

Собираем "в кучу" существующие способы оплаты для Drupal Commerce, актуальные на территории РФ, как это было ранее сделано [#47937]для Ubercart[/#].

Платежные системы

Webmoney

http://webmoney.ru

Прием платежей через Webmoney. Раньше для приема платежей нужен был аттестат продавца webmoney, как обстоят дела сейчас, не знаю.

Модуль Commerce Webmoney на Drupal.org (sandbox)
[#67677]Обсуждение Commerce Webmoney на Drupal.ru[/#]
"Допиленный" модуль от graker

Yandex money

Хорошо поговорили!

26 декабря 2011 в 19:24

Некоторое время назад меня пригласил к себе в гости человек, никнейм которого - Golodnyj - весьма хорошо известен в иркутской ИТ-тусовке.

Разговаривали мы о рынке CMS, и, конечно, о моем коньке - CMS Drupal. Беседа, на мой взгляд, получилась очень живой - Антон задавал очень грамотные вопросы, а я, насколько мог, пытался так же грамотно на них отвечать.

И вот на днях Golodny выложил наш 40-минутный диалог в виде подкаста у себя в блоге. Приглашаю к прослушиванию!

The Art Of Programming - Выпуск №69 [ Web ] / Drupal

Вторая встреча Drupal Cafe Иркутск

19 октября 2011 в 7:32

Drupal Cafe ИркутскПервая, сентябрьская встреча сообщества Drupal в Иркутске доказала, что эта CMS интересна и востребована.

Продолжаем! Ждем всех, кто знаком или только хочет познакомиться с лучшей бесплатной системой управления сайтами, в четверг, 27 октября в кофейне "Белая ворона": http://vkontakte.ru/coffeenbook

Формат встречи:

  1. Несколько коротких докладов (15-20 минут), интересных, в первую очередь, новичкам в Drupal.
  2. Неформальное общение Drupal-разработчиков - обмениваемся опытом, знакомимся с коллегами Smile
  3. Распитие кофе/чая/других напитков.

В программе 2 доклада (пока):

  1. "Насколько глубока кроличья нора?". Продвинутое применение модуля Views (доклад, который не вошел по времени в прошлую встречу)
  2. Интернет-магазин на Drupal? Бредовая идея!

Начало в 19:00
Адрес кофейни "Белая ворона": Карла Маркса, 37. Вход через магазин цветов "Рассвет", находится между Л'Этуалью и Золотом Якутии. Заходите в цветы, немного проходите вперед и спускаетесь в цокольный этаж, идите на запах кофе.

Drupal Cafe Иркутск в социалках:
"В контакте": http://vkontakte.ru/event31257801
"Facebook": http://www.facebook.com/event.php?eid=240592689322661

Иркутяне, добавляйтесь!
Есть вопросы? Звоните: +7 914 8888621

Комментировать можно здесь и на drupal4all: http://drupal4all.ru/node/28

Drupal Cafe в Иркутске - 29 сентября!

26 сентября 2011 в 22:26

Drupal Cafe ИркутскИтак, окончательная информация:

Дата: четверг, 29 сентября, 19:00.

Место проведения Drupal Cafe в Иркутске - кофейня "Белая ворона": http://vkontakte.ru/coffeenbook. Адрес: Карла Маркса, 37. Вход через магазин цветов "Рассвет", находится между Л'Этуалью и Золотом Якутии. Заходите в цветы, немного проходите вперед и спускаетесь в цокольный этаж, идите на запах кофе.

В программе - 3 доклада (20-30 минут):

  1. "Насколько глубока кроличья нора?". Продвинутое применение модуля Views (уровень - начальный и средний).
  2. "Ускоряемся". Быстрая разработка шаблонов Drupal при помощи "базовых" тем (уровень - начальный и средний).
  3. "Мелочи в Drupal". "Подводные камни", о которых лучше знать заранее. (уровень - начальный).

Будем рады видеть всех, кому интересен Drupal и вообще тема создания сайтов и веб-сервисов.

Drupal Cafe Иркутск в социалках:
"В контакте": http://vkontakte.ru/event30298356
"Facebook": http://www.facebook.com/event.php?eid=172728356140202

Иркутяне, добавляйтесь!

Есть вопросы? Звоните: +7 914 8888621

Комментировать можно здесь и на drupal4all: http://drupal4all.ru/node/25

Афиша мероприятия

i18n - главная страница сайта на разных языках

12 января 2011 в 21:23

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

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

Решение, как часто бывает, нашлось на drupal.org

Итак, чтобы иметь возможность указать адрес страницы, отображаемой в качестве главной, для каждого языка, нужно в settings.php добавить следующие строки:

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

Как прикрепить большой файл в материал (модуль upload)

26 ноября 2010 в 21:45

Есть проблема: в настройках хостинга максимальный размер загружаемых по http файлов - 10Mb, а нужно загрузить файл в 50Mb. Ну и вообще большие файлы удобнее загружать по FTP.

Решение "в лоб":

  1. Создаем пустой файл с нужным именем
  2. При помощи модуля upload "прицепляем" к материалу
  3. Через FTP заменяем нулевой файл на тот, который нам нужен
  4. Выполняем нехитрый SQL-скрипт - к примеру, через модуль devel:
$res = db_query('select * from {files}');
while ($file=db_fetch_object($res)) {
IF ($file->filesize == 0) db_query("update {files} set filesize=%d where fid=%d",filesize($file->filepath),$file->fid);
}

Вуаля! Все файлы имеют реальный размер.

P.S. Для filefield задача решается проще - при помощи модуля [module=filefield_sources]

Drupal4all.ru проводит бесплатный семинар по CMS Drupal для клиентов 1PS.RU

26 октября 2010 в 14:28

Мы решили присоединиться к поздравлениям в адрес 1PS.RU по случаю 10-летнего юбилея, и предложить в качестве подарка бесплатный онлайн мастер-класс "Создание сайта за 15 минут при помощи CMS Drupal" для всех клиентов промо-сервиса.

Итак, в четверг, 28 октября в течение двухчасового мастер-класса (с 17:00 до 19:00 по московскому времени) вы сможете наблюдать "живую" установку Drupal на хостинг в режиме реального времени, узнать о идеологии этой CMS и наиболее интересных, на наш взгляд, модулях для этой системы. И, конечно, у вас будет возможность задать все интересующие вас вопросы.

Для участия в мастер-классе у вас должна быть хотя-бы одна оплаченная заявка на сервисе 1PS.RU (срок давности не ограничен). Зайдите в свой личный кабинет и откройте отчет по заявке. Найдите в списке ваших бонусов вебинар "Создание сайта за 15 минут при помощи CMS Drupal" и нажмите кнопку "Зарегистрироваться".

Количество участников мастер-класса ограничено!

Drupal4all.ruСистема авторегистрации в каталогах, статьи про раскрутку сайтов, web дизайн, flash, photoshop, хостинг, рассылки; форум, баннерная сеть, каталог сайтов, услуги продвижения и рекламы сайтов

LiqPay - внимание, изменились ключи (signature)

5 октября 2010 в 18:44

Некоторое время назад я "доводил до ума" модуль по приему платежей по банковским картам для модуля интернет-магазина Ubercart через систему приема платежей LiqPay. Исправив несколько ошибок, не совместимых с жизнью, я довел модуль до рабочего состояния, и был практически счастлив.

Однако нынче обнаружилась неприятная особенность - после оплаты вместо греющей душу надписи "Заказ завершен" выдавалось угрожающее сообщение: "Ваш платёж был отменён".

Зайдя на сайт LiqPay, первым делом я увидел следующее сообщение:

В связи с переходом на новую версию, мы учли Ваши пожелания и добавили в существующую схему две подписи: одну для вывода финансов, другую на ввод. Изменения войдут в силу 1 октября в 12-00.

Перевожу на русский язык: тем, у кого перестал работать модуль, нужно зайти на страницу https://www.liqpay.com/?do=shop_access, скопировать ВТОРОЙ ключ (Подпись для остальных операций) и заменить старый ключ на странице /admin/store/settings/liqpay/list вашего интернет-магазина.

После этого все должно работать в штатном режиме.

На всякий случай прикладываю актуальную версию модуля.

Путь к изображениям из файлов темы

16 августа 2010 в 19:25

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

Итак, нужно в файле темы (к примеру, page.tpl.php) загрузить изображение. Можно, конечно, прописать путь от корня сайта, однако это не совсем гибкий способ - что произойдет, если мы переложим тему в другое место? Поэтому делаем так:

Ubercart. Способы оплаты

31 июля 2010 в 11:46

Пытаюсь собрать в кучу готовые методы оплаты для магазинов на Uberacart (Drupal 6.x). Дополняйте!

Платежные системы

Webmoney

Сайт: http://webmoney.ru

Прием платежей через webmoney. Для работы нужен аттестат продавца webmoney.

Модуль by [user=gor]: [module=uc_webmoney] (для Drupal 6.x есть dev версия модуля, однако дальше проект, похоже, не развивается)
Альтернативный модуль от [user=glu2006]: [#35465]Модуль оплаты Webmoney для Ubercart[/#]

Яндекс.деньги

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

Единственный модуль, который я нашел, вместо интеграции с Яндексом просто выводит номер счета для оплаты: [#39864]Простой модуль оплаты Яндекс.Деньги[/#]

RBK-money

Сайт: http://rbkmoney.ru

Прием платежей через RBKMoney. Система активно развивается, кроме того позволяет производить оплату не только с собственного счета в системе, но и через банковские карты (подробнее - здесь: http://rbkmoney.ru/prinimaite-bankovskie-karty-s-rbk-money).

Модуль by [user=bulinat]: [#61024]Модуль оплаты RBK Money для Ubercart[/#] (в том числе под Drupal 7).

Z-Payment

Сайт: https://z-payment.ru

Модуль: [module=uc_zpayment]

liqpay.com

Сайт: http://liqpay.com

Drupal 6.17 released

3 июня 2010 в 16:50

С сегодняшнего дня доступна новая версия Drupal'а - 6.17. Всем срочно обновляться!

P.S. Здесь написано про возможные проблемы с обновлением при использовании модуля Views Bulk Operations (VBO)

P.P.S. Обновление базы данных не требуется - достаточно скопировать файлы.

Кто-то ругался на FirstVDS? Мои впечатления от "облачного" (кластерного) хостинга от той же компании.

26 мая 2010 в 13:30

Тем, кто испытывает только отрицательные эмоции при виде адреса firstvds.ru, читать начиная с третьего абзаца.

Модуль Module Filter - для тех, у кого дли-и-и-инный список модулей

21 мая 2010 в 19:11

Так получилось, что у меня практически все сайты, которые я сопровождаю, живут на одной инсталляции drupal'а. Так и модули обновлять проще, и место на диске экономится. Опять же, в целях удобства модули, которые используются двумя или более сайтами, я размещаю в папке sites/all/modules. Все хорошо до тех пор, пока не возникает необходимость отыскать на странице со списком модулей в админке тот единственный, который нужно подключить.

19 мая - мастер-класс по Drupal'у в Иркутске

14 мая 2010 в 14:51


19 мая, в среду, в Иркутске состоится уже второй по счету мастер-класс по CMS Drupal. На этот раз мероприятие пройдет в рамках федерального проекта CITYCELEBRITY.

В течение двухчасового мастер-класса (с 19:00 до 21:00) я планирую продемонстрировать установку Drupal на хостинг в режиме реального времени, расскажу о своем понимании идеологии этой CMS и наиболее интересных, на мой взгляд, модулях для этой системы. И, конечно, у вас будет возможность задать все интересующие вас вопросы.

В Иркутске творческие мастерские CITYCELEBRITY проходят в центре города, по адресу ул.Ленина, 15. Телефон: 21-71-78
Вход свободный!

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

Подробности о мероприятии - на сайтах citycelebrity.ru и drupal4all.ru

imagefield, пути к изображениям, мультисайтинг и перенос на сервер

9 апреля 2010 в 16:37

Судя и по этому сайту, и по issues на drupal.org многим приходилось сталкиваться с одной проблемой, проявляющейся в нескольких случаях:

1. При установке Drupal'а на локальной машине (например, на Denwer'е) после переноса на сервер изображения, загруженные при помощи поля Imagefield, не показываются. Если посмотреть на адрес картинки, можно увидеть примерно такой путь:
sites/mysite.ru/files/sites/mysite.local/files/screenshots/x.jpg (вместо sites/mysite.ru/files/screenshots/x.jpg)

Как сделать разные "префиксы" в адресах разделов сайта

20 марта 2010 в 13:03

Вопрос в следующем. Есть сайт, который фактически представляет из себя несколько больших разделов. Нужно, чтобы у каждого раздела был свой адрес, своя тема оформления и breadcrumb. Фактически, это несколько сайтов.

Например:

Раздел "Магазин"

Если бы эти разделы располагались на разных доменных именах, проблем бы не было - благо, есть модуль [module=domain]. Но дело в том, что они должны располагаться именно в "подпапках". Еще одна тонкость - один и тот же материал может отображаться на разных сайтах - соответственно, с различными адресами и в разных темах.

Кому не охота читать, как это сейчас реализовано, может сразу переходить к последнему абзацу.

Итак, как все это сделано сейчас:

Есть словарик таксономии под названием "Сайты", использующийся практически для всех типов материалов. Для привязки различных тем оформления используется [module=themekey]. Остается вопрос с одной страницей, привязанной к различным разделам. Ну да ладно. Самое интересное начинается, когда я пытаюсь разрулить ситуацию с адресами. [module=PathAuto] в теории позволяет сделать то, что мне нужно, но при попытке использовать токен [term-raw] подставляется, соответственно, транслитерация - например, magazin вместо shop. Несколько дуболомно, но это решается добавлением в файлик i18n-ascii.txt в папке модуля patchauto строк вида Магазин=shop.

[Решено] Блок со случайными изображениями в связке Views+CCK (ImageField)+ImageCache

20 марта 2010 в 10:41

Нужно было сделать на очередном сайте фотогалерею. Собственно, уже стандартный путь: создаем тип материала gallery, в нем при помощи модуля imagefield (CCK) делаем поле для загрузки изображений (с неограниченным их количеством), далее при помощи ImageCache выводим в ноде вместо полноразмерных изображений их превьюшки при клике на которые уже открывается фото в нормальном размере (при помощи Thickbox).

Далее потребовалось создать блок, в котором бы показывались случайные изображения из этой фотогалереи. Ну, думаю, 5 минут делов. Заряжаю views, создаю блок, устанавливаю нужные фильтры, выбираю поле imagefield материала, и тут крепко задумываюсь... Потому как в настройках поля есть количество выводимых изображений и с какого изображения, собственно, начинать. А про случайный выбор ничего не сказано. Вид сортировки random в Sort criteria здесь явно не подходит - это работало бы, если бы нужно было выбрать изображения (например, по одному) из нескольких нод, а здесь-то нода одна.

Как всегда, помог drupal.org. На этой странице нашелся патч, позволяющий реализовать задуманное.

Собственно, дальше все просто (если знать, что такое SSH).

cd domains/newsite.ru/public_html/sites/all/modules/views/handlers/
wget http://drupal.org/files/issues/content_handler_field_multiple.patch
patch < content_handler_field_multiple.patch

Результат, как говориться - налицо (на лице):