Павел Романов

Павел Романов

Был в сети 30 июля 2026, 15:23
Заказы принимаю
Истина, как всегда, посередине ))
Я обычно пляшу от удобства дальнейшей работы заказчика в админке.
Если требуются какие-либо особые доп. поля, или хитрое оформление редактора и т. д., то выношу в отдельный шаблон.
Таким образом для стандартного магазина получается «Главная страница», «Стандартная страница», «Категория», «Товар», «Новость, публикация» ну еще пара служебных.
Корзину, поиск и все страницы, которые не требуют своих TV или какой-то особой верстки, делаю на «Стандартной странице» с условиями (обычно по ID) на Fenom.
Если общие страницы одинаковые, то можно вынести их в основной контекст:
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]]`

Для меню же вообще не указываете контекст — по умолчанию выводится все из текущего.
Страницу фильтрации, можно открывать сразу с параметром:
http://site.ru/catalog/?city=Москва

Параметр и значение зависят от реализации. Это может быть как название города, так и ID ресурса или еще какой уникальный идертификатор.
Смотря, что Вам требуется.
Если нужна фильтрация предложений на странице каталога, то да — можно использовать mSearch (вернее, mFilter, идущий с ним в комплекте).
Если достаточно просто списка предложений на страницах городов/регионов, то хватит TV и какого-нибудь сниппета, выводящего ресурсы (getResources, pdoResources, getProducts и т. д.).
Из ошибки следует, что у Вас проблема с переменной $response. То ли она не является массивом, то ли не существует, то ли ничего не содержит.
Смотрите, что там до этих строк, как формируется эта $response и, соответственно, проверяйте.