Интеграция Drupal и VaM Shop

воскресенье, 13 апреля 2008 г.

В данной статье будет рассказано, как связать между собой VaM Shop и Drupal.

Что имеется в виду под интеграцией?
Под интеграцией Drupal и VaM Shop имеется в виду общая авторизация пользователей и синхронизация их учетной и профильной информации.
Интеграция Drupal и VaM Shop - это общая база пользователей и общая авторизация, т.е. входя под своим логином/паролем на Drupal, Вы авторизуетесь и в магазине VaM Shop, также и наоборот.
Главная идея в том, что не нужно два раза регистрироваться (отдельно в Drupal и отдельно в магазине) и входить два раза (сначала в Drupal, затем в магазин), а также два раза менять свои пользовательские данные.

Требования к версиям:
Drupal версии 5 или 6.
VaM Shop версии 1.41 и выше.

Скачать Drupal можно на официальном сайте: http://drupal.org/download
Скачать VaM Shop можно на официальном сайте: http://vamshop.ru/shop/shop_content.php/coID/12/product/Besplatnaja-demo...

Настройка состоит из двух частей:
Настройки VaM Shop
Настройка Drupal

Настройки VaM Shop

1. Скачайте модуль vamshop_api - http://vamshop.ru/sites/default/files/vamshop_api.zip
2. Переписывайте архив vamshop_api.zip в папку /admin/contributions.
3. В Админке - Модули - Установка модулей устанавливайте модуль vamshop_api.zip.

На этом настройка VaM Shop закончена, переходим к настройке Drupal.

Настройка Drupal

Предположим, что у нас есть сайт на Drupal - http://site.ru
Предположим, что у нас есть магазин на VaM Shop - http://site.ru/shop

Всё дальнейшие действия будут описываться исходя из данного предположения.

Теперь условия, которые должны быть выполнены обязательно, что б всё работало правильно:
1. Drupal и VaM Shop должны быть устновлены в одном домене (например site.ru и site.ru/shop).
2. При установке Drupal и магазина должны быть указаны одинаковые email адрес и пароль для входа в админку друпала и магазина.
3. Drupal и VaM Shop могут быть установлены в разные базы данных, не обязательно всё ставить в одну базу.

Итак, допустим, Вы установили Drupal и магазин.

1. Скачиваем модуль vamshop для друпал - http://vamshop.ru/sites/default/files/drupal-vamshop.zip
2. Переписываем папку vamshop из архива в папку друпала /sites/all/modules.
3. Если у Вас 6 версия друпала, убедитесь, что в файле /sites/all/modules/vamshop/vamshop.module в константе VAMSHOP_DRUPAL_MODULE_VERSION указано 6 (если у Вас друпал 5 версии, поменяйте значение на 5).
4. Теперь нам нужно установить модуль vamshop в друпале, но перед этим откройте в браузере магазин, зайдите (авторизуйтесь) как администратор магазина, т.е. укажите email/пароль справа, в боксе вход.
5. Заходите в админку друпала - модули (/admin/build/modules), устанавливайте модуль vamshop.
6. Заходите в настройки модуля vamshop (/admin/settings/vamshop).
7. В опциях VaM Shop shop root path: и Path to VaM Shop api file: укажите абсолютный (полный) путь до магазина, например /home/site.ru/www/vamshop/.
8. В опции Select master registration system укажите Drupal master.
9. Убедитесь, что у Вас открыт в браузере магазин и Вы авторизованы как админ.
10. Нажмийте в друпале, на странице настроек модуля vamshop кнопку Save configuration.
11. Затем смотрите на странице настроек модуля vamshop в друпале сверху сообщения, если все сообщения зелёные (Successfully), значит всё нормально, Вы всё установили и всё правильно настроили.
Если выводится ошибка - You are not authenticated in VaM Shop now.
или похожая в последней строке. Попробуйте вернуться к магазину, нажать выход и зайти ещё раз в магазин под администраторским паролем.
Затем вернитесь на страницу настроек модуля vamshop в друпале, должно быть зелёное сообщение типа - Successfully authenticated VaM Shop user: vam@test.ru.

12. В настройках блоков, после установки модуля vamshop появится блок VaM Shop: Hidden authentication.
Если вы прошли успешно тест аутентификации в настройках модуля, включите его.

