CZB
Подскажите, вызов доклистера в сниппете, имеется параметр 'noneTPL', как используя данный параметр и его возврат нуля или едницы подменять кусок кода? суть проблемы: если доклистер пустой выводится определенный код, если нет, тогда другой. Возможно ли как-либо зайдествовать этот параметр для условия? Просто в шаблоне прописаны ссылки на следующую и предыдушую страницы, генерированием и записьмю в плейсхоледры, а если доклистер пустой, тогда выводить их не целесообразно.
CZB
noneWrapOuter
спасибо! У меня оказывается в шаблоне лишнее было, но если бы не вы нашел бы не сразу))
Sergey
Кто нить может поделиться примером AJAX сортировки для DocLister?
Sergey
а если без eFilter?
Volodymyr
Как пример
alexx
CZB
Подскажите куда копать. Требуется сделать подгрузку ресурсов при нажатии ссылки, не обновляя страницы. С помощью доклистера. Куда копать есть ли пример?
CZB
Infinity scroll
спасибо, просплюсь, реализую
Yaroslav
спасибо, просплюсь, реализую
Это самое простое решение )
Yaroslav
:)
Камиль
Переделал сайт с wp на evo :)
CZB
Переделал сайт с wp на evo :)
Да все это враньё))))
Камиль
Кто нить может поделиться примером AJAX сортировки для DocLister?
php: $sort = $_GET['s1'] ? $_GET['s1'] : 'menuindex'; $sort .= $_GET['s2'] ? ' '.$_GET['s2'] : ' ASC'; $modx->runSnippet('DocLister',[ 'api' => 1, 'orderBy' => $sort ]); jquery:
Камиль
$.get('url.html?s1=menuindex&s2=ASC', function ($res) { alert($res); });
Камиль
https://habr.com/company/microsoft/blog/435432/
Am
Переделал сайт с wp на evo :)
Ага, до НГ люди ходили и пользовались сайтом на ВП, а после на ево не ходят. ((%
Камиль
Ага, до НГ люди ходили и пользовались сайтом на ВП, а после на ево не ходят. ((%
Просто им было интересно ждать когда сайт загрузиться, создавалась интрига
Am
Просто им было интересно ждать когда сайт загрузиться, создавалась интрига
Точно. Может там прелоадер был с "сиськами" или моделью офигенной. Ево все испортило. (%
Камиль
Точно. Может там прелоадер был с "сиськами" или моделью офигенной. Ево все испортило. (%
хмм там вирусняка было всякие рекламные баннеры так что возможно дело в рекламах с сиськами
Am
хмм там вирусняка было всякие рекламные баннеры так что возможно дело в рекламах с сиськами
Судя по тому сколько рекламы показывают - люди ее смотрят, значит точно в этом дело. ((%
CZB
Судя по тому сколько рекламы показывают - люди ее смотрят, значит точно в этом дело. ((%
Однажды на очень старенькую версию Modx evo я что-то поймал, так эта дрянь создала более 5-10к страниц на японские магазины и яндекс все это сожрал)) За 2 недели удалось очистить сайт в выдаче
CZB
Слышал про такое, весело было. (%
Ну я боялся, что домену на месяц «дорвей» присвоят
Am
(:
Anonymous
Реально ли, в evoShop.js на MODx Evo сделать скидку чтобы поменялся evoShop_grandTotal?
Volodymyr
очень просто кстате, написать evoShop.shipping = function(){ return 100; }
Volodymyr
скидка будет 100 рублей
Volodymyr
не надо
Volodymyr
evoShop Будет сам дергать функцию
Volodymyr
а логику уже вам нужно или по промокоду или от количества товаром или от суммы функция должна возвратить сумму скидки
Anonymous
evoShop Будет сам дергать функцию
И менять grandTotal, допустим по клику, либо длругому событию?
Volodymyr
в html class="evoShop_grandtotal"
Anonymous
Старанно. Ничего не происходит... <div class="cart_total"> Итого: <strong class="evoShop_total"></strong><br /> Со скидкой: <strong class="evoShop_grandTotal"></strong> </div> $('.cartForm_promocode-action').click(function() { if ($('input[name="discount"]').val() == 'Тест') { evoShop.shipping = function(){ return 100; } } });
Am
Мои глаза.. ((%
Dmytro
А при таком раскладе и не должно ничего происходить
Anonymous
Dmytro
Там в доке ж написано куда вставить
Am
evoShop_grandTotal - вот эти классы хорошо бы переделать, имхо. "верблюжийРегистр" и подчеркивания нижние это печальная практика в css - затрудняет чтение. В идеале более осмыслено переназвать и с дефисами: evo-shop-grand-total - даже так лучше читается и воспринимается. Подчеркивание выглядит как не до "БЭМ" - очень популярное соглашение и странное, т.к. используется так: двойной дефис это значит вариант элемента, а двойное подчеркивание означает дочерний элемент .navigation {} .navigation__item {} .navigation__item--active {} Читать удобнее становится: component-name component-name--modifier-name component-name__sub-object component-name__sub-object--modifier-name
Anonymous
Там в доке ж написано куда вставить
не нашел видимо. и так и сяк пробую.
Am
И хорошо бы в местах где используется элемент только для js так и называть - js-push-me
Am
Это все к тому что когда читать удобно, то и отвечать на вопрос/понимать что за что отвечает в коде намного удобнее и интуитивнее.
Ihar
Ihar
В DocLister есть ли возможность задать фильтр типа: &filters=`AND(tv:price:isnot: tv:old_price)` При &debug=`1` вижу, что второе значение в строку переводится.
Ihar
Скрин debug
Andrey
Ну так она и есть строка. Что мешает её задать как [*old_price*]?
Ihar
Ну так она и есть строка. Что мешает её задать как [*old_price*]?
Хмм... А как в параметр &filters=`____` передать [*old_price*]?
Ihar
Скрин debug
Может не верно сформулировал. В общих чертах: Из выборки DocLister'а нужно убрать ресурсы, у которых ТВ со старой ценой [+tv.old_price+] равны ТВ с новой [+tv.price+]. Использовал параметр: &filters=`AND( tv:price : isnot : tv:old_price )` Наткнулся на проблему: tv:old_price в такой конструкции передаётся строкой см. Скрин debug
Andrey
&filters=`AND( tv:price : isnot : [*old_price*] )
Andrey
Не сработает разве?
Александр
это в категори похоже. там нет плейсхолдера oldprice
Ihar
Не сработает разве?
Не сработало. =(
Ihar
При записи с [*old_price*] debug выдаёт пустую строку.
Ihar
Andrey
Где вызывается сам сниппет? В чанке другого сниппета или в шаблоне? Может надо [+old_price+]
Ihar
Где вызывается сам сниппет? В чанке другого сниппета или в шаблоне? Может надо [+old_price+]
В шаблоне категории товаров. Проверил конструкции: [*old_price*] [+old_price+] [+tv.old_price+] Результат одинаковый.
Александр
думаю, стоит смотреть в сторону prepare
Andrey
Эмм. А если просто [*old_price*] вывести рядом со сниппетом, оно будет?
Александр
как вариант еще ```&filters=`AND(tv:old_price:isnot:)``` а в базе значения почистить и плагин сделать на проверку при сохранении товара
Александр
Эмм. А если просто [*old_price*] вывести рядом со сниппетом, оно будет?
это скорее всего вызывается на странице категории у которой нет tv old_price
Александр
в параметрах он подставляет плейсхолдер текущего документа
Александр
Ihar
что в нем не так? :)
Доступ клиента к БД. )))
Andrey
Так как я написал, работает. Разбирайтесь с вызовом, почему в тв пусто.
Александр
в смысле нет доступа в БД? так есть Console в extras
Ihar
Так как я написал, работает. Разбирайтесь с вызовом, почему в тв пусто.
Работает, не спорю. Но DocLister вызывается в шаблоне категории (в нём нет тв [*old_price*]). А если и так, то, насколько я понял из предложения, каждый ресурс из выборки будет сравнивать [+tv.price+] с [*old_price*], а необходимо сравнивать с [+tv.old_price+]
Ihar
думаю, стоит смотреть в сторону prepare
+ Буду рыть в этом направлении.
Andrey
Если в нём нет этого тв, то и фильтровать не получится. Надо в prepare сниппете написать что-то типа if($data['имятв'] == 800){ return false; } return $data; И важно - &tvPrefix не забыть там указать, если он есть.
Ihar
С тем же успехом я в чанке вывода через if отфильтровать мог.