Фильтр по присоединенной таблице в mFilter2

Всем привет, возникла задача сделать фильтр по наличию товара (есть/нет), использую для этого компонент msProductRemains и mSearch2.
В выдачу фильтра я подключил остатки, всё работает, таблица приджойнина и модель компонента загружена, и теперь согласно документации хочу сделать обычный фильтр по наличию (да/нет)
В доках написано:
Параметр &filters - Список фильтров ресурсов, через запятую. Указывается в формате "таблица|поле:метод".
Ниже в этой же документации написано следующее
Построение фильтров указывается через один параметр &filters, в формате "кодовое_имя_таблицы/поле:фильтр"
Сначала была просто «таблица», теперь уже «кодовое_имя_таблицы», пробую использовать просто название таблицы, никаких фильтров не добавляется, вопрос — где можно узнать «Кодовое_имя_таблицы» компонента, я перерыл весь исходный код, модели, классы компонента, перепробовал подставлять все варианты, которые там упоминались, но всё безрезультатно.
Товарищи, помогите, кто уже сталкивался с такой задачей.
Семён Кудрявцев
26 апреля 2017, 11:12
modx.pro
1 377
0

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

Олег
26 апреля 2017, 14:28
0
Если смотреть документацию mfillter2, то там указано, что при указании фильтров первым параметром пишется метод, которым получаются значения, вторым параметром — поле, которое необходимо, третьим параметром — метод для построения фильтра.
По умолчанию первый и второй параметр — default.
Это я написал по памяти, не заглядывая в документацию — могу где-то ошибиться.

Примеры из документации вызовов фильтров:

&filters=`
    resource|parent:categories,
    resource|template:default,
    ms|price:number,
    tv|myname:default,
    msoption|size:default
`
Метод resource получает данные из таблицы modResource
Метод ms получает данные из таблицы msProduct
Метод tv получает данные из таблицы tv (не помню, как она точно называется, вроде бы template_variables)
Метод msoption получает данные, закодированные в json из таблицы msProduct

Вряд ли какой-то из них сможет получить данные остатков (которые, скорее всего, в отдельной таблице) — для этого нужен будет новый метод.
Либо, если остатки добавляются в таблицу msProduct, то остатки можно будет получить с помощью метода ms
    Семён Кудрявцев
    26 апреля 2017, 14:32
    0
    Это всё понятно, остатки, действительно хранятся в отдельной таблице, правильно ли я понял, что без переписывания класса фильтрации и добавления в него нового метода, свою таблицу к фильтрам не подключишь?
      Олег
      26 апреля 2017, 14:35
      0
      Верно, нужно расширять фильтры для того, чтобы получать эти данные.
      Скорее всего обойдется одним методом GET — дальше данные можно обрабатывать имеющимися методами.

      Возможно я что-то упустил и не исключено, что кто-то предложит вариант без добавления метода.
        Семён Кудрявцев
        26 апреля 2017, 14:42
        0
        Спасибо, Олег. Буду пробовать.
          Олег
          26 апреля 2017, 14:52
          0
          Всегда рад :)
          Если не трудно — гляньте, пожалуйста, мой вопрос, вдруг знаете ответ:
          modx.pro/help/12032/#comments
          Вроде бы сто раз с этим разбирался, но всегда потом что-то всплывает.
    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
    5