Привет всем!
Планируется создать на сайте-статейнике несколько категорий публикаций. Категорий будет 30-40, что-то типа таких - Статьи, Новости, Пресс-релизы, Интервью, События, Фотоотчеты и прочие... Поля у них примерно одинаковые.
Есть два способа:
1) Первый способ - создать для каждой категории свой тип материала
2) Второй способ - создать один тип материала «Публикации» и создать словарь с терминами (категориями)
Склоняюсь к первому варианту. Подскажите пожалуйста 30-40 типов материалов это не много?? Что насчет производительности?
Комментарии
Таксономия для того и придумана.
Лучше смотрите на это дело с технической стороны.
Если вам нужно объединять некоторые материалы по смыслу и иметь что-то общее:
то выбирайте термины таксономии.
Если же ноды разных типов (в вашем понимании) должны иметь разный вид (разный набор полей), то здесь только разные типы материалов могут помочь.
30 типов материалов, при правильном создании, не повлияют на работу сайта. Тем не менее это не считается хорошей практикой.
Ок. Решил все таки сделать более правильно - с терминами. А точнее переделать, так как ранее я уже создал несколько типов материалов. Но кое-что не могу решить с УРЛами:
Сейчас несколько категорий созданы по первому способу (несколько типов материалов). Для каждого типа настроены синонимы(паттерны) УРЛов. Например, у нод новостей и событий настроены такие УРЛы соответственно:
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
Вбей в поле описания терминов для Новости — news, для События — events, и используй для типа шаблон вроде такого — [node:[системное-название-поля-термина]:0:description]/[node:nid].
Дело в том,что поля эти уже используются. Получается, что есть только один вариант —специально для этого новое поле создать?
Вбей в поле альтернативного пути терминов для Новости — news, для События — events, и используй для типа шаблон вроде такого — [node:[системное-название-поля-термина]:0:url:path]/[node:nid]. Так логичнее, чем для описания.
Да можно поле новое
блин, а как быть если нода находится двух разделах сразу?
В смысле если она должна находиться или уже находится? Вопрос не до конца понятен.
Если вам нужно поместить ноду в два раздела - то сделайте филд с терминами таксономии многозначительным и добавляйте несколько терминов в ноду.
Настройки количества значений хранятся в филде.
как при этом будет урл отображаться?
Если использовать такой метод :
Трудно самому попробовать? Или вы тролите?
если указать шаблон [node:field-tags:0:url:path]/[node:nid]
и в ноде указать несколько терминов, то у урле будет прописан тот, который первый идет.
За это отвечает "0" в шаблоне?
С 0 я у себя скопировал и вставил не подумав, как с полем описания. Pathauto не умеет делать несколько альтернативных путей для одного документа. Можешь пойти этим путём с Rules — How to automatically generate multiple aliases for one node? Но потом, как я понимаю, встанет вопрос как показывать на обзорных страницах разных терминов документы с нужным URL, потом будет набор URL в шаблоне по условиям, потом доступность страницы по разным URL и всё такое.
Как раз с "0" всё получилось и работает. Если поменять на "1", то урл меняется на второй термин, если на "2" — на третий, и так далее. Или что то может не так пойти?
Если, что у вас будут дубли.
Вы хотите что бы одна статья была доступна к примеру
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
Зачем создавать лишнее поле, если можно использовать существующее?