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

StackOverflow https://stackoverflow.com/questions/1242882

Вопрос

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

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

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

огромное спасибо.

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

Решение

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

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

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

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

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

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

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

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

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