Ромка!eu

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

Разработка сайта на Drupal. Часть 2. Архитектура Drupal.

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

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

293
points

Drupal построен по модульному принципу: компактный набор служебных функций (ядро), отвечающих за работу с СУБД, авторизацию, кэширование и пр. дополняется модулями, реализующими основную функциональность. Они обеспечивают обработку системных событий (авторизация пользователя, запись данных в БД, просмотр документа, поиск и т. д.), взаимодействие между модулями выполняется при помощи хуков (hooks) — определенным образом именованных функций. Описав хук в модуле, можно перехватить любое событие (например, сохранение записи) и запрограммировать свою логику его обработки. Благодаря такой системе программист может расширить возможности любого существующего модуля, не вмешиваясь в его исходный текст, а также создать свои собственные типы событий.

В ядре Drupal реализован набор функций (API) для работы со всеми необходимыми компонентами: СУБД, формами, кэшем, пользователями и их правами. Для взаимодействия с СУБД используется абстрактный интерфейс DB API, ядро Drupal оперирует ANSI-совместимым SQL для работы с БД, а структуры (таблицы) для БД определяются программистом в массивах специального вида. При этом преобразование определений таблиц и запросов под особенности конкретной СУБД (официально система Drupal совместима с MySQL и PostgreSQL) выполняется специальной библиотекой, и разработчику не приходится заботиться об особенностях работы СУБД. Определив собственную библиотеку функций, можно подключить другие СУБД, — например, существуют библиотеки для IBM DB2, Oracle и MSSQL.

Не менее важная часть Drupal — интерфейс обработки экранных форм (Forms API). С точки зрения разработчика, форма Drupal — это определенным образом подготовленный массив данных, содержащий информацию об элементах формы и их параметрах. На основе этого массива системные функции генерируют HTML-код. Такой подход позволяет модулям модифицировать одну и ту же форму, а также с помощью функций темизации менять оформление отдельных элементов. Разработчики модулей могут добавлять дополнительные поля (например, защиту от автоматических публикаций — CAPTCHA) или заменять существующие (заменить текстовое поле WYSIWYG-редактором).

По умолчанию Drupal предоставляет пользователю базовый тип материала с минимумом стандартных полей и атрибутов: заголовок, текст, автор и ряд служебных полей. Программный интерфейс Node API позволяет дополнять базовый тип новыми полями: ссылками, картинками, файлами, списками и др.

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

Еще один важный элемент архитектуры Drupal — система темизации, позволяющая, во-первых, отделить логику работы программных модулей от представления данных; во-вторых, гибко настроить внешний вид каждого выводимого на экран элемента. Чтобы изменить внешний вид сайта, необходимо или скачать готовую, или разработать собственную тему оформления — набор особым образом сформированных HTML-шаблонов, в которые интегрированы PHP-переменные с данными.

Важно отметить, что подсистема темизации Drupal не принуждает разработчика применять один тип шаблонов. Drupal позволяет задействовать различные «движки» шаблонов, на базе которых строятся темы оформления. Стандартом де-факто для тем оформления в Drupal стал механизм PHPtemplate, но можно также использовать Smarty, PHPTAL, Easy Template System и др.

Темы оформления позволяют создать каркас сайта, который будет наполнен данными, генерируемыми модулями. При разработке модулей программисты, придерживающиеся принятых в Drupal стандартов кодирования, выносят весь код, связанный с выводом данных на экран, в отдельные, именованные специальным образом функции. Такие функции — функции темизации, обычно не реализуют никакой логики, а лишь принимают набор данных и возвращают HTML-код. Эти функции могут быть переопределены в теме оформления: таким образом, не изменяя код исходного модуля, разработчик может настроить внешний вид для задач конкретного сайта.

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

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

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

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

Точка в конце заголовка не

Anonymous (не проверено) → Пнд, 01/04/2010 - 16:45

Точка в конце заголовка не ставится, т. к. заголовок предваряет, а не завершает изложение.

  • ответить
  • quote
  • 3 points

простые сети настройка

Anonymous (не проверено) → Ср, 02/17/2010 - 00:37

простые сети настройка интернета индия дельфины обыкновенный дельфин seropol5

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

кредити банки free fonts best

