Знакомство с интерфейсом, работа с материалами в Drupal 8.
Я сразу выделил основные функциональные блоки. Разными цветами выделены разные функциональные блоки.
красный - блок
желтый - представление, он же вьюс или views
фиолетовый - меню, обёрнутое в блок
зелёный - область сообщений
У вас сразу же возникнет вопрос-почему именно эти блоки, почему на этих местах и как их можно изменить?
Ответ. Блоки располагаются в регионах(это важный термин). Регионы задаются в теме. Каждая тема может иметь свой набор регионов. Вы может располагать в этих регионах любые блоки, менять их местами и управлять их видимостью.
Представление-это достаточно сложный, даже один из самых сложных функционалов друпала. Работе с ним можно посвятить несколько отдельных курсов. Если вкратце-вьюс может выводить любые сущности так как вы этого захотите.
Меню - меню ссылок. Из особенностей-если пользователь не имеет права видеть материал, на который ведёт ссылка в меню-он не увидит и саму ссылку. Активные ссылки имеют класс, по которому их можно подсветить стилями.
Сообщения - уведомление или информация об ошибке. Такие сообщения может посылать любой модуль на сайте.
Друпал, как и любой другой сайт-прежде всего набор текстовых материалов. В Друпале материал называется нодой(node). Ноды бывают разных типов, например нода типа статья, новость, фотогалерея, заметка, отзыв, объявление и так далее. Вы сами можете создать сколько угодно типов материалов. Обычно хватает трёх-пяти типов материалов, но на сложном сайте их может быть даже несколько десятков.
Так же каждый тип материала характеризуется набором полей. Например для материала типа "фотогалерея" вам потребуется поле для загрузки фотографий, поле с именем фотографа и, скажем, дата съёмки. А для ноды типа "рецензия" нужно поле автора рецензии и набор тегов.
Именно для решения такой задачи и создаются различные типы материалов. Так же каждый материал имеет свой уникальный номер - nid(сокращение от Node ID), он уникален у каждого материала на сайте.
По умолчанию в друпале есть 2 типа материала Article(статья) и Basic Page(статичная страница). Увидеть их можно зайдя в Управление->Структура->Типы материалов
Как вы видите - два типа материалов уже есть, присутствует кнопка для добавления нового типа и управления уже существующими.
Я немного растяну окно браузера, чтобы интерфейс полностью влез на экран.
Рассмотрим как устроен тип материала на примере Article. Жмите на треугольник выпадающего списка и затем "Правка"
На странице редактирования вы видите:
Человекопонятное имя, которое будет видеть редактор при создании материала.
Машинное имя. Оно уникально у каждого типа ноды и состоит из английских букв,знака подчёркивания и чисел.
Описание, которое так же будет видеть редактор сайта.
И ещё один важный пункт - это публикация по умолчанию.
Любой материал может находиться в двух состояниях-опубликовано и не опубликовано. Опубликованный материал видят все посетители сайта и поисковые машины в том числе. Не опубликованный контент увидит только администратор, и если достаточно прав-пользователь с какой-нибудь другой ролью, например редактор, но об этом позже. Анонимные посетители и поисковые машины неопубликованный контент не увидят.
По умолчанию материалы любого типа публикуются сразу после создания.
Уже опубликованные ноды при необходимости можно легко снять с публикации.
Это основные параметры ноды. Далее самое главное-поля.
Можно перейти во вкладку "Управление полями" прямо с текущего экрана или со страницы со списком типов нод.
Материал типа Article состоит из четырёх полей: изображение, комментарии, боди и тэги. Можно удалить любое из этих полей или добавить новые, кнопкой "Add field".
Метка - это человекопонятное имя поля, которое будет видно на странице создания и редактирования материала.
Машинное имя - данное имя используется в ядре друпала и состоит из английских букв,знака подчёркивания и чисел.
Оно так же уникально, причём не в пределах одного типа материала, а во всех типах.
Тип поля - это тип виджета и тип данных, которые необходимо прикрепить к типу материала. Например картинка, ссылка на термин, связь с другим материалом и т.д.
Давайте попробуем добавить к материалу поле для имени автора материала.
Назовём его field_author_name
Жмите "Add field"
Тип поля выбираем Text(plain) - это короткая текстовая строка, до 255 символов
Метка будет содержать "Имя автора"
Машинное имя вобьём "author_name". Слово field подставится само. Чтобы редактировать машинное имя нажмите "Правка".
Сохраняем.
На следующей странице можно ввести ограничения - сколько раз можно заполнить это поле в данном типе материала. Я ограничусь одним разом. А вот при создании поля для фотографии - ограничение можно убрать, что позволит прикрепить неограниченное количество фото к одной ноде.
Ну и на последнем этапе я добавлю короткое описание для поля. Чекбокс "Обязательное поле" я не отметил. Это значит что при создании материала моё поле заполнять необязательно.
Сохраняемся. Поле готово.
Теперь попробуем создать ноду. Для этого в верхнем меню выберите пункт "Содержимое" и затем кнопка "Добавить содержимое"
На открывшейся странице выбираю пункт "Статья".
Я заполнил заголовок статьи, написал небольшой текст. Визуальный редактор уже установлен. Например даже в седьмой версии для установки такого редактора требовался как минимум 1 модуль(обычно 3) и библиотека. В восьмёрке уже всё в ядре.
Обратите внимание на формат ввода. Их может быть неограниченное количество. И это очень важный момент. Если вы не до конца разберётесь с ними и коряво настроите форматы ввода для посетителей сайта - то это будет уязвимостью вашего сайта, а как следствие и всего сервера. О форматах ввода расскажу позже.
Так же вы видите созданное нами поле для имени автора.
Если включён модуль комментариев и поле типа "Комментарии" присутствует - то вы можете открыть или закрыть возможность комментировать любой материал данного типа.
Синоним - тоже интересный момент. Задать синоним(он же URL) можно фактически любой сущности на сайте. По умолчанию адрес созданного нами материала будет node/1 - то есть node и номер материала. У следующего будет node/2 затем 3, 4 и так далее. Но можно задать и альтернативный, красивый URL. Тогда материал будет иметь 2 адреса - node/<номер материала> и заданный вручную синоним(он же алиас).
В поле "Информация об авторе" стоит ссылка на реального пользователя- то есть на текущего админа.
Вроде бы всё. Я жму сохранить и опубликовать.
Вот и всё, материал готов.
Первое что бросается в глаза - это то, что заголовок нашего поля на одной строке, а значение на следующей. Чтобы это исправить - нужно настроить отображение поля.
Чтобы попасть на страницу настройки отображения полей открывайте Структура->Типы материалов и напротив Article Управление отображением.
Метку у "Имя автора" выбираем "В линию". Сохраняем.
Обратите внимание - формат вывода выбран "По умолчанию", то есть вывод полного материала. Если вы переключитесь в формат "Анонс"(всегда называют тизер) - то аналогичным образом можно настроить поля и для тизера.
Возвращаемся в материал:
Аналогичную настройку можете сделать и с полем "Тэги"
И пока не забыли - форматы ввода.
Находятся они в Конфигурация->Текстовые форматы и редакторы
На странице форматов ввода вы видите 4 существующих формата. Формат ввода применяется к полю body материала, к полю комментария или к любому другому текстовому полю ввода. В чём смысл форматов ввода? Вот в чём: при создании материала пользователю обязательно нужно выбрать один формат ввода. Каждый формат ввода состоит из фильтров. Каждый фильтр-это некий функционал, который преобразует текст согласно заложенному в нём правилам. Формат ввода может содержать несколько фильтров, их так же можно менять местами.
Давайте откроем на редактирование формат ввода Full HTML:
На странице фильтра вы видите какие роли имеют право пользоваться этим фильтром. Какой визуальный редактор будет использоваться.(В седьмой версии друпала этот функционал настраивается по-другому, с использование целого ряда модулей). Тут же настраиваются кнопки визуального редактора, возможность загрузки изображений с компьютера.
В конце страницы есть список всех фильтров сайта и порядок их применения.
Простейший пример использования фильтров. Например админу сайта доступен формат ввода "Full HTML" и ему можно включить фильтр "Преобразовывать адреса в ссылки", а обычным зарегистрированным пользователям дать формат ввода "Filtered HTML", в котором отключить этот фильтр. Тогда адреса сайтов, оставленные админом, будут преобразовываться в кликабельные ссылки, а обычных пользователей-будут идти простым текстом.
К оглавлению
Предыдущая статья
Следующая статьяномер>