Возможно ли сделать такой функционалстандартными средствами MODx

Добрый день. Подскажите, пожалуйста, можно ли такое сделать штатными средствами MODx или это уже работа дополнений?
www.tgl.ru/documentation/
Спасибо.
Kuznetsovsi
04 ноября 2017, 07:42
modx.pro
989
0

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

Stan Ezersky
04 ноября 2017, 10:56
0
    Волков Николай
    07 ноября 2017, 01:12
    -2
    mSearch2? Ага, конечно. Сразу видно ребят, которые подобные вещи мало того, что не писали, так и не пробовали даже…

    Встроенного в MODX, если вы имеете в виду какие-то дополнения, расширения — нет.
    Подобное делается на ExtJS. Возможно с кастомным контроллером для office.

    Вообще в идеале для подобных задач нужен приличный JS Framework, вроде ExtJS/jqGrid и т.п. + коннектор с процессорами/REST сервер.
      Василий Наумкин
      07 ноября 2017, 01:17
      -1
      По ссылке совершенно обычная форма, даже без ajax.
        Волков Николай
        07 ноября 2017, 02:07
        -1
        Тем не менее при выборе значений в select'ах у остальных фильтруются возможные значения. На лицо local, а не remote обработка данных, по крайней мере в форме. На сколько я помню в mSearch2 были проблемы с этим из коробки.
          Василий Наумкин
          07 ноября 2017, 11:10
          -1
          Просто открой исходник страницы. Там прямо в теле javascript функция
          function setSelect(obj, index) {
              var name = $(obj).attr('depend') || '';
              var div = $("select[name="+name+"]").parent();
              var select = $("select[name="+name+"]");
              var ids = $(obj).find('option[value='+$(obj).val()+']').attr('ids') || '';
              var index = index || 0;
              ids = ids.split(',');
              $(div).find('ul li a').removeClass('selected');
          
              $(div).find('ul li').hide();
              $(div).find('ul li:eq(0)').show();
              $(div).find('ul li').each(function(){
                  var id = $(select).find('option:eq('+$(this).find('a').attr('index')+')').val();
                  for (var key in ids) {
                      if (ids[key] == id)
                          $(this).show();
          	    }															
          	});
              $(div).find('ul li a[index='+index+']').addClass('selected');
              $(div).find('span').text($(div).find('ul li a[index=0]').text());
              $(div).find('select').change();
          }

          А самих select прописаны ids


          Вот и вся «локальная обработка данных». В mSearch2 делается примерно так же.
            Kuznetsovsi
            07 ноября 2017, 11:50
            +1
            Жаркая дискуссия. Не сталкивался с modx раньше, подумал может есть функционал типа CRUD как в yii. Ну ладно, буду разбираться. Спасибо большое!
          Волков Николай
          07 ноября 2017, 02:23
          -1
          Кстати, поймал себя на мысли, что с трудом представляю работу подобных таблиц без процессоров или RestController'ов. Может уже совсем заработался и пора в отпуск? :-)
      Kuznetsovsi
      04 ноября 2017, 11:15
      -1
      Спасибо за оперативность) а что-то из встроенного можно использовать? Хочу уйти от Wordpress-a, MODx выбрал как оптимальный вариант перехода, вот смотрю на возможности.
        Stan Ezersky
        04 ноября 2017, 12:07
        -1
        Встроенного в MODX, если вы имеете в виду какие-то дополнения, расширения — нет.

        Это больше фреймворк, чем CMS. Сайт строите сами
          Дмитрий
          04 ноября 2017, 12:10
          -1
          В MODX Revo «штатных» средств нет. Если вы конечно не мастер все писать самостоятельно. При установке MODX вы получаете просто админку и некоторые возможности по созданию ссылок, условий, ну и всякое такое. Для того, чтобы сделать менюшки, слайдеры, фильтры, магазины, товары, корзины ну и вообще всё, нужно устанавливать дополнения. В том числе и платные.
          Kuznetsovsi
          04 ноября 2017, 12:14
          -1
          Неее) не мастер, только учусь) спасибо за ответы.
            Сергей Кепкин
            04 ноября 2017, 12:23
            +1
            На вашем примере фильтр не отсекает пустые результаты. Мсеарч2 будет даже лучше по итогам.
              Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
              12