Drupal

Drupal: полное практическое руководство (часть 2)

Модули Drupal — это расширения, добавляющие в систему дополнительный функционал

Drupal: полное практическое руководство (часть 2)
Поделиться в соцсетях:

К примеру, Друпал идет с предустановленным модулем под названием «System». Фактически, Друпал и представляет собой набор модулей ядра, которые разрабатываются и поддерживаются командой проекта. Модуль «System» — один из них, Друпал без него не может работать.

Как добавить модули Drupal

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

После того, как вы найдете нужный модуль, скачайте его на свой компьютер. Затем нужно перенести распакованный модуль в директорию drupal\sites\all\modules.

По умолчанию папки для модулей нет, поэтому ее необходимо создать вручную. Создайте папку modules в drupal\sites\all.

Хорошая практика — держать скачанные модули отдельно от идущих в дистрибутиве Друпала по умолчанию, так что не кладите дополнительные модули в drupal\modules.

Где хранить модули

Установка дополнительного модуля: модуль CCK

CCK (Content Construction Kit — Конструктор для содержимого) — очень популярный модуль Друпала, позволяющий вам создавать разные новые типы содержимого. Давайте потренируемся устанавливать модули на примере CCK, тем более что в дальнейшем он нам понадобится.

Во-первых, скачайте подходящую версию CCK. Затем распакуйте архив в drupal\sites\all\modules; в ту же папку распакуйте скачанный ранее с Drupaler.ru архив с переводом модуля CCK.

После скачивания и размещения модуля CCK в drupal\sites\all\modules, необходимо включить его в интерфейсе администрирования Друпала. Перейдите в меню Конструкция сайта > Модули (localhost/drupal/admin/build/modules). Здесь вы увидите модуль CCK*. Включите его. Также можете включить и подмодули CCK, если они вам нужны (позже, когда начнем работать с CCK, мы так и сделаем).

Установка модулей

* — по сложившейся в незапамятные времена традиции модуль, везде и всюду называемый CCK, в списке модулей называется Content (прим. пер.).

Поздравляю! Вы только что установили модуль Друпала.

Страницы администрирования Drupal: ускоренный курс

Есть два варианта просмотра административных разделов Друпала:

  • по задачам,
  • по модулям.

Если вы выберете отображение «По задачам», то страница будет организована по различным задачам администрирования.

Например, при организации страницы «По задачам» под заголовком «Содержание» вы увидите все задачи, связанные с работой с содержимым. «Содержимое», нaпример, позволяет просматривать, редактировать и удалять материалы, a «Настройки публикации» контролируют их поведение и отображение на сайте.

У каждой задачи под названием имеется краткое описание, которое поможет вам понять ее назначение.

Если же вы выберете отображение «По модулям», то ссылки будут организованы по модулям.

Например, в отображении «По модулям» под заголовком модуля «System» вы найдете пункты «Настройка прав доступа», «Чистые ссылки», «Модули» и так далее.

Кривая изучения интерфейса админки

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

Выпадающее меню администратора

Настраиваем главную страницу

Время действовать. Давайте создадим главную страницу. Для этого мы добавим на сайт первый материал типа «Страница». Перейдем в меню Содержание > Создать материал > Страница (localhost/drupal/node/add/page).

Добавляем страницу

Параметры меню

Тема, которую Друпал использует по умолчанию, отображает меню навигации в верхнем правом углу. Настройки в секции «Параметры меню» определяют, включать ли ссылку на нашу страницу в навигацию, или нет.

Если вы хотите добавить ссылку на главную страницу в основное навигационное меню, выберите «Основные ссылки» в выпадающем меню «Родительский пункт».
Опция «Вес» позволяет организовать порядок вывода ссылок. Ссылки с меньшим весом будут выведены первыми, поскольку они «легче».
Так, например, если ссылка «Главная страница» имеет вес 0, а ссылка «О сайте» — 5, то пункт «Главная страница» будет показан первым, потому что он легче.

Если же ссылка «Главная страница» имеет вес 0, а ссылка «О сайте» — тоже 0, тогда Друпал организует ссылки в алфавитном порядке. Так как вес одинаковый, первой будет показан пункт «Главная страница».

В нашем случае, оставляем вес «Главной страницы» неизменным (по умолчанию вес равен нулю).

Параметры меню

Формат ввода

