Как создать на одном сайте несколько каталогов использующих общий словарь?
Есть 4 типа материала:
- Тип 1
- Тип 2
- Тип 3
- Тип 4
Также есть 3 словаря(таксономия)
- Словарь 1
- Словарь 2
- Словарь 3
У каждого типа материала множество своих полей, но при этом эти 3 словаря (Словарь 1, Словарь 2 и Словарь 3) являются общими для каждого их этих 4-х типов материала.
Каждый из словарей содержит по несколько сотен терминов. При этом словари имеют также свой набор полей.
Если бы тип материала и каталог был один, то разумеется все очевидно. Вьюха taxonomy/term/%, один раз настроить pathauto для терминов словарей (тип-1/term-name), Metatag для словарей , title и т.д. Но как быть когда типов материалов 4, и требуется соблюсти условие для путей таксономии:
- тип-1/term-name
- тип-2/term-name
- тип-3/term-name
- тип-4/term-name
Пример как должно быть:
Типы материалов:
- Новость
- Событие
Словарь:
- Города
url должны быть вида:
- novostj/gorod
- sobytie/gorod
И также каталоги по терминам:
- Новости
- События
Соответсвенно каждый из каталогов при выборе какого-то конкретного города должен показывать только либо события выбранного города (если каталог события), либо новости своего города (если каталог новости). А также у городов должны быть настроены соответсвующие Meta либо под события в городах, либо под новости в городах.
На первый взгляд напрашивается создание 4 наборов словарей таксномии под каждый тип материала, типа:
- Словарь 1 для типа материала 1
- Словарь 1 для типа материала 2
- Словарь 1 для типа материала 3
- Словарь 1 для типа материала 4
- Словарь 2 для типа материала 1
- Словарь 2 для типа материала 2
- Словарь 2 для типа материала 3
- Словарь 2 для типа материала 4
- Словарь 3 для типа материала 1
- Словарь 3 для типа материала 2
- Словарь 3 для типа материала 3
- Словарь 3 для типа материала 4
И тогда конечно все настраивается очевидным образом. Но мне кажется, что плодить такое кол-во дублей каталогов затея так себе. Ведь что если бы нужно было сделать 10 таких каталогов с одним общим словарем? Делать 10 дублей, а потом их синхронизировать, если в них что-то добавится?
Что посоветуете? Как правильно организовать такое?
Комментарии
Нечего тут советовать. Как умеете - так и делайте.
Построение структуры - это основополагающая дальнейшего вектора развития проекта.Тут и опыт, и SEO, и юзерфрендли и т.д. и т.п.
Можно сделать, условно говоря, 6 вьюх + код и иметь более 100к генерируемых уникальных страниц.
А можно "плодить такое кол-во дублей каталогов", ибо "проще накликать в админке".
Решать вам.
А по существу есть что предложить?
taxonomy/term/%/%
Только тебе это мало чем поможет.
Facet API
тип-1 и term-name - это чем должно быть?
В теории, вьюхе можно указать порядковый номер аргумента в контекстном фильтре.
Но это должен быть ID'шник, либо машинное имя (или еще какой параметр для определения модельки).
Т.е. это может выглядеть, например как article/15, где article - машинное имя типа материала, а 15 - TID термина.
Прикрутить сюда алиасы, без программного вмешательства вряд ли получится.
UPD - Даже не article/15, а myview/article/15.
myview - для определения вьюхи.
Т.е. адрес вьюхи будет myview/%/%.
Вероятнее всего да. А еще нужен полный набор по SEO: возможность установки каждому термину своего Title и Meta тэгов в зависимости от типа материала. (например для одного и того же термина "Минск" это заголовки: Новости в Минске и События в Минске)
В любом случае настроить каталог еще более менее понятно как. Т.е. либо как Вы предложили myview/%/%, либо по вьюхе на тип материала (с контекстным фильтром). Ссылку для термина переопределить во вьюхе, это тоже понятно.
Но как быть с алиасами, тайтлами и метами термина, чтобы сеошники их могли редактировать для обоих типов материала из админки, пока не ясно.
Надо курить Meta: Views.
В подобных (нестандартных) кейсах не всегда получается настроить решение для админки из админки.
В то же время, программными методами это настраивается достаточно просто.