[Решено]Баг в pdoResources?

MODX 2.2.11, pdoTools 1.9.0pl2

В TV «HitsPage» хранится количество просмотров, сортируем товары по количеству просмотров от большего к меньшему(&sortby=`{«HitsPage»:«desc»}`).

Баг можно увидеть на странице http://www.eparket.com/laminat/brand/parador

На первой странице все хорошо. Товары идут согласно сортировке: 80, 72, 70, 62 просмотров и т.д.
Теперь переходим на последнюю страницу http://www.eparket.com/laminat/brand/parador?page=10, у последнего товара количество просмотров 101. Он должен быть самым первым, а показывается последним.

Для удобства вывел значения TV «HitsPage» в data-атрибут элемента списка Список товаров формируется так:
[[!pdoPage?
			&limit=`20`
			&showHidden=`0`
			&parents=`[[*id]]`
			&tpl=`listCatalog`
			&depth= `2`
			&includeTVs=`multiGallery, multiplycost, previewimage, currency, HitsPage`
			&processTVs=`multiGallery, multiplycost`
			&where=`{"template:IN":[18, 26, 27, 28]}`
			&sortby=`{"HitsPage":"desc"}`

			&maxLimit=`20`
			&pageLimit=`7`
			&cache=`1`
			&cacheTime=`3600`
			&tplPage=`@INLINE <li class="pagination__item"><a href="[[+href]]">[[+pageNo]]</a></li>`
			&tplPageWrapper=`@INLINE <ul class="pagination" data-prev="[[+prev]]" data-next="[[+next]]">[[+pages]]</ul>`
			&tplPageNext=`@INLINE [[+href]]`
			&tplPagePrev=`@INLINE [[+href]]`
			&tplPageNextEmpty=`@INLINE `
			&tplPagePrevEmpty=`@INLINE `
			&tplPageSkip=`@INLINE <li class="pagination__item pagination__item--disabled">…</li>`
			&tplPageActive=`@INLINE <li class="pagination__item pagination__item--current">[[+pageNo]]</li>`
		]]
В результате:
Оказалось вовсе не баг.
Цитата: «Нужно указать ТВ параметру тип «число», тогда при сортировке по нему данные будут приведены к типу DECIMAL. Заодно приведение типа будет и для ТВ «дата» — они отсортируются как DATETIME.»
Павел Голубев
21 февраля 2014, 15:50
modx.pro
1 364
+1

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

Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
2