Для настройки синхронизации общих полей пользовательской информации вам надо создать необходимые поля в настройках модуля Профиль.
Имена полей по умолчанию вы можете посмотреть в настройках модуля vamshop. Вы можете изменить их, если у вас уже есть поля с другими именами.

13. Как проверить, работает ли интеграция?!

Выйдите из друпала и магазина (logout).
Зарегистрируйте новый логин в друпале /user/register и зайдите под этим логином.

Теперь просто в браузере откройте магазин http://site.ru/shop, если всё сделано правильно, в магазине Вы тоже будете авторизованы, т.е. сверху будет закладка Выход, это значит что Вы вошли в магазин под своим паролем.

14. Затем откройте конфиг файлы магазина VaM Shop, т.е. файлы:
/includes/configure.php
/admin/includes/configure.php

и в константе DIR_FS_SITE_ROOT укажите абсолютный (полный) путь до корневой папки друпала, примерно так (у Вас конечно свой путь будет):

  1. define('DIR_FS_SITE_ROOT','/home/user/public_html/');

На этом всё!

Предупреждения:

Интеграция Drupal и VaM Shop опробована на нескольких рабочих сайтах Drupal + VaM Shop, т.е. код вполне опробованный и работоспособный.
Однако, нельзя дать никаких гарантий, что на вашем конкретном хостинге и ваших конкретных настройках и действих ваша установка будет работоспособна, а ее работа будет соответствовать вашим ожиданиям.
Вы делаете всё на свой страх и риск, перед любыми манипуляциями делайте резервные копии файлов и базы данных.
Мы рекомендуем вам устанвить модули на тестовой машине и убедиться в их работоспособности, и только потом использовать всё на рабочем сайте.

Все вопросы Вы можете задать на форуме http://vamshop.ru/forum/index.php?topic=1195 или на http://vgb.org.ru

Если у Вас не получается всё настроить самостоятельно, а наши подсказки на форуме Вам не помогают, или вы хототе получить гарантированный результат и техническую поддержку, Вы можете обратиться к платной услуге по установке и настройке модуля интеграции VaM Shop и Drupal.

Заказать данную услугу можно в интернет-магазине http://vgb.org.ru/shop

Оригинал

Drupal на Webware 100 Awards 2008

вторник, 1 апреля 2008 г.

Drupal пробился в финальную часть соревнования Webware 100 Awards, в рамках которого народным голосованием определяется сотня самых-самых веб-два-нольных сервисов и приложений.

Drupal выступает в категории «Publishing & Photography», любой желающий может за него проголосовать, правда в вашем распоряжении останутся ещё два голоса, которые отдать можно и за других претендентов.

Год назад Drupal уже выигрывал. Надо бы поддержать традицию.

По материалам habrahabr

Вышел Drupal 6.0

среда, 13 февраля 2008 г.

Краткое описание новых возможностей:

Нововведения интерфейса:
* Улучшена процедура установки
* Создание контента сразу на нескольких языках
* Улучшена языковая поддержка

Новые системные модули:
* Модули Actions и triggers добавлены в поставку CMS
* Поддержка OpenID
* Новый интерфейс обновления модулей

Стилизация:
* Окончательное разделение CSS от кода
* Новый модуль для разработки новых стилей
* Обновлён используемый JQuery до 1.2.3

Безопасность:
* Предупреждения о системных обновлениях
* Проверка сложности пароля при регистрации
* Улучшенная система пользовательских привилегий и доступов

Оптимизация:
* Optimized code
* Scalability options
* Better file handling
* Extended logging
* Scripting from the command line

Разное:
* Улучшен модуль голосовании
* Новые возможности в модуле форума
* Оповещения о новых событиях через e-mail
* Персонализация вывода даты и времени
* Добавлена возможность стилизации пользовательских подписей
* Улучшена визуализация анонимных комментариев

Полный список нововведений

Жду когда модули портируют - побыстрее бы :)

Вертикальные жалюзи - купить

суббота, 9 февраля 2008 г.

Между прочим - полезная реклама жалюзи :)

Заметка: картинки не отображаются на сайте под управлением Drupal

Небольшая заметка об отображении картинок на сайте под управлением CMS Drupal.

