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

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

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

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

бесконечно благодарен.

2 ответа

Решение

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

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

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

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

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

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

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

Другие вопросы по тегам