$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?

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

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

  1. После обновления списка товаров попробуйте вызывать ShopMODX.widgets.Product.bindEvents()
  2. Проще всего воспользоваться HTML5 History API habrahabr.ru/post/200106/
  1. после изменения списка через ajax+js отваливается js-обвязка магазина и по кнопке «купить» происходит переход, а не добавление товара в корзину. Как это победить? Это уже к Сергею proxyfabio вопрос, как это победить, но вообще логично, что не работает. Дело в том, что когда у тебя страница загружается, инициализируются нужные элементы, а когда у тебя ajax-ово подгружаются и по сути создаются новые, на них не навешано событие обработки. В ранних версиях jQuery был такой метод live(), который работал почти что как bind() с той лишь разницей, что он создавал обработчик, который всегда срабатывал на элементах с заданным селектом. То есть это бы тебя спасло именно в этой ситуации. Создается новый элемент, но для него всегда есть обработчик. Сергей, есть ли у нас сейчас какой-то аналог метода live()? 2. при переходе на другую страничку в getpage через ajax location в адресной строке не меняется, и при обновлении страницы соответственно грузится первая страница. как-то можно сделать так, чтобы в адресной строке location менялся, но переход не происходил? Опять-таки логично. getPage отталкивается от текущего ресурса для формирования адреса. У тебя всегда одна и та же страница для обработки Ajax-запросов. Верно? Поэтому и адрес один. Нам повезло на Сергеев, и Сергей husband написал замену getPage-у на Smarty. Спроси в чате у него про эти наработки и используй их.

Николай, добрый день. На сайте shop. ex-addicts. ru добавил ajax-фильтры и ajax-getpage, перерисовываются товары с формами добавления в корзину (по запросу возвращается html). Все вроде работает, но есть две проблемы:

  1. после изменения списка через ajax+js отваливается js-обвязка магазина и по кнопке «купить» происходит переход, а не добавление товара в корзину. Как это победить?
  2. при переходе на другую страничку в getpage через ajax location в адресной строке не меняется, и при обновлении страницы соответственно грузится первая страница. как-то можно сделать так, чтобы в адресной строке location менялся, но переход не происходил?