Ромка!eu

  • Отдых
  • Работа
  • Штуки-дрюки
Главная — Блоги — Ромка's blog

Разработка сайта на Drupal. Часть 3. Модули Drupal.

  • Просмотреть
  • Голоса

Ромка — Вс, 01/03/2010 - 02:44

131
points

Кроме программных интерфейсов, в Drupal имеется несколько мощных модулей, благодаря которым даже без навыков программирования можно создавать проекты с довольно сложной структурой:

  • CCK — Content Construction Kit, визуальный редактор, позволяющий расширить любой тип контента с помощью любого количества дополнительный полей: картинки, файлы, видео-ролики с бесплатных видео-хостингов, ссылки на внешние и внутренние ресурсы и так далее. С технической точки зрения этот модуль представляет собой визуальный редактор для Node API, о котором уже говорилось.
  • Views — инструмент, позволяющий создавать списки документов, отфильтрованные по большому количеству различных параметров, например, по рейтингу, автору, дате публикации или последнего комментария, наличию или отсутствию определенных тэгов и другим параметрам. Фактически, этот модуль является графическим интерфейсом, с помощью которого пользователь создает сложный SQL-запрос к базе данных.
  • Panels — модуль, позволяющий без знания html, создать страницы разделенные на районы, данные для которых будут предоставляться различными модулями Друпала. Этот модуль, обычно, используется для создания главной страницы сайта, на которой выводятся блоки с последними новостями, форумными обсуждениями, комментариями и так далее.
  • Webforms — визуальный интерфейс для создания форм обратной связи и обработки данных, переданных через эти формы.
  • Еще один важный модуль — ImageCache. Он обеспечивает функции автоматической обработки изображений на основе пользовательских сценариев правил обработки (preset). Например, при публикации документа на сайте можно настроить ImageCache таким образом, чтобы сразу изменить масштаб картинки, вырезать фрагмент нужного размера, изменить палитру, повернуть и т. п. Иными словами, из одной картинки автоматически могут быть получены, например, пиктограмма, миниатюра для предварительного просмотра и полноразмерное изображение. Все эти модули интегрированы с системой темизации Drupal и позволяют изменять внешний вид создаваемых ими документов и списков.

Модуль Ubercart как основа Интернет-магазина

На базе платформы Drupal разработано два конкурирующих решения, позволяющих организовать полномасштабный электронный магазин — модули e-Commerce и Ubercart. Оба модуля в базовой поставке обладают широкой функциональностью и предоставляют разработчикам мощный и детально документированный API, построенный на основе традиционной для Drupal системы хуков. Для обоих магазинов разработано большое количество дополнительных модулей, в том числе для интеграции с платежными системами. С точки зрения функций Ubercart и e-Commerce очень похожи, но первый имеет репутацию значительно более простого и удобного в пользовании.

В Ubercart реализованы интерфейс покупателя и администратора (менеджера) магазина. Первый включает в себя витрину и корзину для покупок, второй обеспечивает управление товарами и их атрибутами, а также управление магазином в целом.

Витрина магазина, по сути, представляет собой каталог, элементы которого упорядочены в виде сетки, каждый элемент может содержать название, изображение и краткое описание раздела или товара с ссылкой на карточку товара. (Благодаря интеграции с модулем CCK карточка товара может быть дополнена пользовательскими полями.) Очень удобная особенность: атрибуты товара могут влиять на его цену, что позволяет избавиться от необходимости создавать однотипные товары с разными параметрами. Например, для упаковки чипсов можно создать атрибут «вес» со значениями 50, 100 и 200 г и атрибут «вкус» со значениями «сыр», «бекон» и «лук». Таким образом, одна карточка товара будет использована для продажи девяти разных по своим характеристикам продуктов. Кроме того, каждый товар может содержать информацию о габаритах и весе, эти данные можно учитывать при расчете стоимости доставки.

Модуль Ubercart предоставляет возможность подключения субмодулей, например, реализующих различные алгоритмы начисления скидок. (При этом скидка может зависеть от выбранного товара или класса товара, общей суммы заказа, роли пользователя или привязки продукта к заданной категории классификатора.) Товары могут объединяться в группы (Product Kit) — допустим, в онлайновом фотомагазине можно дать покупателям возможность купить отдельно фотоаппарат и отдельно объектив для него, а можно оба товара продавать в комплекте (у посетителя будет возможность купить товары группы одним кликом, а менеджер сможет задать отдельную скидку для такой групповой покупки).

Корзина Ubercart по умолчанию предоставляет возможность оплатить товар наличными курьеру (метод доставки COD — Cash on Delivery) или воспользоваться одной из зарубежных платежных систем, но с помощью дополнительных модулей может быть интегрирована с большим количеством других систем приема платежей, в том числе с Webmoney и «Яндекс.Деньги».

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

