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


сортировка товаров, как?

  • Здравствуйте! я новичек в modx, а с shopkeeper впервые столкнулся, вроде потихоньку разбираюсь, но вот как сделать сортировку товаров в каталоге не могу понять 😞
    нужно что-то подобное
    alt text
    Товары в каталоге выводятся через getPage

    [[!getPage?
    &elementClass=`modSnippet`
    &element=`getProducts`
    &parents=`25`
    &includeTVs=`1`
    &includeTVList=`price,product-image,HitsPage`
    &limit=`10`
    &tpl=`short-product`
    &tpl_n4=`short-row-product`
    &where=`{"template":10}`
    ]]
    

    Как бы я понимаю что для сортировке по цене мне нужно дописать &sortby=`price`
    но вот как добавить этот параметр при клике пользователем в каталоге по соответствующей ссылке?

  • Для этого можно использовать компонент TagManager2. Не обязательно использовать все его возможности. Если вам нужна только сортировка по ссылке, то нужно использовать сниппет "tmCatalog".

    Это сниппет-обертка для getPage и getProducts.

    <div class="row">
        [[!tmCatalog]]
        <div class="clearfix"></div>
    </div>
    
    <ul class="pages">
        [[!+page.nav]]
    </ul>
    

    Можно указать параметры в вызове или в наборе параметров. Пример ссылок с разными сортировками:
    http://demo.modx-shopkeeper.ru/katalog/kompyuteryi/?sortby=price&sortdir=desc
    http://demo.modx-shopkeeper.ru/katalog/kompyuteryi/?sortby=price&sortdir=asc

 

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

  • @Andchir Чета не додумался. Спасибо огромное, завелось.

    Читать далее
  • Потому что в этой функции нет объекта $modx. Можно попробовать добавить такую строчку вверху функции (внутри):

    global $modx;

    Читать далее
  • Добрый день.
    Задача: Есть таблица где записываются id данных из других созданных таблиц.
    Нужно в функции filter_export и filter_import объединить данные из разных таблиц.

    Как я пробывал решить свою задачку:

    function filter_export($value_arr,$doc_id=0) { //var_dump($output_arr); //exit; $output_arr = $value_arr; if(isset($output_arr['execution'])) { $ids = $output_arr['execution']; $result = $modx->query("SELECT * FROM LKp3KJ_my_execution WHERE id = $ids"); $row = $result->fetch(PDO::FETCH_ASSOC); $output_arr['execution'] = $row[title]; } /* if(isset($output_arr['price'])) $output_arr[1] = floatval($output_arr[1]) - 200; */ return $output_arr; }

    В ответ получаю 500 ошибку на странице импорт/экспорт.

    Читать далее
  • Спасибо за содействие! Приношу извинения за неудобства.

    Читать далее