Как реализовать выборку по городу и региону?

Всем привет, кто то уже делал сайт по недвижимости или что то подобное?
Как реализовать выборку по городу и региону?
Это можно сделать с помощью mSearch2? Или надо что то другое искать?
Если такого решения нет, то за сколько готовы взяться за такую работу?
Всем заранее спасибо!
Сергей
24 сентября 2016, 08:25
modx.pro
1 984
0

Комментарии: 12

Павел Романов
24 сентября 2016, 11:42
+1
Смотря, что Вам требуется.
Если нужна фильтрация предложений на странице каталога, то да — можно использовать mSearch (вернее, mFilter, идущий с ним в комплекте).
Если достаточно просто списка предложений на страницах городов/регионов, то хватит TV и какого-нибудь сниппета, выводящего ресурсы (getResources, pdoResources, getProducts и т. д.).
    Сергей
    24 сентября 2016, 12:44
    0
    Спасибо за ответ! Нужно, что бы посетитель сайта смог найти нужный ему объект с выбором города и региона. Можно как то сделать что бы по умолчанию фильтр с городом был уже активен и выбран какой то город определенный?
      Павел Романов
      24 сентября 2016, 12:58
      +1
      Страницу фильтрации, можно открывать сразу с параметром:
      http://site.ru/catalog/?city=Москва

      Параметр и значение зависят от реализации. Это может быть как название города, так и ID ресурса или еще какой уникальный идертификатор.
        Сергей
        24 сентября 2016, 13:47
        0
        Спасибо! Попробую!
          Роман Садоян
          24 сентября 2016, 15:26
          0
          Павел, а если необходимо организовать более 14 городов.
          Где у каждого города свои ресурсы.
          Использовать контексты? И если использовать контексты, то как быть с Ajax запросами, когда JS обращается по ссылке к ресурсу с пустым шаблоном, где вызывается сниппет, который отрабатывает этот ajax запрос и выдает результат.
          В случае с контекстами url будут следующими: site.ru/msk/ site.ru/spb/ придется плодить данные ресурсы в каждом контексте или обращаться в один контекст?
            Павел Романов
            24 сентября 2016, 16:05
            +1
            Домен у Вас один — зачем разносить города по разным контекстам?
            Сделайте 14 контейнеров-городов с объектами внутри. Хотите, в общем контексте, хотите вынесите в отдельный для удобства.
            Фильтровать в общем каталоге можно по родителю.
            Если нужно, ресурс со сниппетом для Ajax-запроса можете сделать в любом контексте.
              Роман Садоян
              24 сентября 2016, 16:10
              0
              Затем, что разграничить доступ к админке для разных городов проще и лучше с контекстами, чем ресурсами.

              Тогда как я буду строить меню для каждого контекста? Мне нужно будет строить до родительского ресурса — получается я буду плодить чанки и шаблоны.
                Павел Романов
                24 сентября 2016, 16:29
                +1
                Тогда так и делайте: контекст = город.
                Про чанки и шаблоны не совсем понял. Без описания структуры меню (есть ли общие для каждых городов страницы, например) сложно сказать что-то конкретное.
                  Роман Садоян
                  24 сентября 2016, 16:48
                  0
                  Общие страницы есть, например Реклама, Контакты, Подукция.
                  Далее идут города каждый со своими страницами.

                  В случае с чанками, для того, что бы построить меню от Города до ресурса, мне бы пришлось указывать, что самый первый элемент это контейнер нужного города.
                  Из-за этого мне бы пришлось использовать разные шаблоны и чанки для городов, а это слишком много. А в случае с контекстом с parent =0 и всё.
                  Если я не прав, то подскажи как быть.
                    Павел Романов
                    24 сентября 2016, 17:15
                    +1
                    Если общие страницы одинаковые, то можно вынести их в основной контекст:
                    Web
                        О компании
                        Новости
                        Контакты
                    ...
                    
                    Город 1
                        Объект 1
                        Объект 2
                    ...
                    
                    Город 2
                        Объект 1
                        Объект 2
                    ...

                    И в сниппетах просто указывать, откуда забирать ресурсы:
                    [[pdoMenu?
                    &context=`web`
                    ...

                    Если же у каждого контекста своя структура с различными разделами (например, новости только для этого города, контакты и т. д.):
                    Город 1
                        Новости (5)
                            Новость 1 (6)
                            Новость 2 (7)
                            Новость 3 (8)
                            ...
                        Контакты (9)
                        Каталог (10)
                            Объект 1 (11)
                            Объект 2 (12)
                        ...
                    
                    Город 2
                        Новости (13)
                            Новость 1 (14)
                            Новость 2 (15)
                            Новость 3 (16)
                            ...
                        Контакты (17)
                        Каталог (18)
                            Объект 1 (19)
                            Объект 2 (20)
                        ...

                    то можно использовать настройки контекста. В случае, допустим, с новостями добавляете у каждого параметр page_news, где указываете ID страницы «Новости» этого контекста-города. В примере выше для первого это 5, для второго — 13 и т. д.

                    Тогда в общем (единственном) шаблоне в вызовах просто пишете:
                    &parents=`[[++page_news]]`

                    Для меню же вообще не указываете контекст — по умолчанию выводится все из текущего.
                      Роман Садоян
                      25 сентября 2016, 01:38
                      0
                      Хоть вопрос был и не про контексты, а в случае если для каждого города создать ресурс-контейнер с его именем, но всё равно спасибо, буду юзать контексты.

                      P.S. Плюсанул все комменты =)
                        Павел Романов
                        25 сентября 2016, 11:50
                        0
                        Я про контексты написал из-за Вашей фразы:
                        Затем, что разграничить доступ к админке для разных городов проще и лучше с контекстами, чем ресурсами.

                        Если же ресурсами-контейнерами, то выше )).
    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
    12