Drupal: практические примеры

Как использовать возможности Drupal на практике? Рассмотрим несколько примеров, для сборки которых требуются только существующие модули Drupal и не требуется знания языков программирования. Многие приведенные в примере задачи (и соответственно решения) можно рассматривать как типовые, так что они могут пригодиться для сайтов самого разного типа.

Полнофункциональные, настроенные и готовые к работе версии сайтов, речь о которых идет в этом разделе, можно найти на компакт-диске, прилагаемом к журналу PC Magazine/RE 12/2008 (вместе с системными модулями пакета Denwer), а также в Интернете по адресам http://2start.ru и http://shvabrashvabr.ru. Примеры идут в комплекте с пакетом Denwer, поэтому вам не нужно заботиться об установке и настройке Web-сервера, СУБД и PHP, достаточно запустить инсталлятор и следовать инструкциям. После инсталляции и запуска Denwer (мы бы рекомендовали экспериментировать на виртуальной машине) станут доступны два сайта, сборка которых описана в этой статье, — http://shvabrashvabr.lc и http://intranet.lc. Имя пользователя/пароль администратора каждого из сайтов — admin/1111.

Ссылки на другие части этой статьи:

  • Часть 1. Введение
  • Часть 2. Архитектура Друпала
  • Часть 3. Модули Drupal
  • Часть 4. Интранет-сайт на Друпале
  • Часть 5. Социальная сеть на Друпале
  • Часть 6. Оптимизация Друпал

Содержание всех статей: http://romka.eu/blog/my-drupal-articles

  • Drupal
  • модуль
  • статья
  • Ромка's blog
  • Quote

А ха ха аха ха

Владимир (не проверено) → Вс, 01/17/2010 - 02:55

http://2start.ru/worker/8

Бэтман Алла Сидоровна )))) Вот это отжиг :)

Спасибо за статьи - очень полезные для разработчика и спасибо за юмор :)

  • ответить
  • quote
  • -2 points

Вода

Anonymous (не проверено) → Пнд, 01/18/2010 - 20:27

Вода

  • ответить
  • quote
  • -6 points

Про модули в точку

Наталья (не проверено) → Вс, 05/16/2010 - 14:24

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

  • ответить
  • quote
  • -4 points

Здравствуйте! У меня

Arto (не проверено) → Ср, 07/14/2010 - 17:30

Здравствуйте!

У меня маленький вопрос по описанию. У вас написано:

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

Собственно, вопрос по краткому описанию. Мне нужно было сделать как раз, что бы в сетке товаров, помимо названия, цены, артикула, картинки и корзины было еще и краткое описание. Но никакими способами это сделать не удалось. Может быть Вы сможете подсказать ка кэто сделать?

  • ответить
  • quote
  • -4 points

Drupal+ ImageCache.

Алексей (не проверено) → Чт, 08/19/2010 - 22:20

Уважаемый автор.

Ещё сегодня я посмотрел первый видеоурок на русском языке и уже очень много для себя узнал.
Вот возник вопрос что такой ImageCache и с чес его едят.

Стандартный добрый старый денвер работает без проблем, а когда попытался использовать ImageCache на своём хостинге II6 MS WinServ 2003 - возникли проблемы.
Пожалуйста расскажить про ImageCache подробнее.

  • ответить
  • quote
  • -1 points

Отправить комментарий

Содержание этого поля является приватным и не предназначено к показу.
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Доступны HTML теги: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Строки и параграфы переносятся автоматически.
  • Вы можете использовать тэг <code></code> для подсветки синтаксиса программного кода. The supported tag styles are: <foo>, [foo].
  • You may quote other posts using [quote] tags.

Подробнее о форматировании

CAPTCHA
Если вы человек, а не робот, то введите текст с картинки. Если вы робот, то велкам ту майкрософт.ком.
Image CAPTCHA
Enter the characters shown in the image.

Обо мне

Всем привет!
Меня зовут
Роман Архаров, я профессиональный веб-разработчик, программирую на языках PHP, Python и Action-Script, в работе использую фреймворки Drupal и Django. В этом блоге я размещаю заметки и статьи, связанные с моей работой, отдыхом и другими интересными мне темами.

Похожие заметки

  • Несколько статей о Друпале
  • Swftools и модуль Pdf2SWfField для Друпала
  • Разработка модуля для Drupal. Часть2
  • Разработка модуля для Drupal. Часть1. Введение
  • Пример разработки плагина для модуля CCK

