Как переопределить список таксономии / термина /% с представлением?

У меня есть словарь, прикрепленный к типу контента. Для категоризации узла, созданного с помощью этого типа контента, можно выбрать только один термин. Словарь называется «Транспортные средства» и имеет термины «автомобили, грузовики, лодки». Тип контента также называется Транспортными средствами.

Я использую path auto, чтобы он показывал [словарь: имя] /[term: name], поэтому при визуализации он покажет site.com/vehicles/trucks, например, который покажет все грузовики ... типичный Drupal вещи .. Хорошо ...

Теперь у меня есть представление, которое представляет собой страницу с дорожными транспортными средствами. Он настроен на отображение всех элементов типа «транспортные средства». Этот просмотр страницы также настроен для принятия аргумента «идентификатор терминов таксономии».

Обратите внимание, что, когда присутствует термин таксономии, псевдоним url, созданный для пути таксономии, является таким же, как и страница Views с предоставленным аргументом:

URL Псевдонимом пути таксономии = транспортные средства /грузовики. Страница просмотров с аргументом = транспортные средства /грузовики.

Это специально. Моя цель состояла в том, чтобы показать все результаты этого типа содержимого, когда аргумент отсутствовал, и когда он присутствовал, он наиболее важно отфильтровывал результаты на основе этого таксономического термина И сохранял те же поля и структуру, что и без аргумента (такие же, как и site.com/vehicles).

Проблема в том, что это работает не так, как ожидалось. site.com/vehicles правильно показывает мой просмотр и связанные с ним фильтры. site.com/vehicles/trucks показывает только обычный, неупорядоченный список таксономии, предоставленный Drupal.

Является ли это потому, что аргумент ID термина «таксономия» настроен неправильно?

Является ли это проблемой с весом, когда таксономические крючки стреляют после просмотров? Если да, то как я могу изменить вес здесь, чтобы он срабатывал правильно и дал мне результаты, которые мне нужны?

Я знаю, что вы собираетесь предлагать, - что Views приходит с таксономией /term /% view, чтобы переопределить представления по умолчанию drupal.

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

Извините, если это сбивает с толку. Ссылка на сайт для справки http://www.buyagainbaby.com . В настоящее время сайт использует таксономию /термин /% в качестве переопределения, но опять же, это должно измениться, так что каждое представление отвечает за то, как оно отображает его результирующий набор на основе таксономии.

26 голосов | спросил blue928 6 AMpFri, 06 Apr 2012 04:23:05 +040023Friday 2012, 04:23:05

5 ответов


20

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

Я нашел решение, которое отлично подходит для моей ситуации, и я поделюсь этим, если оно может помочь вам и парням.

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

Чтобы решить эту проблему, я установил модуль Taxonomy Display http://drupal.org/project/taxonomy_display . Затем я переконфигурировал каждое представление, чтобы в качестве аргумента был присвоен идентификатор Termology Termology.

Отображение таксономии позволяет связать словарь с определенным видом. Теперь, когда я нажимаю на транспортные средства /грузовики, которые являются псевдонимом для таксономии /термина /3, представление берет верх, и это фактически отображается правильно, сохраняя целостность структуры поля.

Если кто-то хочет узнать более подробную информацию о конфигурации, пожалуйста, дайте мне знать.

ответил blue928 6 AMpFri, 06 Apr 2012 11:31:40 +040031Friday 2012, 11:31:40
6

Я считаю, что в вашей настройке есть несколько факторов:

  • Каждый путь должен быть уникальным для доступа к странице, термину, представлению или панели страниц. Если у вас есть два фрагмента контента с тем же адресом, вы теряете контроль над дисплеем. Drupal дает таксономический термин приоритет над Views, поэтому он не будет называться. Определение вида с использованием таксономии /term /# будет перехватывать термин таксономии, но, как вы указали, не отображает значимый URL.

  • Представления не отвечают на псевдонимы. Это потому, что первое, что Drupal делает с любым запросом, - это преобразовать псевдоним в стандарт формата node /nid для всего содержимого Drupal. Поэтому в вашем случае транспортные средства /грузовики преобразуются в узел /#, назначенный на представление. Просмотр не может напрямую принимать контекст из псевдонима.

Чтобы получить то, что вы хотите, вы делаете одну из нескольких вещей.

  • Создайте меню с обратными вызовами, установленными на путь вашего представления. Это приведет к созданию правильного URL-адреса и позволит отображать ответ.

  • Включить панели с менеджером страниц (в Ctools Suite). Если вы определяете панель страницы, определенную для соответствующего URL-адреса, вы можете поместить свой вид в панель панели или передать контекст с панели на страницу непосредственно в область содержимого «Виды». На панели содержимого нет пути. Вместо этого он принимает контексты, такие как путь, заданный панелью страницы напрямую, для создания своего содержимого. Эта серия видеороликов в nodeone.se отлично справляется с демонстрацией использования панелей и менеджер страниц.

  • Другой способ получить представление контента на экране - использовать модуль quicktabs . Я не думаю, что это соответствует вашей конкретной ситуации, но также может напрямую использовать вид, выбирая вкладки, которые вы определяете для страницы.

ответил Ashlar 6 AMpFri, 06 Apr 2012 06:47:28 +040047Friday 2012, 06:47:28
3

Представления имеют встроенное представление, которое эмулирует и переопределяет термины таксономии. Просто включите его, чтобы переопределить списки таксономии с представлениями. Просмотр таксономии

ответил Jeremy John 10 J000000Friday15 2015, 20:54:16
1

Я фактически сделал подобную вещь несколько дней назад. Мое решение не изящно, но оно работает. Я сделал это, чтобы переопределить отображение таксономического термина, используя «Панели», а не «Виды». Затем я добавил все свои разные представления для каждого термина в область содержимого панелей. Поскольку в моем случае у каждого представления есть фильтр, который ограничивает его результатами конкретного словаря, когда вы посещаете страницу терминов таксономии, он показывает только представление для этого конкретного словаря.

Сообщите мне, если вам нужна дополнительная информация о том, как я это сделал.

ответил Patrick Kenny 6 AMpFri, 06 Apr 2012 04:28:32 +040028Friday 2012, 04:28:32
1

Большое решение было предложено WebbyKat , чтобы установить путь к странице /taxonomy /term /% вместо /categories /%

Он работает, но он перепишет все ваши термины в один вид.

ответил timofey 28 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowFri, 28 Sep 2012 11:39:52 +0400 2012, 11:39:52

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132