Что касается контента, каковы различия между узлами и терминами


Я обсуждаю, следует ли использовать узлы или термины для хранения большого объема контента в Drupal.

В Drupal 8/9 есть много общего между узлами и терминами:

  • Оба могут добавлять поля любого типа.
  • У обоих могут быть псевдонимы URL, установленные автоматически через Pathauto.
  • Оба могут иметь индивидуальные метатеги через Метатег.
  • У обоих могут быть комментарии.
  • В обоих случаях отображение может быть настроено с помощью макета Конструктор, и оба они могут быть тематизированы одинаково с помощью шаблонов веток.
  • Оба имеют типы контента (узлы имеют "типы контента", термины имеют "словари").

Они кажутся очень похожими. Итак, в чем же различия между терминами и узлами?

Author: Jaypan, 2020-05-24

3 answers

1-узел ПРОТИВ taxonomy_terms

Оба узла и таксономия_термы (термины), являются типами сущностей контента, поэтому они оба использовались для хранения контента, но формируют семантическую точку зрения:

  1. Узел (Содержимое): используются для хранения содержимого, потому что их базовые поля и связанные объекты предназначены для этой цели, например:

    • созданный: когда содержимое было создан?
    • измененный: когда содержание было изменено?
    • липкий: вы хотите, чтобы этот узел был привязан к другим?
    • Автор : кто пишет этот контент?
    • Автор : когда был создан контент?
  2. Taxonomy_terms (Классификация): используется для хранения классификаций ( группировка содержимого, имеющего одинаковые свойства в та же группа), потому что их базовые поля предназначены для этой цели, например:

    • имя: имя группы категорий, которое будет использоваться для группировки набора узлов или других объектов.
    • Псевдоним URL-адреса: ссылка на страницу, которая будет содержать все узлы, относящиеся к этой категории.

    • Кроме того, мы можем использовать иерархическую (древовидную) структуру таксономии для вложенного классификации enter image description here

ТАКИМ ОБРАЗОМ, УЗЕЛ ДОЛЖЕН ИСПОЛЬЗОВАТЬСЯ ДЛЯ ХРАНЕНИЯ СОДЕРЖИМОГО И ТЕРМИНОВ ТАКСОНОМИИ ДЛЯ ХРАНЕНИЯ УТОЧНЕНИЙ.


2 - Проблема производительности с узлом

Если вы сохраните большой объем контента в качестве узла, у вас возникнет большая проблема с производительностью, допустим, у вас есть веб-служба, которая потребляет тысячу твитов и сохраняет их в качестве узлов, это вызовет большую проблему с производительностью, потому что:

Когда мы хотим извлечение твита узла будет проделан долгий путь запроса к базе данных:

  1. получить базовую информацию об узле (nid, vid..) из базовой таблицы типов сущностей: узел таблица
  2. получить базовые поля узла (заголовок, созданный...) из node_field_data
  3. получаем каждое поле из узла__поля_$имя_поля, допустим, у нас есть 10 полей в каждом поле, которые находятся в отдельной таблице (10 таблиц)

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


3- Пользовательский тип сущности

Лучшее решение, если у вас большой объем контента:

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

  • контент будет переводимым.
  • контент будет пересматриваться.
  • содержимое может быть интегрировано с представлением.
  • ими можно управлять из BO точно так же, как узлом.

    Примечание: быстрый способ создать пользовательский тип сущности с помощью консоли Drupal, используя: создать: сущность:содержимое затем установите, хотите ли вы, чтобы эта (содержательная) сущность имела пакеты? (да/нет) [нет]: >нет

 4
Author: Marwen Amri, 2020-05-25 00:53:37

Узлы являются содержимым. Термины предназначены для категоризации контента, они сами по себе не являются контентом.

Термины являются частью таксономии. Таксономия - это наука о классификации.

Связь между узлами и терминами таксономии заключается в том, что вы прикрепляете термины таксономии к узлам, чтобы классифицировать узел. Поэтому, если у вас есть узел блога, у вас могут быть темы или теги, которые будут прикреплены к узлу блога. Вы можете использовать это, чтобы найти все блоги определенной категории или помеченные определенным термином. Вы можете думать о хэштегах на обычных сайтах SNS как о терминах таксономии. Когда вы нажимаете на хэштег, вы можете увидеть все сообщения с этим хэштегом. Хэштег по сути классифицирует публикацию.

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

 4
Author: Jaypan, 2020-05-24 16:42:40

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

Информация об авторах + варианты продвижения

  • Узлы предлагают "Информацию об авторах" для изменения автора узла и/или даты публикации; термины таксономии этого не делают. Это означает, что если вы хотите указать автора термина или дату публикации, вам нужно сделать что-то вроде добавления полей в каждый словарь и создать собственное решение, что является настоящим беспорядком.
  • Узлы имеют пользовательский интерфейс возможность продвигать контент на первую страницу и сохранять его в верхней части списков. Термины таксономии не предоставляют этого "из коробки", но их отображение можно настроить с помощью представлений, и у них есть встроенная поддержка иерархий, поэтому им не нужно прикрепляться вверху списков.

Иерархическая (древовидная) структура

  • Термины таксономии по умолчанию являются иерархическими в словаре. Это может быть использовано для автоматического предоставления меню с такими модулями, как Меню таксономии или Иерархическое меню таксономии.
  • Узлам может быть задана иерархическая структура в меню (меню содержит иерархию), но сами узлы не могут быть упорядочены в иерархии без какой-либо пользовательской системы, опирающейся на ссылки на сущности.

Пересмотр

  • Узлы имеют изменяемый пользовательский интерфейс, и вы можете легко вернуться к предыдущим версиям.
  • В терминах таксономии по умолчанию включено отслеживание изменений, но пользовательский интерфейс пока недоступен. Когда-нибудь это изменится.

Поддержка меню на странице редактирования

  • Узлы можно легко добавить в меню на странице редактирования.
  • Чтобы добавить термин в меню, сначала необходимо создать термин, а затем вручную создать ссылку в меню, в которое вы хотите добавить ссылку.
 1
Author: Patrick Kenny, 2020-07-20 01:35:42