drupal 6 - могу ли я использовать один фильтр открытых представлений для поиска / фильтрации нескольких похожих полей cck? - PullRequest
2 голосов
/ 07 августа 2009

У меня есть приличное понимание настройки drupal и использования модулей для базовых вещей, но я только начинаю заниматься разработкой модулей и переопределяю функции и прочее из-за моего базового понимания php и mysql.

У меня есть пользовательский тип контента («книги») и поле размером 3 cck для жанров (первичное, вторичное, третичное). Мне бы хотелось, чтобы пользователь мог фильтровать просмотр всех книг с помощью одного многократного фильтра жанров. вот где я застрял - я понимаю, как иметь три открытых фильтра для «весов» 3 жанров (первичного, вторичного, третичного) - мне нужен один фильтр, который позволил бы пользователям выбирать любой или все эти весы.

является ли пользовательская форма поиска единственным вариантом? Был ли лучший способ настроить вещи? было бы лучше использовать одно поле cck для «жанров» с несколькими записями? я исключил это, потому что думал, что будет сложнее определить жанр «вес» (первичный, вторичный, третичный).

спасибо миллион.

Ответы [ 2 ]

1 голос
/ 07 августа 2009

Подумайте, в чем смысл жанров для книги. Таксономия - это то, что вы используете для такого рода вещей. Есть несколько профессионалов, которые используют таксономию, а не поля CCK.

  • Таксономия - это метаданные, поля CCK - нет. Это означает, что способ, которым HTML генерируется для терминов таксономии, поможет SE понять, что эти жанры важны, и даст вам бесплатную SEO
  • Вы можете установить, как жанры должны выбираться гораздо более детально, чем поле CCK. Опять же, так как таксономия сделана именно для такого рода вещей. Вы можете настроить, как пользователи будут представлены с выбором жанра различными способами. Вы можете заранее определить жанры или позволить пользователям вводить свои собственные, как им нравится. Вы можете создавать отношения «ребенок-родитель» и многое другое
  • Таксономия проще и легче использовать, чем поля CCK.
  • Если введен только один или два жанра, вам не нужно иметь пустых полей CCK.
  • вероятно, больше, о чем я не могу думать сейчас

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

0 голосов
/ 07 августа 2009

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

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

Не взломанное решение - написать собственный фильтр просмотров , но это очень продвинуто.

Может быть способ сделать это с помощью представлений из коробки, он гибкий, надеюсь, кто-то еще знает о более простом нехакерском решении.

...