Поиск по блогу

вторник, 28 января 2014 г.

Drupal: от установки - до сайта. Доступно и понятно. Часть 5: роли пользователей и типы материалов

Роли пользователей

Для дальнейшей настройки нам необходимо создать роли, которые будут присваиваться пользователям.  Меню/Пользователи/Права доступа/Роли. Здесь видим предустановленные роли: анонимный, авторизованный пользователи и администратор.
Создадим роль Редактор, который будет управлять контентом сайта. Затем пробежимся по настройкам доступа и отметим необходимые флажки. Лучше кликнуть на Права доступа (справа вверху), тогда мы будем видеть права доступа для всех ролей. В качестве примера отмечаем такие флажки:
  • Перевод содержимого
  • Использование текстового формата Full HTML
  • Управлять переводом содержимого  
  • Просмотр, правка и удаление всех материалов 
  • Просмотр своих материалов, снятых с публикации  
  • Просмотр редакций материалов 
  • Вернуть редакции материалов
  • Удалить редакции материалов
  • Полное управление созданными типами материалов
  • Разрешить конвертирование
  • Разрешить клонирование
  • Использовать поиск (включить также лоя всех ролей)  
  • Использовать расширенный поиск  (разрешить также авторизованному пользователю)
  • Просмотр отчётов сайта 
  • Блокирование IP-адресов  
  • Управление словарями и терминами 
  • Просмотр профилей пользователей  
  • Изменение собственного имени пользователя
Конечно же Вы можете выставлять права по своему усмотрению.

Типы материалов

Типы материалов - это такие шаблоны для редактора в рамках которых и создается материал. Как говорилось ранее у нас будет два типа материалов: Новости и Статьи. Отличие между ними следующие: 
  • новости всегда анонсом располагаются на Главной странице сайта. При необходимости расположение на Главной странице можно отключить. Также обязательным является наличие картинки и ссылки на источник. Новости находятся только в категории Новости и не могут располагаться в других категориях. Изменять расположение материала в другой категории можно только в пределах категории Новости.
  • статьи не располагаются анонсом на Главной странице сайта. При необходимости расположение на Главной странице можно включить.Наличие картинки и ссылки на источник не является обязательным. Статьи могут находиться в любых других разделах, кроме Новостей. Изменять расположение материала в другой категории можно в пределах любых категорий, кроме Новости.
Такое разделение есть частный случай и относится конкретно к создаваемому нами сайту в качестве примера для более быстрого вхождения в материал. На самом деле как таксономия, так и разделы категорий, типы статей, блоки и т.д. и т.п., а также их взаимодействие в Друпале чрезвычайно гибки и универсальны, что дает возможность создавать множество вариантов под конкретную задачу. Эта универсальность, собственно и есть тот камень преткновения что создает определенные трудности для освоения Друпала.

В нашем случае получается, что если редактор ошибся и создал материал в Новостях, то переместить материал в категорию не новостей невозможно. Для решения этой проблемы  рекомендую воспользоваться модулем Node Convert https://drupal.org/project/node_convert. Кстати, таже рекомендую установить удобный модуль Node Clone https://drupal.org/project/node_clone для клонирования материалов.

По умолчанию в Друпале предлагается два типа материалов: Статья и Страница. С точки зрения русскоязычного пользователя названия этих типов в принципе означают одно и тоже. Поэтому я предлагаю тип Статья сразу переименовать на тип Новость на Главной (потому как в этом типе материал по умолчанию располагается на Главной). А тип Страница - на Статья.
При желании можно оставить уже созданные типы в покое и создать свои типы материалов с нуля.

Тип Новость на Главной

 Меню/Структура/Типы материалов/Статья.
Имя - Новость на Главной
Описание - подправьте, чтобы редактор понимал о чем идет речь.
Название поля заголовка - Название новости.

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

Настройки отображения, Настройки комментариев - по желанию

Мультиязычные настройки
Расширенные языковые настройки - Требовать язык

Расширенная поддержка языка - Стандартная или Расширенная - по желанию.

Настройки меню - не меняем.

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

