У меня есть здоровенный словарь марок и моделей автомобилей, порядка 2000 записей. Словарь — с одиночной иерархией, то есть родительские термины — это марки автомобилей, типа "Газ", а дочерние термины — это модели, типа "Газель". Всё замечательно, но, когда дело доходит до выбора терминов при создании материала, я сталкиваюсь с проблемой поиска нужных терминов в этом гигантском списке. Очень хотелось бы как-то поумнее организовать этот процесс, например, выбирать сначала родительский термин, чтобы на его основе при помощи AJAX загружался второй список с дочерними терминами.
Я пробовал добиться этого, используя связку CCK + Content Taxonomy + Active Select, и всё было бы замечательно, если бы не ошибка в яваскрипте модуля Active Select, из-за которой нифига буквально не работает. Я поискал в обсуждениях здесь, нашёл тему с обсуждением этого вопроса, но в теме той примерно год последнему ответу, и решения никто не предложил. Может, с тех пор что-то изменилось?
Комментарии
Актуально. Та же проблема.
я задал этот же вопрос на официальном сайте друпала — посоветовали модуль Taxonomy Super Select. но я с ним уже возился и никаких в нём функций, которые могли бы мне помочь, не нашёл (или не понял, как включаются). может, кто-нибудь есть поопытнее?
Судя по описанию модуля - это что надо, как-то я его упустил из виду... Есть ли тогда смысл его ставить? Что он делал в Вашем случае? Я бы посмотрел, но именно сейчас только рабочий сайт, тестировать пока негде.
в моём случае он просто превращал селект в набор чекбоксов/радиокнопок
решил проблему следующим образом:
в моём случае проблема была в том, что скрипт пытался обратиться к полю по ошибочному айдишнику — вместо "-" там был "_". я не знаю, где происходит эта ошибка, но с помощью небольшого патчика могу устранить последствия этой ошибки:
строка 34:
var newTarget = $('#' + targetsArray[target]).get(0);
заменяется на:
var newTarget = $('#' + targetsArray[target].replace(/_/,"-")).get(0);
грубо, но работает, включая даже несколько activeselect-полей на странице. надеюсь, кому-нибудь поможет
Мда... не радует конечно, особенно доп. CCK + Active Select + Content Taxonomy, с учетом того, что модулей и так уже много и нагрузка соответственно. А словари включают по несколько сотен термов, не 2000 конечно, но все же...
спасибо, а можно где-то посмотреть что получилось?
у меня — нет, это не публичный проект
Вот пример: http://www.drugme.ru/users_search - явно похоже на решение Вашей задачи.
Вот реализация: http://www.drupal.ru/node/5761
Блин, сколько же я мучался, пока не набрел на этот топик! Для чистоты эксперимента замутил свежую инсталляцию, создал словарь с одиночной иерархией, добавил несколько терминов дабы "нарисовалось" дерево... Установил модули, сделал все по пунктам из коммента выше - заработало! В третьем пункте необходимости небыло - видимо с тех пор, как писали коммент, уже пофиксили.
Спасибо!
Есть еще hierarchical select. Пользуюсь им. Очень удобно для больших словарей с иерархией.
Например, как здесь http://berimir.com/production
а где взять hierarchical select для 6-го друпала, или скорее всего что то подобное для views есть
Перешел на hierarchical select - достойная альтернатива, плюсы - все в одном мудуле и никакого гемороя.
а кстати надо еще так что бы пользователи могли предлагать добавить новую категорию примерно так:
"Хотите предложить новую категорию? Нажмите сюда."
и что бы при нажатии выезжало поле для добавления, а потом админ его утверждал
ведь это надо наверняка всем
hierarchical select позволяет это делать. Можно поставить галочки в свойствах словарей.
Только не уверена, что возможна предварительная модерация категорий. Поэтому пока не даю своим пользователям добавлять новые ключевые слова. Боюсь, что совсем каша будет