[[planning-structure]]
=== Проектирование структуры контента

[role="summary"]
Как планировать структуру контента, которая связывает типы контентов и определенный контент на сайте.

(((Структура контента,планирование)))
(((План сайта,структура контента)))

==== Цель

Создайте план для структуры контента вашего сайта (какие типы и подтипы
сущностей использовать для контента) и какие страницы будут содержать списки
материалов.

==== Необходимые знания

* <<planning-data-types>>
* <<planning-modular>>
* <<preface-scenario>>

//==== Site prerequisites

==== Шаги

. Мозговой штурм о том какой контент ваш сайт должен отображать, который будет включать
контент, который посетители хотели бы найти, также контент, который вы хотели бы
показать посетителям. Результат можно описать также как это сделано на этой странице
<<preface-scenario>>.

. Для каждого определенного кусочка контента, определите какой тип сущности лучше всего
подходит для этого. Если вы это сделаете, вы будете должны рассчитать, где и как
контент будет отображаться и редактироваться на сайте. Например, на сайте городской
ярмарке, вы можете отобразить часы работы и адрес
городской ярмарки в колонке на каждой странице. Для этого контента, один пользовательский
блок подойдет лучше всего. Как другой пример, вы можете решить что страницы которые должны отображать
информацию о каждом продавце лучше всего сделать через материалы управляемые ядром Drupal в Node
модуле, потому что вы хотите чтобы продавцы имели возможность редактировать свои собственные списки рецептов.
Разрешения модуля ядря Node позволяют легко это сделать.
+
Эти решения не обязательно имеет всегда один ответ;
например, вы могли бы решить, что продавцы должны быть профилями пользователей вместо
контента, однако если вы сделали, что контент будет связан с определенным аккаунтом
пользователя, то вам будет не легко сменить авторство страницы продавца
на другой аккаунт пользователя.

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

. Для каждого подтипа сущности определитесь какие вам поля вам нужны. Например, для
типа контента Продавец необходимы поля название продавца, путь
URL, изображение и описание.

. Решите какие списки сущностей вам нужны, которые будут занимать целые страницы или
меньшие области на странице. Для каждого списка, вы должны будете определить, какие
сущности будут отображены в списках. Тогда вы будете должны решить, какой порядок и с какими
параметрами фильтров они должны будут отображены; например, вы можете захотеть
дать возможность посетителям сайта искать по ключевым словам, фильтровать список по
параметрам или выбирать параметры сортировки. Вы также должны будете решить какая информация
из сущностей будет показана, которые могут выводить в дополнение к списку
поля определенные в прошлых шагах. Сайт городской ярмарки, например
, должен иметь страницу списка рецептов, которая отображает контент типа
Рецепт, с возможностью фильтровать по ингредиентам, это означает, что Рецепт
тип материала должен иметь поле Ингредиенты.

. Для каждого определенного поля в каждом подтипе сущности, определите какой тип данных
они должны содержать (например простой текст, форматированный текст, дату, файл изображения,
и т.д.), и как много значений поля позволяют хранить. Большинство полей
имеют одно значение, однако например, Рецепт может содержать и множественные значения например
для поля Ингредиенты.

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

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

Ниже пример структуры для городской ярмарки
из нашего сценария:

[width="100%",frame="topbot",options="header"]
|=============================================
|Тип сущности |Подтип сущности |Примеры |Поля

|Элемент контента |Страница |Главная страница, О нас |Заголовок, содержимое

|Элемент контента |Продавец |Страница для каждого продавца на рынке |
  Имя продавца, содержимое, изображение, URL

|Элемент контента |Рецепт |Страница для каждого сохраненного рецепта |
  Имя рецепта, описание, изображение, связать с продавцом, кто создал рецепт,
  Ингредиент таксономия

|Пользовательский блок |(основной) |Копирайт в футоре,
  Часы работы и адрес в колонке |Нет специальный полей

|Термины таксономии |Ингредиенты |Морковь, помидоры и другие ингредиенты в рецептах |
  Нет специальный полей

|Контактная форма |(основной) |Основная контактная форма |Имя, емайл, название, сообщение

|Профиль пользователя |(нет) |Не отображается на сайте |Нет специальный полей

|=============================================

И ниже списки которые нужны на сайте:

[width="100%",frame="topbot",options="header"]
|=============================================
|Страница и основной контент страницы |Тип сущности и подтип |Фильтры/сортировка/пагинация |
  Отображаемые поля

|Страница продавца |Элементы контента продавца |Все продавцы, алфавитный, постраничная |
  Изображение, имя продавца, сокращенное описание

|Страница рецептов|Элементы контента рецепта |
  Фильтр по ингредиентам, алфавитный, постраничная |Изображение, имя рецепта

|Недавние рецепты в колонке |Элементы контента рецепта |Список 5 последних рецептов |
  Изображение, Имя рецепта

|=============================================

==== Улучши свое понимание

* <<structure-content-type>>
* <<structure-fields>>
* <<structure-taxonomy-setup>>

==== Связанные темы

<<structure-taxonomy>>

==== Видео

// Video from Drupalize.Me.
video::https://www.youtube-nocookie.com/embed/CaNt4DEeIgU[title="Planning Your Content Structure"]

//==== Additional resources


*Авторы*

Написано и отредактировано https://www.drupal.org/u/jhodgdon[Jennifer Hodgdon]
и https://www.drupal.org/u/gdunham[Grant Dunham]

Переведено https://www.drupal.org/u/levmyshkin[Абраменко Иван] из
https://www.technocrat.com.au/[Technocrat].
