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

Пт, 11/08/2017 - 16:16

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

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

0 Спасибо

Комментарии

Аватар пользователя Lotar
1 неделя 3 дня назад Lotar #

Таксономия для того и придумана.

0 Спасибо
Аватар пользователя mbaev
1 неделя 3 дня назад mbaev #

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

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

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

1 Спасибо
Аватар пользователя Sennheiser
1 неделя 3 дня назад Sennheiser #

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

Сейчас несколько категорий созданы по первому способу (несколько типов материалов). Для каждого типа настроены синонимы(паттерны) УРЛов. Например, у нод новостей и событий настроены такие УРЛы соответственно:
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

0 Спасибо
Аватар пользователя Сетегном
1 неделя 3 дня назад Сетегном #

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

1 Спасибо
Аватар пользователя Sennheiser
1 неделя 2 дня назад Sennheiser #
Сетегном написал:
Вбей в поле описания терминов

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

0 Спасибо
Аватар пользователя Сетегном
1 неделя 2 дня назад Сетегном #

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

1 Спасибо
Аватар пользователя BatKor
1 неделя 2 дня назад BatKor #

Да можно поле новое

0 Спасибо
Аватар пользователя Sennheiser
1 неделя 2 дня назад Sennheiser #

блин, а как быть если нода находится двух разделах сразу?

0 Спасибо
Аватар пользователя mbaev
1 неделя 2 дня назад mbaev #

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

0 Спасибо
Аватар пользователя Sennheiser
1 неделя 2 дня назад Sennheiser #

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

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

0 Спасибо
Аватар пользователя BatKor
1 неделя 2 дня назад BatKor #

Трудно самому попробовать? Или вы тролите?

0 Спасибо
Аватар пользователя Sennheiser
1 неделя 2 дня назад Sennheiser #

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

0 Спасибо
Аватар пользователя Сетегном
1 неделя 2 дня назад Сетегном #

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

0 Спасибо
Аватар пользователя Sennheiser
1 неделя 2 дня назад Sennheiser #

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

0 Спасибо
Аватар пользователя BatKor
1 неделя 2 дня назад BatKor #

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

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

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

0 Спасибо
Аватар пользователя Sennheiser
1 неделя 2 дня назад Sennheiser #
BatKor написал:
Если, что у вас будут дубли.
Вы хотите что бы одна статья была доступна к примеру
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 написал:
В ней создать текстовое поле.

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

0 Спасибо