Кликните на выпадающий список - Выберите тип поля - - здесь предоставлен полный перечень полей, который доступен на текущий момент. Для нашей задачи не хватает типов поля Ссылка на материал, Ссылка на внешний источник. Для этого надо установить два модуля:References https://drupal.org/project/references и Link https://drupal.org/project/link.
После установки включаем Link, Node reference, References и если нужно поле Ссылка на пользователя - User Reference.
Теперь у нас появились типы полей: Ссылка на материал, Ссылка на пользователя (если включили) и просто Ссылка. Аналогично можно добавлять и другие типы полей.

Управление полями

Теперь у нас есть все, чтобы создать Тип материала. На вкладке Управление полями расположитье необходимы поля в том порядке, в которым их будет заполнять редактор.

Раздел новостей - в Добавить новое поле вводим "Раздел новостей", вводим машинное имя для поля, например "field_newscategory". Тип поля выбираем Ссылка на термин (таксономии) и выбираем Вид элемента формы.
Автозавершение ввода - в поле вводим часть названия термина и в найденном уже выбираем существующий термин.
Флажки/переключатели - будет выведен полный перечень терминов и, в зависимости от разрешений далее (разрешено расположение в одной категории или в нескольких) будут выведены чекбоксы или радиокнопки.
Выбор из списка - обычный выпадающий список, который также в зависимости от условий, описанных в предыдущем варианте можно выбирать одно или несколько полей.

Сохраняем поле.
В открывшихся Настройках поля выбираем словарь созданных в предыдущих статьях терминов. Для новостей мы создали словарь Новости- его и выбираем.
Сохраняем и попадаем на новую страницу настройки поля.
Проверяем название метки поля.
Отмечаем поле как обязательное.
При необходимости можете ввести описание.
Выбираем один из терминов по-умолчанию.
Ниже Количество значений. Если выбрано 1 - то новость может располагаться только в одном разделе. При необходимости меняем это значение.
Проверяем название словаря и сохраняемся.

Новое поле появилось в перечне полей. Перемещаем его и ставим первым.

Язык - это поле уже существует. Премещаем его вторым.
Картинка новости - это поле также существует и называется Image.Кликаем по Изменить - изменяем название, делаем обязательным. При желании настраиваем размер, вес и пр. картинки. По-умолчанию и для определенных групп пользователей настройка производится в модуле IMCE Меню/Конфигурация/Мультимедиа/IMCE.
Назва новини.
Текст новости - это поле Body. Обязательное поле.
Источник - новое поле. Создаем по аналогии с Разделом новостей. Тип - Ссылка. Обязательное поле.
Дополнительные материалы - новое поле. Тип - ссылка на материал. Вид - Автодополняемое поле.
Теги - существующее поле Tags.

Управление отображением.

В этой закладке обпределяется как материал будет выводиться на экран пользователю. Материал может выводиться как Анонс или как полный материал. Соответственно анонс выводится в перечне материалов на главной странице или в разделе, полная версия - на странице материала.
Также здесь отображается порядок вывода полей на экран. Последовательность вывода полей необходима для состыковки с шаблоном страницы и таблицей стилей CSS темы сайта.
Кликаем на Анонс и настраиваем следующее:
Картинка новости - Метка - скрыто (не выводим текст Картинки новости), Формат - Изображение, Стиль - medium 220x220.
Текст новости - Метка-скрыто, Формат - Кратко или обрезанный текст
Остальные поля перетаскиваем в зону Скрытый. В Анонсе они нам не нужны.

Кликаем на По умолчанию
Картинка новости - Метка - скрыто (не выводим текст Картинки новости), Формат - Изображение, Стиль - Large 480x480.
Текст новости - Метка-скрыто, Формат - По умолчанию, т.е. полный текст
Источник - Метка-сверху или в линию с url (Выводим слово Источник) - по дизайну, Формат - URL as link
Дополнительные материалы - Метка-сверху или в линию, Формат - Заголовок (ссылка)
Теги - Метка-сверху или в линию, Формат - ссылка
Раздел новостей и Язык - переносим в скрытый

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

С Полями комментариев, думаю, разберетесь пол аналогии.
Сохраняем.

Тип Статья

Аналогично правим тип материала Страница, который теперь у нас будет называться Статья.
В Управлении полями появилось новое поле Добавить существующее поле. Это очень полезный инструмент. Он позволяет вставлять созданные нами ранее поля (в типе Новости на главной) с минимумом настроек.
Вместо Раздела новостей используем название Категория и словарь Публикации.
Картинка статьи - из существующего поля Картинка новости с соответствующими исправлениями.
Остальное все аналогично.