Популярные заметки

  • AJAX. Обмен данными между клиентом и сервером, закачка на сервер файлов без перезагрузки страницы при помощи библиотеки jQuery.
  • Темизация Drupal. Часть 2. Анатомия темы оформления Drupal
  • Темизация Drupal. Часть 4. Темизация Views
  • Темизация Drupal. Часть 1
  • Несколько статей о Друпале
  • Тестирование модуля "Inner poll"
  • Разработка сайта на Drupal. Часть 3. Модули Drupal.
  • Автоматическая "газетная" верстка (верстка в несколько колонок)
  • Разработка сайта на Drupal. Часть 2. Архитектура Drupal.
  • Backup-manager — настройка резервного копирования Linux-сервера на Amazon S3 за 5 минут

Подписка


Последние комментарии

  • Артем → Темизация Drupal. Часть 4. Темизация Views → Спасибо большое!
  • Anonymous → Темизация Drupal. Часть 2. Анатомия темы оформления Drupal → Большое спасибо автору за
  • Yor Ik → Авторизация на Drupal-сайте с помощью аккаунта вКонтакте → при входе на сайте
  • Химик → Home sheep home → Игра просто поглатитель времени
  • Artu → Темизация Drupal. Часть 4. Темизация Views → Спасибо,
  • icemen → Разработка модуля для Drupal. Часть2 → Благодарности
  • Федор → Проверка имени пользователя на наличие букв из разных алфавитов → . . . . . . . . . . . . . . .
  • oZEROth2008 → Авторизация на Drupal-сайте с помощью аккаунта вКонтакте → ответьте на мой вопрос
  • witalikm → Drupal for Firebug → После вашего совета пробовал
  • Shu → Drupal for Firebug → F12

Новые заметки

  • Авторизация на Drupal-сайте с помощью аккаунта ВКонтакте
  • Home sheep home
  • Backup-manager — настройка резервного копирования Linux-сервера на Amazon S3 за 5 минут
  • Зима 2010. Поездка в Тайланд, Индонезию и Сингапур. Часть 3 — Бали, Сингапур, Пхукет
  • Зима 2010. Поездка в Тайланд, Индонезию и Сингапур. Часть 2 — Джокьякарта
  • Зима 2010. Поездка в Тайланд, Индонезию и Сингапур. Часть 1 — Пхукет и Джакарта
  • Шпаргалка по командам и хоткеям Unix
  • Семинар по хапкидо в Днепропетровске
  • О планах
  • Несколько статей о Друпале

Тэги

dckyiev09 Drupal jquery Индонезия Отдых Работа Штуки-дрюки зима зима 2010 модуль статья темизация
еще тэги

Вход для пользователей

Что такое OpenID?
  • Войти по OpenID
  • Скрыть вход по OpenID
  • Зарегистрироваться
  • Запросить новый пароль

Навигация

  • Exchange rate
  • Vote up/down
  • Переход по внешней ссылке
  • Последние сообщения
  • Фотогалереи

Курсы валют

  • 100 Казахских тенге — 20,8329 (-0.09)
  • 10 Украинских гривен — 38,8969 (-0.14)
  • 10 Китайских юаней — 45,0421 (-0.17)
  • 100 Японских иен — 36,4634 (-0.11)
  • 1 Доллар США — 30,6858 (-0.11)
  • 1 Евро — 39,2901 (+0.12)
  • 1000 Белорусских рублей — 10,1743 (-0.04)
  • 1 Турецкая лира — 20,2279 (0)

10 случайных заметок

  • Запустил на сайте новый небольшой сервис "тИЦ и PR одной кнопкой"
  • Семинар "Управление сайтом с помощью CMS Drupal"
  • Темизация Drupal. Часть 3. Основы Drupal Forms API и темизация форм
  • Темизация Drupal. Часть 4. Темизация Views
  • Осло
  • Май 2006. Сочи, Адлер, Геленджик, Анапа, Керчь, Судак, Ялта, Севастополь.
  • Разработка модуля для Drupal. Часть3. Cron и темизация
  • Проверка имени пользователя на наличие букв из разных алфавитов
  • Google Developer Day 2009
  • Тестирование модуля "Inner poll"

Случайные фото

Замок Акерхус вечером
Автописта
Я и мой автопарк :))
Копенгаген, Кристиания, Граффити 4
Я и бамбук
В Сингапурском зоопарке. Леопардовая (бенгальская) кошка.
Вид на Осло из замка Акерхус
Эль перро
Норвегия, Нордсетер
Я и разноцветные рыбы
Здание замка Акерхус
Тринидад. Лошадка держит домик
Закат в Гаване
В Сингапурском зоопарке. Будда?
Я с местным рональдом
Еще одно фото резиденции короля
  • Отдых
  • Работа
  • Штуки-дрюки

При использовании материалов с сайта, пожалуйста, ставьте ссылку на источник. E-mail для связи: mne@romka.eu.