Селектор в секции «Формат ввода» позволяет выбрать способ ввода содержимого.

Формат Filtered HTML ограничивает набор HTML-тегов, которые можно использовать в тексте, через фильтрацию опасных HTML-элементов вроде <script>, которые могут использовать для атаки на браузер посетителя сайта.

Используйте формат Filtered HTML, если админитраторы сайта не знакомы с HTML.

А для разработчиков следует использовать формат Full HTML. Использование этого формата предполагает, что вы хорошо знакомы с языком HTML.

Формат ввода

Информация о редакции

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

Если же вы работаете с командой добавляющих материалы пользователей и хотите сохранять разные версии, вести журнал изменений содержимого и делать пометки о характере этих изменений — секция «Информация о редакции» вам очень пригодится.

Кроме того, при отмеченном флажке «Создавать новую редакцию» старая версия материала будет сохранена на случай, если вы захотите к ней вернуться.

Информация о редакции

Параметры комментариев

Эти параметры позволяют включить или отключить комментарии посетителей для данного материала. Нам, пожалуй, не нужны комментарии на главной странице, так что я выбрал пункт «Отключено».

Параметры комментариев

Информация об авторе

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

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

Информация об авторе

Настройки публикации

Эта секция задает настройки публикации материала.

  • Опубликовано — отображает статус публикации. Уберите галочку, если хотите снять материал с публикации.
  • Помещать на главную — материал будет выводиться на главной странице сайта. Снимите отметку, если не хотите выводить материал на главную страницу.
  • Закреплять вверху списков — материал будет отображаться в верхней части главной страницы и других списков.

Настройки публикации

Посмотрим на главную страницу

А вот и наша главная страница; пока она очень простая, но не волнуйтесь, вскоре мы ее усложним.

Главная страница

Чем займемся дальше? А дальше мы сделаем доску объявлений о вакансиях, наполняемую пользователями. В процессе ее создания мы поработаем с пользовательскими типами материалов, представлениями Views и другими средствами разработки сайтов на Друпале.

Что такое нода в Drupal?

Прежде чем продолжить, необходимо обсудить одну из самых непонятных для новичков тем — концепцию нод.

Нода — это базовый элемент в структуре содержимого Друпала. Проще говоря, если представить Друпал зданием, то ноды будут кирпичиками. Каждая часть содержимого сайта является нодой — будь то страница, публикация в форуме, статья и т.д.

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

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

Чтобы рассмотреть это на примере, давайте перейдем на главную страницу, созданную ранее. Обратите внимание на адресную строку браузера, в ней будет указано нечто вроде этого (если чистые ссылки отключены, адрес будет выглядеть иначе):

localhost/drupal/node/1

В адресе вы увидите слово «node»; это значит, что данная страница является нодой.

Создание нового типа материала в Drupal

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

Создадим тип материала «Вакансия». Cделаем для нашего сайта доску объявлений о вакансиях. Пользователи будут размещать вакансии и проекты, эдакий маленький Craigslist (прим. переводчика: www.craigslist.org — сервис размещения вакансий и резюме).

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

  • наименование вакансии;
  • подробное описание;
  • отдел — в виде выпадающего списка;
  • опыт работы — текстовое поле;
  • зарплата — текстовое поле.

Работать с пользовательскими типами материала в Друпале легко. Сначала перейдите в Администрирование > Типы материала > Добавить тип содержимого.

Добавляем тип содержимого

Почти все элементы страницы добавления нового типа материала снабжены пояснениями. Я считаю необходимым поговорить отдельно об элементе «Тип». Тип — это машинное имя нового типа материала, используемое в более сложных разработках.

В нашем случае, для вакансий мы зададим машинное имя типа материала «job». Это очень важный момент: в будущем, когда вы станете мастерами-ниндзя Друпала и захотите внести комплексные изменения в свой сайт, например, изменить способ отображения объявлений, вам потребуется создать файл с именем node-job.tpl.php (это уже выходит за рамки данного руководства).

Теперь заполните поля «Название», «Тип» и «Описание», и мы двинемся дальше.

Свойства формы

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

Свойства формы

Настройка процесса публикации

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

Продолжайте настраивать процесс публикации. В разделе «Установки комментариев» можете установить разные варианты комментирования вакансий. Если вы хотите, чтобы посетители могли комментировать вакансии, включите комментарии. Не хотите — выключите.

Создаем тип материала «Вакансия»

