Планирую сделать каталог предприятий на views.
Что нужно:
1. Каждой ноде соответствует 2 термина из разных словарей (термины на русском языке). В данном случае это "Города" и "Тип"
2. На странице /catalog/ табличный вывод всех нод. Вот тут первая проблема, неполучаеться сделать группировку. Нужно каждый термин в своем столбце(нода, термин, термин). У меня получаеться только таким образом - 2раза повторяеться название ноды для каждого из терминов. Пробывал делать группировку в опциях views, - результат не достигнут.
3. В самом верху вывода всех нод присутствует что-то похожее на explosed filter, но фильтровать он должен по аргументам.
Вот тут вторая моя трудность:
- есть страница /catalog/
- аргументом нужно фильтровать /catalog/термин "Тип" транслитом
- аргументом нужно фильтровать /catalog/термин "Город" транслитом
- если фильтрация по 2 аргументам, то /catalog/термин "Город" транслитом/термин "Тип" транслитом
Т.е например захожу на страницу /catalog/, там фильтры с моими терминами. Например выбираю тип-банк, город Киев. Идет фильтрация /catalog/kiev/bank/. Дальше уже видны отфильтрованые по моим параметрам ноды. Урл у нод соответственно /catalog/kiev/bank/noda.html
Читал много форум, юзал поиск. Но чтото совсем не получаеться.
Если это очень проблематично для обычной подсказки, то какова стоимость реализации моей задумки?
Комментарии
У меня похожая проблема! Предлагаю объединиться в усилиях.
Мои идеи. Один из терминов можно заменить на CCK поле, тем самым Вы добъетесь разделения таблиц и соответственно получится в таблице сделать два термина.
Другая идея - искусственно добавлять еще одно поле < td >. Это конечно можно назвать костылем, но должно сработать.
Темизация + array_shift()
у ноды будет два термина, первый мы "откусываем" и делаем print("< td >$arrayShift< /td >"), второй будет выведен сам по себе.
По поводу 3-го пункта не совсем понял. Не получается сделать фильтрацию по двум аргументам? В поле Arguments должно быть два параметра Argument: Term и галочка allow multiple arguments
Это вариант. Но тогда прийдеться каждый раз вручную прописывать поле.
В php не силен, но погуглив понял о чем речь. Нужно будет попробывать.
Это понятно. Проблема в том что explosed filter фильтрует и в урл идут ссылки вида /catalog/?tip=1&gorod=23, а нужно /catalog/kiev/bank/. И этот фильтр через свои аргументы работает, а не arguments views
К тому же с "хлебными крошками" и title что то непонятное происходит.
Вот демка примерно того что нужно - _http://places.zpeople.com.ua. Клацаем менюшку страна/город
Нет, это не обязательно. При помощи модуля Option Widgets (он идет вместе с самим CCK) Вы можете создавать выпадающие списки. В manage fields у Вас появится новые опции, среди которых будет новая опция Select list.
А explosed filter в принципе и не нужен. Просто создавайте два аргумента, в Validator options
Validator: ставьте Taxonomy term. Можно поэксперементировать для начала с Term ID, если по ID будет проходить правильно фильтрация, значит Вы на правильном пути, меняйте Term ID на Term name.
А если у меня термины на русском, при выборе Term name их транслит возможен?
Pathauto с проставленой галочкой транслитиляции проделает этот фокус.
Попробывал сделать option cck-поле. Теперь вывод как нужно - таблица название ноды, поле cck, термин.
С аргументами теперь запара.
Что я попробывал:
Аргумент - Таксономия: Term ID
Validator: Словари: галочка у словаря которому соответствуют фильтруемые термины
Argument type: Term ID
Теперь по адресу /catalog/idтермина показываеться то что нужно. С титлом и хлебными крошками тоде уже прояснилось.
Уже гуд:)))
С с term name тоже работает. Только урлы такого вида /catalog/киев. Т.е с русскими буквами.
Попробывал реализовать Term synonym, чтобы в урле теперь было слов транслитом. Ничего не получилось
В алиасах сделал для терминов словаря "города" такие алиасы: kiev, doneck и т.д
По ссылке /catalog/kiev либо 404, либо ничего не показываеться.
Хм... А если попробовать Basic Validation ?
А кто подскажет как можно в таблицу запихать два столбца в каждом столбце должны быть термины из разных словарей?
Искал на сайте но не нашел.