Настраиваем дальше

Проверяем, что весь наш план работает без ошибок: обязательные поля, расположение полей, что картинка может загружаться.
 Если вылетает ошибка или картинка не отображается скорее всего отсутствует папка /tmp.
В любом случае стоит проверить наличие этой папки и, в случае отсутствия, обязательно создать с правами 777.
Правильное название папки можно посмотреть Меню/Конфигурация/Мультимедиа/Файловая система.
Многие серверы уже давно научились работать с файлами с кириллицей в названии, однако как говорят от греха подальше рекомендую включить флажки: Транслитерировать имена файлов и Переводить в нижний регистр.
Возвращаемся к нашему документу. Не всегда удобно загружать картинку только с компьютера. Конечно же у Друпала есть решение этой проблемы. Установим модуль FileField Sources https://drupal.org/project/filefield_sources
После установки заходим в управление полями типа документа и кликаем Изменить на поле Картинка. Находим новую настройку FILE SOURCES и подключаем необходимые способы загрузки картинок. В принципе достаточно включить Upload, Remote URL и File attach from server directory - Загрузка с компьютера, Загрузка из интернета и подключение уже загруженного файла, что находится на сервере соответственно. Paste From clipboard у меня подглючивало, да и указано, что работает с ограниченным числом браузеров.

Следующий этап - это подключение текстового редактора к полю основного текста материала.
Выбираем текстовый редактор из тех, что нам предлагает модуль Wysiwyg Меню/Конфигурация/Работа с содержимым/Профили wysiwyg.
Наиболее популярным редактором на сегодня есть CKEditor. Как по мне, у этого редактора есть два существенных недостатка: он большой и как следствие при обработке текста объемом в несколько страниц жутко тормозит.
Какой редактор ставить - сугубо Ваш выбор. Мы будем устанавливать TinyMCE. Этот редактор также не лишен недостатка - до сих пор нет внятной инструкции правильной его локализации, за исключением перевода вручную файла /sites/all/libraries/tinymce/jscripts/tiny_mce/langs/en.js.
В инструкции по установке подробно написано как его ставить и откуда качать.

  • Если нет папки /sites/all/libraries - ее надо создать с обычными правами.
  • При установке CKEditor не нужно устанавливать дополнительно модуль CKEditor для друпал, как это требовалось раньше. Только скрипт с указанного в wysiwyg сайта.
  • При установке TinyMCE последняя, на момент написания версия не приспособлена для установки, т.к. в архиве скачанном с сайта папка /sites/all/libraries/tinymce/jscripts заменена на /sites/all/libraries/tinymce/js. Поэтому скачиваем предыдущую версию.
Обращайте внимание на такие вещи.


Для настройки текстового редактора перейдем опять же Меню/Конфигурация/Работа с содержимым/Профили wysiwyg. Появилась возможность привязки текстового редактора к форматам текста. Выбираем редактор TinyMCE для типов FullHTML и FilteredHTML.
Смысл этой страницы в том, что для каждого формата текста можно присвоить свой текстовый редактор.

Рекомендую создать дополнительный к существующим формат текста PHP code для вставки PHP кода в материалы. Меню/Конфигурация/Работа с содержимым/Форматы текста/Добавить формат текста.
Имя - PHP code
Роли - администратор, редактор
Фильтры - Обработчик PHP. Eсли этой опции нет - включите модуль PHP filter
Понятно, что не нужно подключать текстовый редактор к этому формату текста.

После присвоения Текстового редактора  форматам текста появилась возможность настроить редактор для каждого формата - ссылка Правка.
Основные настройки
Оставить язык Английский, по указанной ранее причине

Кнопки и плагины
Включайте необходимые для конкретного формата кнопки. К примеру формат FilteredHTML используется в основном для комментариев. Поэтому не стоит включать для этого формата иконку загрузки видео. Также не рекомендую включать иконку Шрифт.

Остальные настройки подписаны и понятны.

Теперь можно создать статью. Проверьте работу кнопок текстового редактора, в частности вставку картинок и видео.

Комментариев нет :

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

Есть что сказать - скажи