Возможная проблема: картинки не отображаются на сайте под управлением Drupal.

После загрузки картинки и её вставки в код добавляемой публикации следует удостовериться, что форматах ввода активирован пункт Full HTML, иначе картинки просто не будут отображаться.

Устанавливаем WYSIWYG редактор в Drupal

Более всего из рассмотренных плагинов WYSIWYG редакторов мне приглянулся FCKeditor.

Первым делом скачиваем сам плагин по вышеуказанной ссылке, после чего с официального сайта загружаем и сам редактор.

Плагин распаковываем в дирректорию /modules а сам редактор в дирректорию /modules/fckeditor/fckeditor ( все файлы должны быть распакованы на одном уровне с файлом COPY_HERE.txt ).

Далее рассмотрим последовательность действий, после выполнении которой появится возможность загрузки картинок непосредственно с помощью только что установленного WYSIWYG редактора:

Во-первых, имеется возможность воспользоваться встроенным менеджером файлов в FCKeditor, для этого в конфигурационном файле /modules/fckeditor/fckeditor/editor/filemanager/connectors/php/config.php включить данную возможность

$Config['Enabled'] = true ;

После этого следует через панель администрирования настроить профили редактора.

Альтернативный и более удобный вариант загрузки картинок в Drupal - с помощью плагина IMCE. В настройках данного плагина следует включить поддержку редактора FCKeditor, после чего все заработает (так же следует убедиться что в шаблоне страницы до тега body присутствует php код с содержанием: print $closure ).

Drupal и nginx - увеличиваем производительность

среда, 30 января 2008 г.

Раз уж взялся за изучение Drupal, то решил в самом начале рассмотреть вопросы, связанные с оптимизацией этой мощной CMS.

Пролистав форум на drupal.ru наткнулся на многочисленные отзывы, суть которых состояла в том, что Drupal сильно тормозит, причем даже сразу после установки. Что уж говорить о дальнейшем расширении, использовании многочисленных модулей и различных наворотов.

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

Выбор хостинга под Друпал - весьма проблемное занятие. Из того, что можно посоветовать - Мастерхост с своими заоблачными ценами и nic.ru. При выборе хостинга следует ориентироваться на тарифные планы, которые соответствуют техническим требованиям CMS «Битрикс: Управление сайтом» - данная система очень широко распространена и многие хостинг-компании дополнительно указывают возможность работы этой cms на различных тарифных планах ( например, так делает вышеупомянутый Мастерхост ).

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

Ознакомившись с множеством записей в блогах и форумных топиках, пришел к выводу, что для моих целей лучше всего подойдет не стандартная связка apache + php + mysql, а разработанный Игорем Сысоевым веб-сервер Nginx + fastcgi

Ссылки по теме:
Официальная страничка Nginx
Информационный портал о Nginx
Примеры конфигурации Nginx
Немного информации о Fastcgi

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

Для запуска PHP как FastCGI сервера откопал два способа:
  1. Использование встроенной утилиты в веб-сервер lighttpd ( spawn-fcgi )
  2. Установка поверх PHP патча php-fpm (страничка проекта)
Я воспользовался первым вариантом, так как немного ранее тестировал веб-сервер lighttpd. Ознакомиться с данным методом можно на официальном сайте проекта.

Теперь уже установлена связка Nginx + FastCGI и следует все хорошо настроить :) Nginx - отлично настраиваемый веб-сервер, параметры настройки хорошо документированы на официальном сайте (см. ссылку выше по тексту).

