Сортировка по опции товара miniShop2

Почему опция с ключём
p1
не цепляется?
в ошибках пишет, что нет такой колонки…
Error 42S22: Unknown column 'p1' in 'on clause'
{$_modx->runSnippet('!mFilter2', [
'parents' => 0,
'element' => 'msProducts,
'leftJoin' => '{"p1":{"class":"msProductOption","on":"p1.key=p1 and p1.product_id = msProduct.id"}}',   
'sortAliases' => ['p1' => 'p1'],
'aliases' => 'p1|value==p1',
'sort' => 'p1:desc'
])}
Илья Александрович
08 мая 2020, 19:26
modx.pro
444
0

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

Hiiragi
25 ноября 2022, 23:21
0
как-то решилась проблема?
    Артур Шевченко
    25 ноября 2022, 23:34
    0
    Наверное он доку открыл и понял, что leftJoin тут не нужен.
      Илья Александрович
      26 ноября 2022, 00:03
      +1
      вот решение:
      {'!mFilter2' | snippet : [
                                  'class' => 'msProduct',
                                  'element' => 'msProducts',
                                  'loadModels' => 'msTopProducts',
                                  'parents' => $_modx->resource.id,
                                  'showHidden' => '0',
                                  'showUnpublished' => '0',
                                  'hideContainers' => '0',
                                  'showLog' => '0',
                                  'suggestions' => '1',
                                  'ajaxMode' => 'default',
                                  
                                  'includeThumbs' => 'medium,480x576',
                                  'tpls'  => 'tpl.product.block,tpl.product.row',
                                  
                                  'tplOuter' => 'tpl.mFilter2.outer',
                                  'tplFilter.outer.default' => 'tpl.mFilter2.filter.outer',
                                  'tplFilter.row.default' => 'tpl.mFilter2.filter.checkbox',
                                  
                                  'filters' => '
                                      resource|parent:parents,
                                  ',
          
                                  'leftJoin'=>'{
                                      "P1": {
                                          "class": "msProductOption",
                                          "on": "P1.key = \'p1\' and P1.product_id = msProduct.id"
                                      },
                                      "P2": {
                                          "class": "msProductOption",
                                          "on": "P2.key = \'p2\' and P2.product_id = msProduct.id"
                                      },
                                  	"msTopProduct" : {
                                  		"class" : "msTopProduct",
                                  		"alias" : "msTopProduct",
                                  		"on" : ["msTopProduct.product_id = msProduct.id", "msTopProduct.category_id = ' ~ $_modx->resource.id ~ ' "]
                                  	}
                                  }',   
                              
                                  'sortAliases' => '{"p1":"P1","p2":"P2"}',
                                  'aliases' => 'p1|value==p1,p2|value==p2',
                                  
                                  'sortby' => '{"msTopProduct.rank":"DESC", "msProduct.menuindex":"ASC"}',
                                  
                                  'limit' => '9',
                                  'pageLimit' => '7',
                                  
                                  'tplPage' => '@INLINE <li class="page-item control"><a class="page-link" href="[[+href]]">[[+pageNo]]</a></li>',
                                  'tplPageWrapper' => '@INLINE <div class="col-12 pagination justify-content-center"><ul class="pagination">[[+first]][[+prev]][[+pages]][[+next]][[+last]]</ul></div>',
                                  'tplPageActive' => '@INLINE <li class="page-item active"><span class="page-link">[[+pageNo]]</span></li>',
                                  'tplPageFirst' => '@INLINE <li class="page-item control"><a class="page-link" href="[[+href]]"><i class="fas fa-angle-double-left"></i></a></li>',
                                  'tplPageLast' => '@INLINE <li class="page-item control"><a class="page-link" href="[[+href]]"><i class="fas fa-angle-double-right"></i></a></li>',
                                  'tplPagePrev' => '@INLINE <li class="page-item control"><a class="page-link" href="[[+href]]"><i class="fas fa-angle-left"></i></a></li>',
                                  'tplPageNext' => '@INLINE <li class="page-item control"><a class="page-link" href="[[+href]]"><i class="fas fa-angle-right"></i></a></li>',
                                  'tplPageSkip' => '@INLINE <li class="page-item disabled"><span>...</span></li>',
                                  'tplPageFirstEmpty' => '@INLINE ',
                                  'tplPageLastEmpty' => '@INLINE ',
                                  'tplPagePrevEmpty' => '@INLINE ',
                                  'tplPageNextEmpty' => '@INLINE ',
                                  'ajaxTplMore' => '@INLINE <button class="btn btn-outline-danger rounded-0 my-3 btn-more">Загрузить ещё</button>',
                              ]}
        Hiiragi
        02 декабря 2022, 09:37
        0
        как я долго искал это решение, спасибо!!!
    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
    4