Создание сложного каталога

Главные вкладки

Аватар пользователя CriZ CriZ 6 августа 2012 в 14:30

Добрый день, народ.
В данный момент заканчиваю работу над своим первым сайтом на Drupal который будет представлять собой каталог недвижимости по всем городам России. И вот появилсz такой вопрос. Хочется сделать так, чтобы пользователь мог выбрать нужный город (термин таксономии) и перейти на его страницу, где будут разделенные по полям CCK ноды, принадлежащие этому городу. Ну для примера переходим в Тамбов и открывается страница со списком:
продажа
офисы
дома
квартиры
аренда
офисы
квартиры
и т.д.
И чтобы напротив таких пунктов как офисы, дома, квартиры, в скобках стояло число нодов. Как это можно реализовать?

Комментарии

Аватар пользователя CriZ CriZ 6 августа 2012 в 14:39

Сейчас напишу: в общем города это термины таксономии; продажа, офисы, квартиры и дома это CCK поля со списком допустимых значений. Т.е. основная трудность в том, чтобы на странице термина (города) выводился список (выше написал его примерный внешний вид).

Аватар пользователя CriZ CriZ 6 августа 2012 в 14:57

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

Аватар пользователя CriZ CriZ 11 августа 2012 в 23:46

Подниму тему, т.к. решение из предыдущего коммента выглядит отстойно.
Вот смотрите есть словари: города, тип сделки, кол-во комнат, новая/вторичная. Как при выборе города на его странице выводить такой список:

новые
продажа
1-комн
2-комн
3-комн
4-комн
5-комн

вторичные
продажа аренда обмен
1-комн 1-комн 1-комн
2-комн 2-комн 2-комн
3-комн 3-комн 3-комн
4-комн 4-комн 4-комн
5-комн 5-комн 5-комн

Вот с двумя словаря по урокам выходит, а вот с 3 нифига. Вообще реально такой каталог замутить?

Аватар пользователя Andruxa Andruxa 12 августа 2012 в 1:49

"CriZ" wrote:
города это термины таксономии; продажа, офисы, квартиры и дома это CCK поля со списком допустимых значений

вот CCK в этом случае по мне как-то не айс

у вас же будет постоянно меняться инфа об объектах - квартирах/офисах/домах
что-то продали, что-то сняли, где-то закончился срок аренды и объект снова сдаётся

к тому же, у каждого объекта намечается свой набор полей: площадь общая-жилая-кухня, этажность, кол. комнат ну и т.д.

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

Дальше - представление, которое будет выбирать ноды требуемго типа с контекстным фильтром по термину города

в случае с районами, можно взять в качестве аргумента id термина с глубиной 1 - тогда при выборе города будут показаны все ноды, привязанные к районам этого города, их можно будет сгруппировать по районам

ну и по cck-полям нод сделать раскрытые фильтры представлении: этажность, площадь, и т.п.

да, и пока сайт в разработке, имеет смысл посмотреть в сторону D7

Аватар пользователя multpix multpix 12 августа 2012 в 2:27

"Andruxa" wrote:
вот CCK в этом случае по мне как-то не айс

Совсем не айс!
всю классификацию в таксономию - она для этого и есть.

"CriZ" wrote:
И чтобы напротив таких пунктов как офисы, дома, квартиры, в скобках стояло число нодов. Как это можно реализовать?

можно это и больше,
копать в сторону D7 facetapi search_api и иже с ними
плюс крепко задуматься о использовании Solr

Аватар пользователя CriZ CriZ 12 августа 2012 в 10:39

Всем спасибо за комменты. Как я понял нужно сделать для каждого типа объектов отдельные типы материалов и создать представление, которое будет выбирать ноды требуемого типа с контекстным фильтром по термину города. Ну это не проблема. Проблема вот в чем. Я для примера в предыдущем своем комменте написал примерный вид странички города. Трудность: допустим есть тип объектов "квартиры", к нему привязаны словари кол-во комнат, новая/вторичная и тип сделки (больше пожалуй создавать словарей смысла нет). Необходимо сделать список подобного вида:
новые
продажа
1-комн
2-комн
3-комн
4-комн
5-комн

вторичные
продажа аренда обмен
1-комн 1-комн 1-комн
2-комн 2-комн 2-комн
3-комн 3-комн 3-комн
4-комн 4-комн 4-комн
5-комн 5-комн 5-комн
ВОт как его реализовать недопираю.

Аватар пользователя CriZ CriZ 10 ноября 2015 в 11:48

Народ, подниму тему, т.к. реализовать задуманное так и не удалось (тупо сделал поиск посредством расширенных фильтров на страницах терминов). Как я хочу сделать странички городов подробнее можно увидеть в прикрепленном файле.
Поясню: вместо верхнего меню хочется сделать что-то типа готовой выборки по квартирам нужного города. Переходим допустим в Тамбов и в меню у нас: продажа, аренда, застройщики и т.д. Заходим в раздел продажа и там у нас продающиеся квартиры в Тамбове с удобным поиском по параметрам. И так далее.
Т.е. нужно что-то типа динамического меню.
Вопрос: реально его сделать? Я так понимаю выборку надо делать с помощью представлений, но у меня нифига не выходит Sad
Вопрос 2. Как делать заголовки у страниц "тип сделки" "город" чтобы в итоге это выглядело: продажа квартир в Тамбове (добавить к типу сделки слово квартир и предлог с окончанием к городу).

Аватар пользователя CriZ CriZ 19 октября 2012 в 13:33

Т.е. я так понимаю в приницпе можно реальзовать нужную выбору с помощью представлений, аргументов и фильтров.
Я делал как:
1. Создал представление,
2. Добавил аргумент Таксономия: ID термина, фильтры Материал: Тип = объявление, Содержимое: Тип сделки = аренда,
3. Прописал ему путь taxonomy/term/%/arenda, но при наборе в поисковой строке url вида "название сайта, название города (транслит), arenda" получаю сообщение "страница не найдена".
Вот какие у меня стоят шаблоны для путей:
Шаблон адреса по умолчанию (будет применено ко всем типам материалов ниже, для которых шаблоны не определены): content/[title-raw]
Шаблон для всех адресов материалов типа объявление: [title-raw]
Шаблон для всех адресов словаря Адрес (т.е. для городов) [cat-raw]
Шаблон для всех адресов словаря тип сделки (по которому требуется разделение нод при заходе на страничку города): пустой.
Какой путь мне прописать в шаблоны и в представление чтобы все заработало как нужно? Пните в нужном направлении Smile