Anonymous (не проверено) → Сб, 03/13/2010 - 11:41

кредити банки free fonts best fonts only mercedes bmw seropol5

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

Где бы почитать про сам

Букмекер (не проверено) → Втр, 10/19/2010 - 14:16

Где бы почитать про сам механизм вызовава хуков?

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

Re: Это комментарий.Чтобы

Бобров Вячеслав → Сб, 02/12/2011 - 05:21

Это комментарий.Чтобы удалить или отредактировать его, авторизуйтесь с именем и паролем администратора (пользователя, создавшего сайт) и просмотрите комментарии. Там будут ссылки для удаления или изменения комментариев.

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

Re: А что было-то?

Меховщиков Руслана → Пт, 06/10/2011 - 01:56

А что было-то?

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

российское авторское право

citu (не проверено) → Ср, 08/10/2011 - 11:56

российское авторское право

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

Подвесные потолки Опосля

max2012 (не проверено) → Вс, 01/29/2012 - 16:32

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

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

Невозможно применять мойки высочайшего давления разве будто для мытья людей и животных. Ремесло в том, будто натиск воды совсем высок, и наверное имеет возможность нанести людям и животным травмы.
Дюбеля для дачного дома
Но вывод все-действительно имеется: сейчас на базаре в широком наборе представлены инновационные мойки высочайшего давления, которые разрешают практически из-за некоторое количество мин. и в отсутствии каждых заморочек умыть кар, при этом, никак не лишь кар - эти аппараты обширно и деятельно используются еще и для очищения конкретных уличных покрытий, тех ведь тротуаров, или плиточных, каменных дорожек, употребляются они и для мытья заборов, стенок, фасадов спостроек, садового инструментария, производственной техники.
Шпаклевки
Подчеркнем, будто в главном случае разрешено истратить немало медли, встав в пробку либо попав длинноватую очередность из жаждущих промыть собственного "стального жеребца", а независимая мойка - наверное постоянно надобность огромного численности медли, а вот итог далековато никак не постоянно выходит прогнозируемым.
Газобетонные блоки
бетон набирает прочность
При приобретении доп насадок рекомендовано испытать их сопоставимость с применяемым в труде установкой.
Ондулин

Ламинированная ДСП
декоративная отделка древесины
Не считая такого, влага полностью имеет возможность даваться из хоть какого участка, к примеру, из бассейна, или из водопроводного крана, либо из хоть какой емкости. Стоит отметить, будто, при данном, расход воды станет наиболее, нежели экономным. Влага идет сообразно шлангу, теснее находясь перед давлением.
Недостает практически никаких колебаний в том, будто кропотливая и постоянная очищение кара от загрязнений способна прирастить срок эксплуатации автотранспорта, следственно, высококачественная и верная мойка машинки – наверное совсем никак не великолепие, а исключительно реальная жизненная надобность. Вообщем, некие хозяева автотранспортных средств все еще улавливают мойку как досадную повинность, этак как данный процесс связан или с потребностью посещения автомойки, или с мытьем машинки собственными мощами, при поддержки воды и тряпки.
Мойка высочайшего давления предполагают собой никак не будто другое, как самый-самый обычнй насос, кой оборудован особым электрическим движком. Функционирование его, как разрешено просто додуматься из его наименования, осовано на том, будто влияние, сочиняющее распорядка 100-200 пивбар, гарантирует вероятность налаживать довольно мощный натиск воды.
Мойки обустроены особыми щетками цилиндрической формы, которые, в различие от обычных щеток дискового вида, различаются значительно наиболее высочайшими частотами собственного вращения, а еще высочайшими признаками давления. оказываемого на плоскость, коия подвергается отделке. Кроме щеток, в системы моек есть еще и разные насадки для конкретных видов засорения, одинаково как и для конкретных плоскостей, начиная с труднодоступных долей колеса, и завершая обыкновенными водопроводными трубами.
лак для паркета
Утеплитель Rockwool

  • ответить
  • 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
Если вы человек, а не робот, то введите текст с картинки. Если вы робот, то велкам ту майкрософт.ком.

