Статьи о Drupal

Для тех, кто столкнулся с трудностями при использовании drush под windows, я написал небольшую подсказку.
Суть заключается в том, что стандартный установщик, который скачивается по ссылке http://drush.ws/drush_windows_installer под Windows 7 всё равно не устанавливает нужных переменных окружения, а так же совсем нигде не написано, откуда этот вообще drush использовать (из командной строки cmd не получалось это сделать). (дополнительно надо сразу поставить msysgit отсюда https://code....

Open Atrium версии 2 (основан на Друпал 7) - очень хорошая система для ведения своих проектов, учёта взаимодействий с заказчиками и трекинга своего времени. Без автоматизации этих процессов ни одна фирма, а так же ни один успешный фрилансер, не работают.
Основные требования к хорошей CRM системе неплохо рассказаны в этом вебинаре http://usabilitylab.ru/blog/webinar-143/
Для того, чтобы дистрибутив Open Atrium'a приобрел человеческий вид и удобство привычного Друпала, мне пришлось проделать некоторые махинации, о которых я и...

Мой первый опыт помощи сообществу на drupal.org начался сразу с того, что меня сделали Maintainer'ом проекта (главным разработчиком).
Для того, чтобы залить свою версию модуля в репозиторий проекта и сделать первый релиз, надо делать следующее:

  1. Если еще ни разу не работали с Git, надо выполнить все действия отсюда Obtaining Git access, а так же идентифицировать себя в git у себя на компе по этому мануалу Identifying yourself to Git (если вы под виндой и используете TortoiseGit,...

В полях формы друпал подставляет красный символ звездочки (*), если поле обязательно к заполнению. Чтобы заменить этот символ, необходимо в шаблоне template.php вашей темы оформления реализовать следующий хук:

<?php
function THEME_form_required_marker($variables) {
  // This is also used in the installer, pre-database setup.
  $t...

Я несколько раз сталкивался с проблемой, что Webform вообще никак не хочет обрабатываться, если он находится во всплывающем окне (lightbox или colorbox).

Решением данной проблемы оказалось следующее: во-первых, надо использовать дополнительный модуль colorbox_node

Во-вторых, надо использовать версию colorbox_node 7x-2.6 (желтым цветом), а не итоговый релиз 3.0 - потому что итоговый релиз с вебформами пока не научился нормально работать!

После этого просто создаете как всегда веб-форму, пишете в ней что в результате надо переводить на confirmation message, сообщение...

Казалось бы, проблем нет - просто добавить якорь #new к ссылке на ноду, и при заходе в ноду будет пролистывать сразу до нового комментария. Однако это неверно - если комментариев много и они разделены постранично, то вместо того, чтобы попадать на нужную страницу с непрочитанным сообщением вы всегда будете оставаться на первой.
Чтобы решить эту проблему, нужно воспользоваться функцией comment_new_page_count. http://api.ubercart.me/api/drupal/drupal%21modules%...

Чтобы на странице термина таксономии вместо стандартного вывода тизеров материлов показывалась нужная вам вьюсина, нужно всего лишь воспользоваться модулем taxonomy_display
Просто включаете его, затем заходите в словарь таксономии, закладка "Управлять отображением", там появится новая закладка "Таксономи терм пейдж", в ней вы можете выставить ту вьюсину, которая вам нужна для отображения. Удачи!
https://drupal.org/project/taxonomy_display

Для начала надо скачать файлы, имеющиеся в репозитории.
Надо зайти на страницу проекта, и там сразу заметна ссылка на репозиторий:
1_1.png
Копируем её.

Затем заходим через ssh на хостинг, в директории, соответсвующей вашему виртуальному хосту выполняем команду

git clone ваша_ссылка

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

В каждом проекте я закладывал довольно приличное время на перенос сделанной мною работы с тестового сайта на живой. При этом такая работа меня жутко напрягала своей глупостью и по большому счёту ненужностью. При этом я знал про модуль features, но почему-то его не использовал!
Но жизнь всё расставляет по своим местам, и в одном проекте, который выводил меня на новый, международный уровень среднего масштаба, мне ничего другого не оставалось, как научиться работать с этим модулем. Боже, как я ошибался, не используя его! Конечно, есть небольшие опасения, что "магия" в этом модуле когда...

Хостер it-patrol поддерживает drush, данную статью я применял на нём. Если вы у дугого хостера, вам придется установить drush самостоятельно.

Для начала, я подразумеваю, что вы уже создали виртуальный домен (через веб-интерфейс вашего хостера), и смогли зайти на него через ssh. (домен я назвал test2.sd7.vps-private.net)

Дальше заходим в папку с этим доменом
cd ~/domains/test2.sd7.vps-private.net

...

Я написал патч для модуля One click upload (очень удобная вставка фотографий в wysiwyg editor - действительно одним кликом), который добавляет атрибут "rel" = "lightbox" в добавленные картинки так, что кликнув на неё, откроется оригинал в lightbox.
Через шаблоны настроек это сделать нельзя, к сожалению, так что пришлось писать патч.
После его установки появится дополнительная настройка на странице настроек /admin/config/content/ocupload/edit/1
В разделе "Параметры изображений" надо поставить галочки "Добавлять ссылку на...

Краткое содержание статьи http://engineeredweb.com/blog/successfully-commenting-code/

Есть разные мнения о коментировании: одни говорят что коментировать нельзя ни в коем случае, другие - что надо коментить что попало.

Я считаю, что надо коментировать в 3х случаях:

  1. Почему это сделано именно так?
    Когда вы пишете код, у вас в голове есть некий контекст, для которого вы пишете решение. Запишите его в качестве коментария. Коментарии о том, почему этот код реализован так, помогут вам или...

Если выдается непонятная ошибка с указанием на один из файлов ядра (например entity.inc), то ошибка конечно не в ядре, а в каком-то модуле, который вызывается из нашего ядра.
Соответственно, чтобы найти этот модуль, можно воспользоваться трюком backtrace

To better track down the code that is calling DrupalDefaultEntityController, try inserting the following before line 178 in entity.inc:

drupal_set_message(var_export...

При переносе товаров из уберкарта в коммерц я сделал специальное поле product_old_nid у товара, в которое импортировал nid на старом сайте.
Затем мне понадобилось обновить значения кол-ва товаров на складе (чтобы на новом сайте были те же значения, что и на старом).
Решение конкретной это задачи была работа напрямую только с phpmyadmin: я экспортировал таблицу uc_product_stock со старого сервера в базу нового сайта, и затем выполнил вот этот запрос:

...

В этой статье я расскажу о своем опыте организации мультисайтинга на Drupal 7, в котором используется множество модулей, в том числе Drupal Commerce. Основная идея - нужно иметь разные товары, разные блоки и каталоги (таксономию), но одинаковые отображения (views), настройки модулей и пользователей.

В нашем случае нам необходим мультисайтинг Друпала с общими таблицами.

В первую очередь я установил Друпал 7 и полностью настроил интернет-магазин для одного сайта.

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

Страницы