ку функцій, можна підключити інші СУБД, - наприклад, існують бібліотеки для IBM DB2, Oracle і MSSQL. p align="justify"> Не менш важлива частина Drupal - інтерфейс обробки екранних форм (Forms API). З точки зору розробника, форма Drupal - це певним чином підготовлений масив даних, що містить інформацію про елементи форми і їх параметрах. На основі цього масиву системні функції генерують HTML-код. Такий підхід дозволяє модулям модифіковані одну і ту ж форму, а також за допомогою функцій темізаціі міняти оформлення окремих елементів. Розробники модулів можуть додавати додаткові поля (наприклад, захист від автоматичних публікацій - CAPTCHA) або замінювати існуючі (замінити текстове поле WYSIWYG-редактором). p align="justify"> Типово Drupal надає користувачеві базовий тип матеріалу з мінімумом стандартних полів і атрибутів: заголовок, текст, автор і ряд службових полів. Програмний інтерфейс Node API дозволяє доповнювати базовий тип новими полями: посиланнями, картинками, файлами, списками та ін
Для управління правами доступу до матеріалів і служб сайту в Drupal реалізовані два механізми. Перший забезпечує перевірку доступу до окремих сервісів сайту - кожен модуль через спеціальний хук оголошує свої дозволи на використання тих чи інших своїх функцій, потім адміністратор сайту може дозволити або заборонити різним групам користувачів доступ до того чи іншого функціоналу. Другий механізм - права доступу до окремих документів на створення, перегляд, редагування та видалення. Модулі реалізують власні інтерфейси перевірки прав, грунтуючись на даному механізмі. Наприклад, є модулі, що розмежовують доступ користувацьких ролей до окремих рубриках сайту або задають права доступу безпосередньо для окремих користувачів, окремих документів і навіть окремих полів документа. p align="justify"> Ще один важливий елемент архітектури Drupal - система темізаціі, що дозволяє, по-перше, відокремити логіку роботи програмних модулів від подання даних, по-друге, гнучко налаштувати зовнішній вигляд кожного виведеного на екран елемента. Щоб змінити зовнішній вигляд сайту, необхідно або завантажити готову, або розробити власну тему оформлення - набір особливим чином сформованих HTML-шаблонів, в які інтегровані PHP-змінні з даними. p align="justify"> Важливо відзначити, що підсистема темізаціі Drupal не примушує розробника застосовувати один тип шаблонів. Drupal дозволяє задіяти різні В«движкиВ» шаблонів, на базі яких будуються теми оформлення. Стандартом де-факто для тем оформлення в Drupal став механізм PHPtemplate, але можна також використовувати Smarty, PHPTAL, EasyTemplateSystem та ін
Теми оформлення дозволяють створити каркас сайту, який буде наповнений даними, генерованими модулями. При розробці модулів програмісти, які дотримуються прийнятих в Drupal стандартів кодування, виносять весь код, пов'язаний з виведенням даних на екран, в окремі, іменовані спеціальним чином функції. Такі функції - функції темізац...