Обо мне

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

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

  • Несколько статей о Друпале
  • Пример разработки плагина для модуля CCK
  • Темизация Drupal. Часть 2. Анатомия темы оформления Drupal
  • Темизация Drupal. Часть 1
  • Разработка модуля для Drupal. Часть2

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

  • Пример разработки плагина для модуля CCK
  • AJAX. Обмен данными между клиентом и сервером, закачка на сервер файлов без перезагрузки страницы при помощи библиотеки jQuery.
  • Модуль Vote Up/Down для Drupal 6
  • Темизация Drupal. Часть 1
  • Темизация Drupal. Часть 2. Анатомия темы оформления Drupal
  • Авторизация на Drupal-сайте с помощью аккаунта ВКонтакте
  • Кнопки Home, End и Page Up, Page Down в Mac OS
  • Темизация Drupal. Часть 3. Основы Drupal Forms API и темизация форм
  • Вращение изображений при помощи Javascript
  • Разработка сайта на Drupal. Часть 4. Пример разработки корпоративного интранет-сайта на Drupal

Подписка


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

  • Oz → Швабрашвабр2 → слабовато для
  • loan → Вращение изображений при помощи Javascript → answer this topic
  • CopelandLacey33 → Доставка → reply this post
  • vitsss → Авторизация на Drupal-сайте с помощью аккаунта вКонтакте → hostinh nic.ru and vk api
  • dimasikov → Автоматическая "газетная" верстка (верстка в несколько колонок) → Я похожее делал для с этим
  • max2012 → Разработка сайта на Drupal. Часть 2. Архитектура Drupal. → Подвесные потолки Опосля
  • Антон → Темизация Drupal. Часть 4. Темизация Views → Отлично!
  • Itsmypersonal → Зима 2010. Поездка в Тайланд, Индонезию и Сингапур. Часть 2 — Пхукет → Пхукет - да!
  • Sheldon → Перетаскивание ячеек таблицы. Table drag and drop — плагин для jQuery → Здравствуйте! Подскажите
  • Sheldon → Home sheep home → Одна из тех игр в которые

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

  • Проба пера в HTML5 + canvas. Эффект ластика
  • Шесть рукопожатий
  • Доклад на DrupalConfMoscow 2011
  • Статусы разных сущностей в Друпале 6
  • Футер, прибитый к низу страницы
  • Путешествие по Перу и Боливии. Часть 2
  • Путешествие по Перу и Боливии. Часть 1
  • Несколько панорам из путешествия по Перу и Боливии
  • Авторизация на Drupal-сайте с помощью аккаунта ВКонтакте
  • Home sheep home

Тэги

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

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

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

Навигация

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

Курсы валют

  • 100 Казахских тенге — 20,3352 (+0.03)
  • 10 Украинских гривен — 37,6101 (+0.06)
  • 10 Китайских юаней — 47,9611 (+0.04)
  • 100 Японских иен — 39,6909 (-0.04)
  • 1 Доллар США — 30,2385 (+0.05)
  • 1 Евро — 39,7425 (-0.02)
  • 10000 Белорусских рублей — 35,9554 (-0.07)
  • 1 Турецкая лира — 17,1829 (-0.03)

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

  • Зима 2010. Поездка в Тайланд, Индонезию и Сингапур. Часть 1 — Пхукет и Джакарта
  • Cinnamon Chasers - Luv Deluxe (Music Video)
  • Понедельник начинается в субботу
  • Купил и прикрутил к сайту новый дизайн.
  • Несколько статей о Друпале
  • Киви не умеют летать?
  • Новый год 2009. Амстердам, Гаага, Роттердам и Кёльн
  • Доставка
  • Лето 2007. Путешествие в Камбоджу – Таиланд – Малайзию. Часть 2. Камбоджа, Сиануквилль.
  • Разработка модуля для Drupal. Часть1. Введение

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

В Сингапурском зоопарке. Попугай
Типичная местная женщина
Тринидад. Лошадка держит домик
Без имени
Вид на Осло из замка Акерхус
Местный ходок
Насыпь между Кайо Санта Мария и Кубой
Еще горы
В пути
Фонтаны в Осло работают даже зимой. Карл Юхан Гате
Дерево в Прамбанане
Дом, плавающий по морю на больших поплавках
А это уже полуостров Крым, на пути в Керчь.
Красная поляна
Эль перро
Еще одно фото замка
  • Отдых
  • Работа

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