Но одного лишь списка документированных возможностей не достаточно. Чтобы указать серверу где располагается дирректория сайта, настроить ЧПУ в Drupal (точнее, rewrite на самом веб-сервере) и подгрузку статичной инфорации пришлось облазить весь интернет. Поэтому выкладываю ссылки на наиболее грамотно написанные статьи:
После прочтения этих и многих других мануалов и статей решил вынести конфигурацию хостов в отдельные файлы. Для этого в основном конфигурационном файле Nginx следует прописать:
include vhost/*.conf;
Где vhost - дирректория с конфигурационными файлами каждого из хостов (расположение дирректории указано относительно расположения конфигурационного файла).

На данный момент рабочая, но не сильно настроенная конфигурация Nginx у меня выглядит следующим образом:
user someone;
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
server_names_hash_bucket_size 128;
sendfile on;
keepalive_timeout 20;
tcp_nodelay on;
#gzip on;
#log_format main '$remote_addr - $remote_user [$time_local] $request '
# '"$status" $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"';
#access_log logs/access.log main;
#tcp_nopush on;
#keepalive_timeout 0;
include vhost/*.conf;
}

Расположение mime.types у вас может быть другим.

Файлы vhost/*.conf содержат в себе конфигурацию хостов. Для Drupal у меня вышел примерно следующий конфиг, поддерживающий ЧПУ и адекватно работающий с загрузкой статической информации (картинки, стили и тд):
##### sitename.tld #####

server {
listen 80;
server_name
sitename.tld www.sitename.tld;
#charset koi8-r;
#access_log logs/host.access.log main;
sendfile on;
keepalive_timeout 65;

location / {
root
* путь до дирректории с файлами Drupal, наприме /var/www/site1/htdocs *;
index index.php index.html index.htm;
if (!-e $request_filename ) {
rewrite ^/(.*)$ /index.php?q=$1;
}
}

error_page 404 /index.php;
# serve static files directly

location ~* ^.+.(jpg|jpeg|gif|css|png|js|ico)$ {
root
* путь до дирректории с файлами Drupal, наприме /var/www/site1/htdocs *;
access_log off;
expires 30d;
}

# redirect server error pages to the static page /50x.html
#
#error_page 500 502 503 504 /50x.html;

#location = /50x.html {
# root html;
#}

location ~ \.php$ {
fastcgi_pass 127.0.0.1:8888;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME
* путь до дирректории с файлами Drupal, наприме /var/www/site1/htdocs *$fastcgi_script_name;
fastcgi_param QUERY_STRING $query_string;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;

# вставка #
fastcgi_param REMOTE_ADDR $remote_addr;
#fastcgi_param PATH_TRANSLATED $fastcgi_path_translated;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
fastcgi_param REQUEST_URI $request_uri;
fastcgi_param DOCUMENT_URI $document_uri;
fastcgi_param DOCUMENT_ROOT $document_root;
fastcgi_param SERVER_PROTOCOL $server_protocol;
fastcgi_param GATEWAY_INTERFACE CGI/1.1;
fastcgi_param REMOTE_PORT $remote_port;
fastcgi_param SERVER_ADDR $server_addr;
fastcgi_param SERVER_PORT $server_port;
fastcgi_param SERVER_NAME $server_name;
}

}
##### sitename.tld #####

С этой настройкой на данный момент все работает, причем достаточно шустро. Скрипты работают заметно шустрее, чем ранее они работали на связке apache + php + mysql. Вы видите, что в конфигурационных файлах присутствует много закомментированных строк - с ними ещё предстоит разбираться для более детальной оптимизации.

PS Так же поставил Eaccelerator - свободно-распространяемый PHP акселератор, оптимайзер и средство для кеширования динамического контента. Он увеличивает производительность PHP скриптов за счет их кеширования в скомпилированном состоянии, тем самым предотвращая их постоянную перекомпиляцию. В результате происходит увеличение скорости их выполнения. eAccelerator обычно уменьшает нагрузку на сервер и увеличивает скорость исполнения PHP кода на величину от 1 до 10 раз.

Информация об установке Eaccelerator присутвует в сети, но на данный момент она не доступна. Поэтом публикую её здесь для сохранения. Ссылка на источник: http://dedicatesupport.com (который как раз на данный момент не работает )

Итак приступим.

Выбираем последнюю версию. На данный момент последней версией является 0.9.5.2. Скачиваем и распаковываем ее.

cd /usr/local/src
wget http://bart.eaccelerator.net/source/0.9.5.2/eaccelerator-0.9.5.2.tar.bz2
bzip2 -d eaccelerator-0.9.5.2.tar.bz2
tar xvf eaccelerator-0.9.5.2.tar
cd eaccelerator-0.9.5.2

Далее необходимо проверить есть ли в нашей системе необходимые для создания модуля php пакеты.
Нам нужны:

  • apache >= 1.3,
  • mod_php >= 4.1,
  • autoconf,
  • automake,
  • libtool,
  • m4

Если производилась установка веб сервера, и php из пакетов то нам необходимо установить еще и модуль php-devel. Именно в нем находится необходимая нам программа phpize, с помощью которой и происходит компиляция модулей для php.

yum install php-devel

Далее выясняем местоположение файла phpize с помощью команды:

whereis phpize

И смотрим путь до файла. Обычно это /usr/bin/phpize.
В таком случае для компиляции модуля выполняем следующие действия:

export PHP_PREFIX="/usr"
$PHP_PREFIX/bin/phpize
./configure \
--enable-eaccelerator=shared \
--with-php-config=$PHP_PREFIX/bin/php-config
make
make install

Далее находим файл php.ini (обычно он находится в /etc/php.ini) и прописываем в нем следующие строки:

extension="eaccelerator.so"
eaccelerator.shm_size="16"
eaccelerator.cache_dir="/tmp/eaccelerator"
eaccelerator.enable="1"
eaccelerator.optimizer="1"
eaccelerator.check_mtime="1"
eaccelerator.debug="0"
eaccelerator.filter=""
eaccelerator.shm_max="0"
eaccelerator.shm_ttl="0"
eaccelerator.shm_prune_period="0"
eaccelerator.shm_only="0"
eaccelerator.compress="1"
eaccelerator.compress_level="9"

Это для варианта использования eAccelerator как расширения php. Я использую такой подход. Есть еще вариант использования eAccelerator как расширения Zend. В таком случае прописать нужно следующие строки:

zend_extension="/usr/lib/php4/eaccelerator.so"
eaccelerator.shm_size="16"
eaccelerator.cache_dir="/tmp/eaccelerator"
eaccelerator.enable="1"
eaccelerator.optimizer="1"
eaccelerator.check_mtime="1"
eaccelerator.debug="0"
eaccelerator.filter=""
eaccelerator.shm_max="0"
eaccelerator.shm_ttl="0"
eaccelerator.shm_prune_period="0"
eaccelerator.shm_only="0"
eaccelerator.compress="1"
eaccelerator.compress_level="9"

Далее настал черед создания каталога, котрый будет использовать eaccelerator для хранения своего кеша:

mkdir /tmp/eaccelerator
chmod 0777 /tmp/eaccelerator

Далее перезапускаем наш апач:

service httpd restart

Упорядоченный список записей блоком

понедельник, 28 января 2008 г.

Для кастомизации вывода контента в Drupal используется модуль Views.

Первое, что осилил - это вывод титлов записей в виде блока в различных частях сайта, упорядоченных по какому-либо параметру (например, по дате создания).

Что для этого следует сделать? А на самом деле все просто до безумия!

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

Так как хотим видеть листинг записей в виде блока, то пропускаем раздел "Страница" и приступаем к настройке "Блок". Включаем сам блок, выбрав опцию "Provide Block", после чего выбираем режим отображения информации (например, в виде списка).

В разделе Fields выбираем Node: Title (я вначале сказал, что выводить будем именно титлы записей).

В разделе Filter можно отфильтровать выводимые записи (например, по дате или по типу записи).

Ну и наконец - Sort Criteria. В данном разделе указывается параметр, по которому будут сортироваться записи.

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

Это, пожалуй, первая более-менее полезная запись в этом блоге :)

Ещё раз о таксономии в Drupal

В этом сообщении уже опубликовано видео о базовых понятиях, связанных с таксономией в CMS Drupal. Но я хотел бы сделать дополнительную заметку об этой замечательной штуке.

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

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

Иерархия у словарей может отсутствовать, а может быть и многоуровнвой (множественной) или одноуровневой (одиночной). Порядок вложений категорий определяется их весом (устанавливается при добавлении или редактировании).

ЧПУ в Drupal

После первоначальной настройки Друпала решил придать ему более человеческий вид. В буквальном смысле :)

Что такое ЧПУ? ( разъяснения с Wikipedia ):

ЧПУ — термин, принятый среди веб-разработчиков для обозначения WWW—адресов, удобных для восприятия человеком (а также систем и методов построения таких адресов), является аббревиатурой от словосочетания «Человеку Понятный Урл» («урл» — жаргонное для URL).

На примере это объяснить достаточно просто. ЧПУ применяется для преобразования ссылок на сайте. Так, из ссылки вида http://www.сайт.ru/?q=node/1 можно получить ссылку вида http://www.сайт.ru/?q=article. Это делается с помощью предустановленного модуля path.

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

Немного почитав в интернете материала на эту тему, нашел прекрасный модуль pathauto, суть которого в том же, но pathauto сам генерирует адреса ссылок на основе заголовка публикуемого сообщения. При генерации можно воспользоваться встроенной возможностью транслитерации. Для этого следует в настройках модуля включить соответствующую опцию - она будет доступна после того, как файл i18n-ascii.example.txt в дирректории /modules/pathauto будет переименован в i18n-ascii.txt. Настроек в модуле pathauto великое множество, но все они понятны, поэтому расписывать смысла не вижу.

При конфигурации pathauto предлагается проверить возможность работы ЧПУ по специальной ссылке. У меня выползла ошибка, поэтому пришлось в файл конфигурации apache внести некоторые изменения, а именно - дописать опцию AllowOverride All.

Для работы pathauto так же потребуется модуль token и встроенный path.

Установка, первоначальная настройка Drupal

Итак, первоначальная установка и настройка Drupal. В общем-то писать нечего, все уже написано. Более того - есть видеоматериалы с сайта Друпал Беларусь, их и приведу здесь:

Инсталляция Drupal:



Локализация Drupal:


Я не стал сильно заморачиваться и загрузил перевод в виде единого файла. Гурманы могут загружать файлы перевода для отдельных модулей движка.

Создание контента в Drupal:


Создание контента я пока отложил на будущее.

Кратко о таксономии в Друпал:



Комментарии в Drupal:

Как будут выглядеть посты

Уже писал о том, что в данном блоге буду выкладывать свои заметки об изучении CMS Drupal.

В каком виде это будет? Это не отдельный сайт. Более того, это не "self-hosted" блог, поэтому заведомо тонко продуманной иерархии постов и мощной юзабилити ожидать не стоит, буду писать сообщения, используя теги, включу поиск по сайту и должно выйти более-менее читаемо.

Первая заметка о Друпале

Поставил цель - освоить Drupal до уровня, достаточного для создания функционального сайта с пользовательскими блогами, пользовательскими галереями, магазином и ещё с большой кучей всего прочего :)

Это первая запись об этой CMS, носит она весьма-таки обзорный характер - первые заметки и впечатления о Друпале, а так же лог действий, чтобы не забыться - система достаточно сложная для новичков :))

Выбрал Drupal не просто так - будучи приверженцем open-source технологий, используя на домашней машине gentoo linux и широкий спектр open-source продуктов, обратил внимание на данный проект, распространяющийся под лицензией GPL. Множество высококвалифицированных разработчиков по всему миру участсвуют в становлении данного продукта.

К сожалению в русскоязычном секторе интернета данная CMS не так уж и сильно распространена, а в русском сообществе не так уж и много действительно полезной информации ( по-моему, объем информации не сравним с хранилищами знаний той же Jooml'ы или Wordpress ).

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

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

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

Установив e-commerce и ничего в нем не разобрав толком, решил правым глазом посмотреть на ubercart. Данный модуль установился без особых проблем и для меня он оказался намного понятнее, чем вышеупомянутый e-commerce. При помощи связки плагинов IMCE (для загрузки картинок через веб-интерфейс), Thickbox (красивый JS просмотр картинок), Imagecache (думаю тут из названия ясно, для чего плагин), CCK (Content Construction Kit - тут тоже, думаю, примерно ясно для чего служит модуль) удалось вывести на главной некое подобие интернет-магазина. Пока не буду описывать все в деталях - сам не разобрался ещё полностью.

Для кастомизации вывода контента в Друпале используется модуль Viewes, но детально с ним пока не разбирался, поэтому расписывать не буду.

В связи с тем, что привык настраивать вывод контента сайта через шаблоны ( в сайтах под управлением Wordpress ), данное обстоятельство весьма озадачило, и я не сразу нашел как кастомизировать вывод информации :)

На этом завершу первую заметку о Друпале и буду продолжать копаться в нем!

Вы пользуетесь Drupal?