Последние темы


TagManager, как динамически передавать where?

  • Добрый день,
    у меня есть таблица Migx с ресурсами где к каталогу будут хитрые фильтрации.
    Фильтр указывается в поле where.

    Например, хочу создать страницу, где будут только товары с названием ELISA из каталога и .п., заполняю поле where:

    pagetitle:LIKE:AND":"%ELISA%
    

    Подскажите, пожалуйста, как можно передать этот параметр в tmCatalog, чтобы продолжили работать фильтры и сортировки?

    Я уже всю голову сломал((

    Ниже что накопал, может наведет на мысли кого:

    1. Конструкция
    [[!tmCatalog?&where=`[[*where]]`]] 
    

    Работать не будет, т.к. при ajax фильтрации вызывается ajax_resources.php игнорирующий все параметры и берущий все из наборы параметров, куда переменную не загонишь.

    1. Через get невозможно, т.к. при сортировке или других действиях через js передаются только стандартные переменные формы типа sortby, остальное затирается.

    2. От отчаяния хотел вшить в код tmCatalog такую конструкцию

    $sorting['where']= $modx->resource->get('where');
    

    Это срабатывает, НО, только до сортировки или фильтрации, поскольку при ajax фильтрации запускается тот самый злосчастный ajax_resources.php, который заново создает ресурс каталога, родительскую категорию, а родительская категория - это основной каталог, не ресурс Migx и там нет поля where.

    Ниже код ajax_resources.php
    ajax_resources.php

    В общем понятия не имею, что с этим делать. Беда, что в наборы параметров невозможно передавать динамические переменные, а tmCatalog берет все оттуда. В итоге вся гибкость MODx теряется.

  • @slaad в общем пришлось менять код tmCatalog и делать ссылку в формате:/?this_id=1&filterField=tagfilter, чтобы передавать гет параметры.

    Был бы благодарен Андрею, если бы в tagManager была добавлена возможность передавать ТВшку с содержанием фильтра where для GetProducts и чтобы при этом продолжали работать фильтрыTagManager. Это очень полезно для системы тегов в онлайн магазине.

 

Последние комментарии

  • Есть ещё сниппет param_edit_table. Там можно задавать свой шаблон.
    https://github.com/andchir/shopkeeper3/blob/master/core/components/shopkeeper3/elements/snippets/param_edit_table.php

    [[param_edit_table? &docId=`1` &tvName=`param1` &tpl=`properties_table` ]]

    Читать далее
  • C

    Нашел где формируется содержимое доп.поля
    core/components/shopkeeper3/elements/tv/output/shk_checkbox.class.php
    Здесь можно добавить span(с ценой). Чтобы вывести еще одно поле созданное в админке (прикрепляю скриншот), строку 21

    list($item,$itemvalue) = strpos($line,'==')!==false ? explode("==",$line) : array($line,'');

    меняете на

    list($item,$itemvalue,$itemdesc) = strpos($line,'==')!==false ? explode("==",$line) : array($line,'');

    тоесть, вся суть в добавлении третьего параметра $itemdesc (название можно вписать любое). А потом просто используем эту метку в формировании чекбокса.

    0_1550739109576_dopValue.jpg

    Читать далее
  • C

    Здравствуйте! Скажите пожалуйста, есть ли возможность вывести цену параметра, рядом с названием этого параметра? Вот такой вызов [[*dopValue:replace=`[[+id]]==[[*id]]`]] выводит нам параметры в виде input + label , input + label , input + label, а мне надо input + label + span(с ценой), input + label + span(с ценой) и тд...
    И сразу усложню вопрос - как вывести не только значение цены параметра, но и остальных значений параметра. Например если мне нужна вот такая конструкция - input + label + span(с ценой) + span(с описанием)?

    Устал искать решение и попытки тщетны... Буду рад любой помощи, догадке, наводке!

    Читать далее
  • M

    @Andchir , спасибо. Проблема и правда была в одном из плагинов, который на другом сайте нормально работает

    Читать далее