Типы материалов или термины таксономии?

Главные вкладки

Аватар пользователя Sennheiser Sennheiser 11 августа 2017 в 19:16

Привет всем!
Планируется создать на сайте-статейнике несколько категорий публикаций. Категорий будет 30-40, что-то типа таких - Статьи, Новости, Пресс-релизы, Интервью, События, Фотоотчеты и прочие... Поля у них примерно одинаковые.
Есть два способа:
1) Первый способ - создать для каждой категории свой тип материала
2) Второй способ - создать один тип материала «Публикации» и создать словарь с терминами (категориями)

Склоняюсь к первому варианту. Подскажите пожалуйста 30-40 типов материалов это не много?? Что насчет производительности?

Комментарии

Аватар пользователя mbaev mbaev 11 августа 2017 в 21:10
1

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

  • страницу, где есть вывод всех соответствующих материалов
  • объединяющий параметр, по которому можно найти соответствующие материалы

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

Аватар пользователя Sennheiser Sennheiser 12 августа 2017 в 1:57

Ок. Решил все таки сделать более правильно - с терминами. А точнее переделать, так как ранее я уже создал несколько типов материалов. Но кое-что не могу решить с УРЛами:

Сейчас несколько категорий созданы по первому способу (несколько типов материалов). Для каждого типа настроены синонимы(паттерны) УРЛов. Например, у нод новостей и событий настроены такие УРЛы соответственно:
mysite.ru/news/1 - В синонимах url стоит news/[node:nid]
mysite.ru/events/2 - В синонимах url стоит events/[node:nid]

Но если теперь переделать по второму способу, то есть 1 тип материала, 1 словарь и несколько терминов, то как сделать, чтобы урлы остались прежние? Термины называются "Новости" и "События" В синонимах поставить для типа материала [term:name]/[node:nid] не вариант, так как получается урлы:
mysite.ru/novosti/1
mysite.ru/sobytiya/1

Аватар пользователя Сетегном Сетегном 12 августа 2017 в 3:07
1

Вбей в поле описания терминов для Новости — news, для События — events, и используй для типа шаблон вроде такого — [node:[системное-название-поля-термина]:0:description]/[node:nid].

Аватар пользователя Sennheiser Sennheiser 12 августа 2017 в 12:21

Сетегном wrote:

Вбей в поле описания терминов

Дело в том,что поля эти уже используются. Получается, что есть только один вариант —специально для этого новое поле создать?

Аватар пользователя Сетегном Сетегном 12 августа 2017 в 13:08
1

Вбей в поле альтернативного пути терминов для Новости — news, для События — events, и используй для типа шаблон вроде такого — [node:[системное-название-поля-термина]:0:url:path]/[node:nid]. Так логичнее, чем для описания.

Аватар пользователя mbaev mbaev 12 августа 2017 в 15:46

В смысле если она должна находиться или уже находится? Вопрос не до конца понятен.
Если вам нужно поместить ноду в два раздела - то сделайте филд с терминами таксономии многозначительным и добавляйте несколько терминов в ноду.
Настройки количества значений хранятся в филде.

Аватар пользователя Sennheiser Sennheiser 12 августа 2017 в 15:52

как при этом будет урл отображаться?
Если использовать такой метод :

используй для типа шаблон вроде такого — [node:[системное-название-поля-термина]:0:url:path]/[node:nid]

Аватар пользователя Sennheiser Sennheiser 12 августа 2017 в 17:00

если указать шаблон [node:field-tags:0:url:path]/[node:nid]
и в ноде указать несколько терминов, то у урле будет прописан тот, который первый идет.
За это отвечает "0" в шаблоне?

Аватар пользователя Сетегном Сетегном 12 августа 2017 в 20:49

С 0 я у себя скопировал и вставил не подумав, как с полем описания. Pathauto не умеет делать несколько альтернативных путей для одного документа. Можешь пойти этим путём с Rules — How to automatically generate multiple aliases for one node? Но потом, как я понимаю, встанет вопрос как показывать на обзорных страницах разных терминов документы с нужным URL, потом будет набор URL в шаблоне по условиям, потом доступность страницы по разным URL и всё такое.

Аватар пользователя Sennheiser Sennheiser 12 августа 2017 в 21:21

Как раз с "0" всё получилось и работает. Если поменять на "1", то урл меняется на второй термин, если на "2" — на третий, и так далее. Или что то может не так пойти?

Аватар пользователя BatKor BatKor 12 августа 2017 в 21:29

Если, что у вас будут дубли.
Вы хотите что бы одна статья была доступна к примеру
example.ru/news/1
example.ru/events/1
Может вам проще создать термин таксономию

  1. В ней создать текстовое поле.
  2. Словарь
    1. Новости в созданное поле вписать news
    2. События в созданное поле вписать events

Ну и вывести это поле через токен

Аватар пользователя Sennheiser Sennheiser 12 августа 2017 в 22:13

BatKor wrote:
Если, что у вас будут дубли.
Вы хотите что бы одна статья была доступна к примеру
example.ru/news/1
example.ru/events/1

нееее))) это мне наоборот не нужно, поэтому я и спрашивал ранее, что будет прописываться в УРЛЕ, если у ноды несколько терминов. Мне показалось если нода будет иметь термины и "news" и "events", то будет прописываться в урле — example.ru/news/events/1

но я сделал по совету Сетегнома:
для каждого термина прописал Альтернативный путь:
для термина Новости — news
для термина События — events

затем прописал в шаблоне типа материала
[node:field-tags:0:url:path]/[node:nid]
и всё получилось.

Теперь если в поле термина вписать Новости, События
то в урле ноды будет прописываться альтернативный путь для первого по счету термина:
example.ru/news/1

BatKor wrote:

В ней создать текстовое поле.

Зачем создавать лишнее поле, если можно использовать существующее?