Таксономия:дубли словарей

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

Аватар пользователя drup-user drup-user 31 марта 2018 в 16:21

Всем привет. Есть тип материала новости и словарь с терминами для новостей.

/news/World Expo 2025

Есть другой тип материала, где описывается World Expo, который тоже имеет термин World Expo 2025.

/vistavki/World Expo

Соответственно термин таксономии покажет все типы материала. А мне нужно для новостей показывать термины только типа новости., для выставок - термины выставок.

Как лучше сделать:
Дубли терминов
taxonomy/vistavki/World Expo
taxonomy/news/World Expo

или выводить таксономию через views?

Или другие варианты?
Лучше для быстродействия сайта, логики структуры, работы с cms, экономии ресурсов итд. В общем как правильно работать с таксономией?

Комментарии

Аватар пользователя VasyOK VasyOK 31 марта 2018 в 16:36

Работайте так как вам удобно. Если делает большой сайт будете много раз менять структуру (словари, типы материалов, разные ил одинаковые поля и т.д.)

Аватар пользователя drup-user drup-user 1 апреля 2018 в 14:56

тяжело дается мне выбор.
С одной стороны удобные и гибкие вьюхи с аяксом и сортировкой.
С другой больше запросов к БД, чем таксономия.

Аватар пользователя drup-user drup-user 1 апреля 2018 в 14:59

преимущества в дублях словарей еще в возможности генерации разных путей в pathauto и path breadcrumbs, задавая аргументы в виде taxonomy словарь

Аватар пользователя VasyOK VasyOK 1 апреля 2018 в 15:41

Повторяю делайте как удобнее. Вьюхи можно закешировать.

"С другой больше запросов к БД, чем таксономия." Что больше?

Аватар пользователя Studio VIZA Studio VIZA 1 апреля 2018 в 22:57

Ресурсы экономить, Вам какой смысл? По секрету скажу, это предвестник крайне нищенской оплаты за работу.

В вопрос особо не вникал, но вьюхи при нормальных ресурсах удивительно гибкие и послушные.

Аватар пользователя drup-user drup-user 3 апреля 2018 в 20:23

В целом да гибкие, но каково было разочарование, когда я сегодня узнал, что вьюхи для таксономии применяются ко всем словарям сразу (/taxonomy/term/%).
И из коробки не сделать, чтобы одному словарю один вид - другому другой, нужны еще подмодули....

Аватар пользователя Semantics Semantics 3 апреля 2018 в 20:44

И что такого в этом?
Не подмодули, а один.
Либо tvi, либо что-то из контексто-панелей, которыми вы и другие вопросы закроете.
Первый так вообще простецкий

Аватар пользователя VasyOK VasyOK 3 апреля 2018 в 21:39
2

Без tvi и панелей словари указываются в контекстных фильтрах вьюхи. Т.обр. разные вьюхи для разных словарей. Это для автора темы.

Аватар пользователя drup-user drup-user 4 апреля 2018 в 0:07

Это там, где "иммеет идентификатор термина таксономии"? - "Указать критерии валидации" - выбрать словарь?
Работает, спасибо.
Тогда зачем нужен этот tvi...

Аватар пользователя drup-user drup-user 5 апреля 2018 в 17:38

VasyOK wrote:

Без tvi и панелей словари указываются в контекстных фильтрах вьюхи. Т.обр. разные вьюхи для разных словарей. Это для автора темы.


Все же не работает. Клонировал стандартную Taxonomy term дважды и отключил оригинал.
Первая "новости" - указал контекстный фильтр Содержимое: Имеет идентификатор термина таксономии (с глубиной) - Обеспечить значение по умолчанию - Загрузить фильтр по умолчанию для страницы термина
Загрузить фильтр по умолчанию со страницы материала - Ограничить термины словарем
выбрал словарь "новости"
Вторая "статьи" указал Содержимое: Имеет идентификатор термина таксономии (с глубиной) - все то же самое, только указал словарь "статьи".

В итоге новости работают, а у "статьи" 404 ошибка.

Аватар пользователя rgzrgz1 rgzrgz1 5 апреля 2018 в 20:41

VasyOK wrote:

Без tvi и панелей словари указываются в контекстных фильтрах вьюхи. Т.обр. разные вьюхи для разных словарей. Это для автора темы.

Да, но системную таксономию /taxonomy/term/% так не сделать.
www.example.com/[словарь1] ( view1)
www.example.com/[словарь2]/view2
/taxonomy/term/% перезапишет и словарь 1 и словарь 2.

И если указать один словарь, в контекстных фильтрах, то будет 404 в словаре 2.
Если во втором словаре тоже указать словарь, то будет 404 в словаре 1, т.к. /taxonomy/term/% для всех словарей.

Потому что по умолчанию в Drupal не существует словарной страницы, такой как
site.com/[vocabulary name].

Аватар пользователя VasyOK VasyOK 6 апреля 2018 в 1:30

Значит во вьюхе taxonomy-term выводим поле пустой пользовательский текст, т.е. делаем пустую вьюху.
А ноды терминов выводим через блоки, которые ставим на страницы таксономии. Вот для этих блоков точно можно указать разные словари в контекстных фильтрах.