Ромка!eu

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

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

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

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

61
point

Кроме программных интерфейсов, в 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
  • -4 points

Вода

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

Вода

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

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

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

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

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

Обо мне

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

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

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

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

  • AJAX. Обмен данными между клиентом и сервером, закачка на сервер файлов без перезагрузки страницы при помощи библиотеки jQuery.
  • Разработка сайта на Drupal. Часть 4. Пример разработки корпоративного интранет-сайта на Drupal
  • Темизация Drupal. Часть 1
  • Темизация Drupal. Часть 2. Анатомия темы оформления Drupal
  • Разработка сайта на Drupal. Часть 5. Социальная сеть на Друпале
  • Разработка сайта на Drupal. Часть 3. Модули Drupal.
  • Темизация Drupal. Часть 3. Основы Drupal Forms API и темизация форм
  • Динамическое добавление элементов к форме
  • Разработка сайта на Drupal. Часть 2. Архитектура Drupal.
  • Разработка сайта на Drupal. Часть 6. Оптимизация Друпал

Подписка


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

  • Anonymous → Перетаскивание ячеек таблицы. Table drag and drop — плагин для jQuery → Спасибо за информацию
  • Гость → Знак → Явное плоскостопие
  • Anonymous → Swftools и модуль Pdf2SWfField для Друпала → Здравствуйте, Рома! Все
  • Всеволод → Разработка сайта на Drupal. Часть 4. Пример разработки корпоративного интранет-сайта на Drupal → Panels
  • vsevolod → Несколько статей о Друпале → Статьи
  • Looker → Swftools и модуль Pdf2SWfField для Друпала → Привет! Все вроде делаю
  • Feniksss89 → Динамическое добавление элементов к форме → Не получается.
  • Anonymous → Разработка сайта на Drupal. Часть 6. Оптимизация Друпал → У меня на одном из сайтов
  • Anonymous → Модуль "Курсы валют" для Drupal 6 → Модуль
  • Smith → Разработка сайта на Drupal. Часть 4. Пример разработки корпоративного интранет-сайта на Drupal → Thanks for giving out

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

  • Зима 2010. Поездка в Тайланд, Индонезию и Сингапур. Часть 3 — Бали, Сингапур, Пхукет
  • Зима 2010. Поездка в Тайланд, Индонезию и Сингапур. Часть 2 — Джокьякарта
  • Зима 2010. Поездка в Тайланд, Индонезию и Сингапур. Часть 1 — Пхукет и Джакарта
  • Шпаргалка по командам и хоткеям Unix
  • Семинар по хапкидо в Днепропетровске
  • О планах
  • Несколько статей о Друпале
  • Темизация Drupal. Часть 4. Темизация Views
  • Темизация Drupal. Часть 3. Основы Drupal Forms API и темизация форм
  • Темизация Drupal. Часть 2. Анатомия темы оформления Drupal

Тэги

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

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

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

Навигация

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

Курсы валют

  • 100 Казахских тенге — 20,1805 (-0.43)
  • 10 Украинских гривен — 37,2492 (-0.56)
  • 10 Китайских юаней — 43,5396 (-1.16)
  • 100 Японских иен — 32,9910 (-1.11)
  • 1 Доллар США — 29,7249 (-0.79)
  • 1 Евро — 40,3367 (-1.36)
  • 1000 Белорусских рублей — 10,0899 (-0.44)
  • 1 Турецкая лира — 19,2831 (-0.8)

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

  • Швабрашвабр2
  • Разработка сайта Drupal.ru
  • Модуль "Курсы валют" для Drupal 6
  • Статья в журнале PC Magazine
  • Перетаскивание строк таблицы. Table drag and drop — плагин для jQuery
  • Зима 2010. Поездка в Тайланд, Индонезию и Сингапур. Часть 0
  • Разработка сайта на Drupal. Часть 1. Введение.
  • Начинающий автор
  • Несколько статей о Друпале
  • Май 2006. Сочи, Адлер, Геленджик, Анапа, Керчь, Судак, Ялта, Севастополь.

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

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

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