Фильтр по присоединенной таблице в mFilter2
Всем привет, возникла задача сделать фильтр по наличию товара (есть/нет), использую для этого компонент msProductRemains и mSearch2.
В выдачу фильтра я подключил остатки, всё работает, таблица приджойнина и модель компонента загружена, и теперь согласно документации хочу сделать обычный фильтр по наличию (да/нет)
В доках написано:
Товарищи, помогите, кто уже сталкивался с такой задачей.
В выдачу фильтра я подключил остатки, всё работает, таблица приджойнина и модель компонента загружена, и теперь согласно документации хочу сделать обычный фильтр по наличию (да/нет)
В доках написано:
Параметр &filters - Список фильтров ресурсов, через запятую. Указывается в формате "таблица|поле:метод".
Ниже в этой же документации написано следующееПостроение фильтров указывается через один параметр &filters, в формате "кодовое_имя_таблицы/поле:фильтр"
Сначала была просто «таблица», теперь уже «кодовое_имя_таблицы», пробую использовать просто название таблицы, никаких фильтров не добавляется, вопрос — где можно узнать «Кодовое_имя_таблицы» компонента, я перерыл весь исходный код, модели, классы компонента, перепробовал подставлять все варианты, которые там упоминались, но всё безрезультатно.Товарищи, помогите, кто уже сталкивался с такой задачей.
Комментарии: 5
Если смотреть документацию mfillter2, то там указано, что при указании фильтров первым параметром пишется метод, которым получаются значения, вторым параметром — поле, которое необходимо, третьим параметром — метод для построения фильтра.
По умолчанию первый и второй параметр — default.
Это я написал по памяти, не заглядывая в документацию — могу где-то ошибиться.
Примеры из документации вызовов фильтров:
Метод ms получает данные из таблицы msProduct
Метод tv получает данные из таблицы tv (не помню, как она точно называется, вроде бы template_variables)
Метод msoption получает данные, закодированные в json из таблицы msProduct
Вряд ли какой-то из них сможет получить данные остатков (которые, скорее всего, в отдельной таблице) — для этого нужен будет новый метод.
Либо, если остатки добавляются в таблицу msProduct, то остатки можно будет получить с помощью метода ms
По умолчанию первый и второй параметр — 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
Это всё понятно, остатки, действительно хранятся в отдельной таблице, правильно ли я понял, что без переписывания класса фильтрации и добавления в него нового метода, свою таблицу к фильтрам не подключишь?
Верно, нужно расширять фильтры для того, чтобы получать эти данные.
Скорее всего обойдется одним методом GET — дальше данные можно обрабатывать имеющимися методами.
Возможно я что-то упустил и не исключено, что кто-то предложит вариант без добавления метода.
Скорее всего обойдется одним методом GET — дальше данные можно обрабатывать имеющимися методами.
Возможно я что-то упустил и не исключено, что кто-то предложит вариант без добавления метода.
Спасибо, Олег. Буду пробовать.
Всегда рад :)
Если не трудно — гляньте, пожалуйста, мой вопрос, вдруг знаете ответ:
modx.pro/help/12032/#comments
Вроде бы сто раз с этим разбирался, но всегда потом что-то всплывает.
Если не трудно — гляньте, пожалуйста, мой вопрос, вдруг знаете ответ:
modx.pro/help/12032/#comments
Вроде бы сто раз с этим разбирался, но всегда потом что-то всплывает.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.