Самое время нажать «Сохранить» и тем самым завершить создание нашего первого типа материала. Если вы следовали инструкции, в списке типов содержимого появится «Вакансия» (рядом со страницей, статьей и так далее).

Типы содержимого

Настройка типов содержимого с помощью CCK

Итак, у нас есть свой собственный тип материала. Теперь нам нужно настроить форму добавления вакансий с помощью крайне полезного модуля — CCK.
CKK — это, как правило, первый модуль, который ставят на новоиспеченный сайт искушенные разработчики. Он настолько важен, что будет внедрен в ядро Друпала 7, после чего вам не придется больше скачивать его вручную.

К этому моменту вы уже должны были установить CCK согласно описанию работы с модулями в начале руководства.

Включим несколько подмодулей CCK

Для начала, пройдите в меню Администрирование> Конструкция > Модули.

В секции CCK вы увидите список подмодулей. Какие-то из них уже включены по умолчанию, а какие-то — нет. Почему? Архитектура Друпала — исключительно модульная, и это позволяет нам использовать в разработке только те средства, которые действительно нужны. Разработчикам модулей рекомендуется группировать их по функционалу, вследствие чего модули получаются менее громоздкими и более экономичными.

Как администратор сайта, включайте только те модули и подмодули, которые вам действительно нужны.

Теперь давайте включим несколько подмодулей CCK, нужных нам для формы вакансий.

Вот какие подмодули нужно включить:

Подмодули CCK

Поскольку от пользователей может потребоваться ввод дробных чисел (например, необходимый опыт работы в годах), нам потребуется включить подмодуль Number. Также нам понадобится модуль Option Widgets, позволяющий добавлять разные элементы ввода данных, например, флажки, группы переключателей и так далее. Каждый из этих подмодулей зависит от модуля Content: вы не сможете их включить, пока Content выключен.

Добавляем поля в форму

Вы включили подмодули CCK? Прекрасно, настало время настроить форму публикации вакансий.

Перейдите в меню Администрирование > Содержание > Типы содержимого, затем щелкните на ссылку «Управлять полями» в столбце «Действия» напротив типа материала «Вакансия». Здесь-то мы и будем добавлять новые поля к форме.

Добавляем поля в форму

Сперва я добавлю поле «Отдел», дающее пользователю возможность выбрать из выпадающего списка отдел, в котором возникла вакансия (отдел разработки, финансовый, отдел интерфейсов, ИТ и маркетинга).

Поле отдел

После нажатия кнопки «Сохранить», вас перенаправит на страницу, где можно окончательно подстроить поле «Отдел» и перечислить его допустимые значения.

Поле отдел
Поле отдел

Следущее поле — «Опыт», в него пользователь сможет вводить дробные числа (например, 3.5 года).

Поле опыт

В поле «Справочный текст» добавьте подсказку о том, как правильно заполнять поле, чтобы посетители вводили верные значения.

Поле опыт

В разделе «Общие настройки» вы можете ограничить значение поля. Например, если в поле «Минимум» задать 2.3, то при попытке разместить вакансию с опытом 1.4 пользователю будет показано сообщение об ошибке.

Поле опыт

Последнее поле в типе материала «Вакансия» — «Заработная плата». Это целое число, например, 50 000 рублей.

Поле заработная плата

В общих настройках поля укажите 0 в качестве минимума, чтобы не допустить отрицательных значений, (например, -1200). Почему не указать значение больше нуля? Потому что нулевая зарплата означает, что данная работа не оплачивается.

После создания всех полей, их список для типа материала «Вакансия» будет выглядеть так:

Поля CCK

Перетаскивая значок крестика слева от названия полей, вы можете изменить порядок их отображения в форме добавления вакансий.

Создайте несколько вакансий

Прежде чем мы двинемся дальше, создайте несколько вакансий, перейдя на страницу Создать материал > Вакансия. Их данные нам понадобятся в следующей части руководства.
CCK — очень мощный инструмент

Здесь мы работали с самыми простыми полями CCK, но этот модуль предоставляет и гораздо более серьезные средства организации содержимого. Например, вы можете установить модуль ImageField, чтобы пользователи могли размещать изображения (к примеру, пусть работодатели выкладывают фотографии рабочего места).

Новый комментарий

Имя:
Для редактирования комментария осталось 10 минут
Комментарии отсутствуют