Вопрос

Здравствуйте :) Я разместил этот же вопрос на сайте, ориентированном на Drupal, но вообще не получил никаких ответов. Я ворчал про себя и хотел, чтобы сайт был больше похож на Stackoverflow, поэтому я подумал, почему бы не попробовать спросить его здесь :)

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

До сих пор у представления есть один аргумент, таксономическое удостоверение личности с термином, и отсортируется по дате почты. Но что, если я захотел отобразить все узлы определенного термина, со всеми узлами узла наверху и всеми узлами не-узловых (но все еще под этим конкретным термином таксономии) ниже, отсортированные по дате?

Чтобы уточнить, скажите, что это мой словарный запас, мы назовем это «живыми вещами»

Plant
--Fruit
--Vegetable
Animal
--Fish
--Dinosaurs

Следующие узлы находятся при динозаврах:

Tyrannosaurus Rex (added 2009-01-01)
Megalosaurus (added 2009-01-02)
Velociraptor (added 2009-01-03)
Brachiosaurus (added 2009-01-04)

Поскольку тиранозавры и велосирапторы являются очень удивительными динозаврами, они также добавляют к живым материалам Nodequeue, Dinosaurs: Subqueue Dinosaurs:

Подккеауэ:

  1. Велоцираптор
  2. тиранозавр Рекс

Последний вид должен отображать их в этом порядке:

Velociraptor (it's first in the NQ)
Tyrannosaurus Rex (2nd in NQ)
Brachiosaurus (of the remaining dinosaurs, this is the newest)
Megalosaurus (oldest non-queue dinosaur)

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

Любая помощь или предложения по этой проблеме будут высоко оценены. Спасибо!

Это было полезно?

Решение

Я не очень много пробовал с подковами Nodequeues, поэтому я не совсем уверен в этом. Но из моего опыта с узлами, кажется, при использовании представлений вы ограничены основными вещами, которые они поддерживают, и не можете действительно выполнять тип настройки, которую вы ищете. Я думаю, что ваш лучший выбор - создать обработчик сортировки сортировки собственных представлений, где вы можете отсортировать его так. Вероятно, будет довольно сложно сделать такой обработчик, так как вам нужно выяснить как представления, так и узлы, чтобы заставить его работать. Вы должны действительно подумать, если это будет стоить того, прежде чем отправиться вниз по этому пути, если только вы не делали подобные вещи с взглядами раньше.

Другие советы

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

  1. Липкий
  2. Модифицированные даты

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

Решение Джереми также должно быть работоспособным, и я бы сказал, что это еще один общий способ справиться с данным сценарием.

Хакерское решение предупреждение!

Имейте основное представление на своей странице с элементами Nodequeue.

Создайте еще один вид, который выявляется как блок для элементов Nodequeue. Поместите этот блок в основную область контента и ограничьте его, чтобы показать только на URL -адресах, которые такие же, как первое представление.

Возможно, вам придется провести некоторую погружение с переменными URL, но я думаю, что это сработает.

Почему бы вам не объединить виды за каждым узлом? (Каждая узловая ряд генерирует представление). Вы можете добавить заголовок (см. «Основные настройки» на странице редактирования) во вторую узлу, которая содержит код PHP, который вызывает views_embed_view ('first nodequeue') (вам просто нужно изменить формат ввода заголовка к «php»). Или, скорее, создайте пользовательское представление, которое включает в себя каждый узловой подъем, вызывая views_embed_view (). Это эффективно поместит один узлы наверху, и если они имеют тот же формат/тип контента, вам даже не нужно возиться с полями: вы можете использовать стиль строки == Узел. Что касается ваших аргументов, они могут быть переданы в views_embed_view, как третий параметр (документы не говорят, что afaicr, но я нашел пост на форумах (http://drupal.org/node/99721) это указано, что аргументы могут быть отправлены как «$ current_view-> args» на встроенное представление).

Hth

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top