Давайте на гистхаб весь код процессора. И скорее всего вы просто price не в методе prepareQueryBeforeCount() добавляете.

$this->setDefaultProperties(array( 'sort' => 'price.value', 'dir' => 'ASC', 'showhidden' => false, 'showunpublished' => false, да, так делал — выдает пустой результат, если делаю также по полю основному полю документа, все нормально, по дополнительному (по любому — никак)

Просто в initialize() добавьте: $this->setDefaultProperties(array( "sort" => "tvtablealias.value", "dir" => "ASC", ));

Сергей, спасибо за полезный плагин! Буквально вот такой только момент: github.com/Husband/paging/blob/master/function.pagination.php#L13 Мне кажется не стоит объявлять функцию setDefaultProperties. Во-первых, слишком общее название, и может эта функция будет в каком-нибудь другом плагине, и все, дефолтовые значения будут другие. Во-вторых, у тебя же там просто мерж, то есть там нет вариантов для нотисов и т.п. Там вполне можно обойтись без лишней функции.

Этот вопрос надо обсуждать с Сергеем proxyfabio . Надо дорабатывать API, чтобы обработчик событий работал как положено.

Доброго времени суток! Сейчас делаю сайт с применением phpTempates+ModxSmarty и с процессорами вместо сниппетов. Все замечательно! Очень быстро! Достаточно удобно и легко. Ну а теперь вопрос чайника, помогите плиз — у меня есть доп параметр в ресурсе, допустим count(количество), применяю для выборки процессоры, наследованые от getdata (из modxshop), как делать фильтры по tv — разобрался (через $c->innerJoin), как сделать сортировку по указанному полю никак не могу понять, можете привести простой пример для getdata процессора сортировки по определеному tv?

Сергей, спасибо! То, что надо!

Спасибо за советы!

Пару слов зачем это нужно. getPage — не делает пагинацию с прострелами. pageNav — работает только со сниппетами. Использование. В папку core/components/modxsmarty/smarty_plugins/ бросаем файл function.pagination.php Создаем файл с оформлением пагинации catalog/list/pagination/index.tpl {pagination items=$items current=$current_page prev_next=true assign=pagination}

        <div class="pagination">
        {assign var=prev value=1}

        {if $pagination.prev.id}
        <a href="{$pagination.prev.href}">предыдущая</a>
        {/if}
       
        {foreach from=$pagination.pages item=page name=pagination}                 
            {if (($page.id-$prev) > 1)}
            <span>...</span>
            {/if}
            {if $page.type == 'current'}
            <span class="current">{$page.id}</span>
            {else}
            <a href="{$page.href}">{$page.id}</a>
            {/if}
        {assign var=prev value=$page.id}    
        {/foreach} 

        {if $pagination.next.id}
        <a href="{$pagination.next.href}">следующая</a>
        {/if}
         
        </div> В шаблоне где нужно вывести пагинацию пишем

(Вместо 93 подставить количество елементов в выборке) {assign var=items value=93} {assign var=current_page value=$smarty.request.page|default:1} {include file="catalog/list/pagination/index.tpl"} В результате получим такую картинку ?

  1. После обновления списка товаров попробуйте вызывать ShopMODX.widgets.Product.bindEvents()
  2. Проще всего воспользоваться HTML5 History API habrahabr.ru/post/200106/