Василий Наумкин · 12 августа 2015, 07:51 Возможность такая есть, хоть и не совсем очевидная: {if !$snippet = $_modx->cacheManager->get('cache_key')} {set $snippet = $_modx->runSnippet('pdoResources', [ 'parents' => 0, 'tpl' => '@INLINE {$id} - {$pagetitle}', 'showLog' => 1, ])} {set $null = $_modx->cacheManager->set('cache_key', $snippet, 1800)} {/if} {$snippet}С одной стороны — нужно самому управлять кэшем, а с другой стороны — можно произвольно задавать параметры кэширования: ключ, время кэширования (в примере полчаса) и т.д. Посмотреть этот кэш можно в /core/cache/default/. set $nullпри выставлении кэша нужно, чтобы не выводилась 1 при успешной работе $_modx->cacheManager->set. Новые дополнения и их версии / [pdoTools] Версия 2.1 - улучшения Fenom 74 +4 2
Василий Наумкин · 12 августа 2015, 05:48 Вот, проверил — можно даже прямо массивы указывать, безо всяких JSON: {$_modx->runSnippet('pdoResources', [ 'parents' => 19, 'depth' => 0, 'where' => ['isfolder' => 0], 'showLog' => 1, ])} Ну а так, автор Fenom предусмотрел тег ignore и пропуск выражений типа { expr } — то есть, с пробелами возле скобок. Новые дополнения и их версии / [pdoTools] Версия 2.1 - улучшения Fenom 74 +1 1
Василий Наумкин · 09 августа 2015, 08:52 Вот, придумал плагин с фиксом на событие OnDocFormPrerender, который не меняет код ни Ace, ни CB: <?php $modx->controller->addHtml("<script> var config = ace.require('ace/config'); var acePath = MODx.config['assets_url'] + 'components/ace/ace'; config.set('basePath', acePath); </script>");Теперь, насколько я вижу, всё работает. Новые дополнения и их версии / Новая версия Ace для MODX - 1.6.0 45 +1 1
Владимир · 08 августа 2015, 15:16 Default Keyboard Shortcuts может еще кому будут полезны все горячие клавиши Ace. Новые дополнения и их версии / Новая версия Ace для MODX - 1.6.0 45 +2 1
Василий Наумкин · 07 августа 2015, 06:19 &where=`{ "color:LIKE":"%black%", "OR:color:LIKE":%gray%" }`И вот еще один OR:color:LIKE тут добавить не выйдёт — потому что одинаковых ключей в массиве быть не может. Но можно указывать строки: &where=`[" color LIKE '%black%' OR color LIKE '%gray%' OR color LIKE '%white%' "]`Подробнее про синтаксис where можно прочитать в официальной документации. И очень тебя прошу — почини свой enter, ненужные пустые строки в комментарии выглядят неопрятно. Пошаговые инструкции / Сложная выборка по TV параметрам в getResources 13 0 1
Василий Наумкин · 07 августа 2015, 05:24 В pdoResources задача решается несколько иначе: [[!pdoResources? &includeTVs=`manuf,diag,color` &where=`{ "manuf":"Sony", "diag:IN":[65,85], "color:IN":["black","gray"] }` ]]В принципе, там есть и &tvFilters, но только как временная замена при миграции c getResources. Пользоваться этим параметром я никому не советую — &where гораздо гибче, лучше и удобнее. Вот здесь кратко написано, а вот здесь значительно подробнее. Пошаговые инструкции / Сложная выборка по TV параметрам в getResources 13 +3 4
Максим Кузнецов · 04 августа 2015, 23:37 Получилось.) Вот рабочий код: [[!mFilter2? &limit=`25` &loadModels=`voteforms` &paginator=`pdoPage` &class=`msProduct` &element=`msProducts` &depth=`0` &sort=`price:asc, rating:desc` &where=`{"class_key":"msProduct"}` &leftJoin=`{ "VoteFormThread": { "class": "VoteFormThread", "on": "msProduct.id = VoteFormThread.resource AND VoteFormThread.form = 1" } }` &select=`{"Data": "*", "VoteFormThread": "VoteFormThread.rating AS rating, VoteFormThread.users_count AS totalVoted"}` &tpls=`item.list.table` ]] — рейтинг в чанке выводится плейсхолдером [[+rating]]. Новые дополнения и их версии / [VoteForms] Система голосования и опросов 51 +1 1
Максим Кузнецов · 02 августа 2015, 18:42 Необходимо создать кастомный класс доставки: 1) Идем в core/components/minishop2/custom/delivery/ и создаем здесь свой пхп файл (допустим, mscustomdeliveryhandler.class.php) со следующим содержимым: <?php //Важно: при изменении названия файла, вот в этом месте также нужно изменить класс class mscustomdeliveryhandler extends msDeliveryHandler{ public function getCost(msOrderInterface $order, msDelivery $delivery, $cost = 0) { $cart = $this->ms2->cart->status(); //условие начисление доставки if ($cart['total_cost'] < 5000) { $add_price = $delivery->get('price'); if (preg_match('/%$/', $add_price)) { $add_price = str_replace('%', '', $add_price); $add_price = $cost / 100 * $add_price; } $cost += $add_price; } return $cost; } } 2) Идем в настройки магазина -> Варианты доставки. Создаем новый вариант «Доставка» (или редактируем исходный), после чего заполняем в «дополнительную стоимость» требуемое значение (300 рублей), в Класс-обработчик пишем название созданного файла — mscustomdeliveryhandler, заполняем доступные способы оплаты и ставим галочку напротив «включен». Вопросы / Бесплатная доставка курьером от определенной суммы 27 +7 7
Александр Толстенко · 09 июля 2015, 22:10 все разобрался благодаря этой теме modx.pro/development/1547-phpthumb-imposition-watermark/ НЕ хватало слеша после wmi| Вопросы / Водяной знак на изображении товара miniShop2 26 0 1
Александр Толстенко · 09 июля 2015, 21:37 Василий, а как png наложить? так правильно: {"w":300,"h":300,"q":100,"bg":"FFFFFF","far":"C","zc":"0","fltr":"wmi|assets/images/logimg.png|C|50"} Вопросы / Водяной знак на изображении товара miniShop2 26 0 1
UiCMPGenerator дополнение для создания пакетов Ближе к сентябрю, основная загвоздка это создание нормальной документации и видео обзора, а так пакет как бы уже готов
Личный кабинет на Sendit - не удается сбросить пароль Хм, в массиве поле extended приходит пустым, временного пароля там нет. Сам тестовый юзер изначально был зареген в группу Users с правами доступа в личный кабинет (по обычной инстр...
Checkbox для модального окна Они не отключены, они платные, чтобы писали только те, кому действительно очень надо. Когда бесплатно люди начинают думать, что я им должен.
[SendIt 2.6.0] Анализ поведения пользователя для защиты от спама (невидимая капча)... Здравствуйте. Делаю личный кабинет на Sendit и со сбросом пароля возникли проблемы. Можете подсказать, в чем ошибка? Список вопросов в одноименном разделе на modx.pro пока пуст, и,...
Minishop + честный знак (продажа маркированной продукции) В нашем случае мы решили убрать всю логику по маркировке сайта.
MiniShop3 - Не выводятся товары дополнительных категорий @SYAN ваша указанная проблема исправлена еще до версии 1.2.3 @Павлик Мышкин завел: github.com/modx-pro/MiniShop3/issues/480 github.com/modx-pro/MiniShop3/issues/481Исправим в б...
MobileDetect 2.0.0-pl функция "планшеты как стандартные браузеры не работает" в 2.1.0-pl баг исправлен
msImportExport не сохраняет родителя по умолчанию Компонент не понимает кирилические домены при загрузку фото. пример: Error download. Url : https://антаресдвери.рф/upload/iblock/a50/a50b2ef45305a3c18f6e298f1e134880.jpg. Message...
С одной стороны — нужно самому управлять кэшем, а с другой стороны — можно произвольно задавать параметры кэширования: ключ, время кэширования (в примере полчаса) и т.д.
Посмотреть этот кэш можно в /core/cache/default/.
при выставлении кэша нужно, чтобы не выводилась 1 при успешной работе $_modx->cacheManager->set.
Ну а так, автор Fenom предусмотрел тег ignore и пропуск выражений типа { expr } — то есть, с пробелами возле скобок.
Теперь, насколько я вижу, всё работает.
может еще кому будут полезны все горячие клавиши Ace.
Но можно указывать строки:
Подробнее про синтаксис where можно прочитать в официальной документации.
И очень тебя прошу — почини свой enter, ненужные пустые строки в комментарии выглядят неопрятно.
В принципе, там есть и &tvFilters, но только как временная замена при миграции c getResources. Пользоваться этим параметром я никому не советую — &where гораздо гибче, лучше и удобнее.
Вот здесь кратко написано, а вот здесь значительно подробнее.
— рейтинг в чанке выводится плейсхолдером [[+rating]].
1) Идем в core/components/minishop2/custom/delivery/ и создаем здесь свой пхп файл (допустим, mscustomdeliveryhandler.class.php) со следующим содержимым:
2) Идем в настройки магазина -> Варианты доставки.
Создаем новый вариант «Доставка» (или редактируем исходный), после чего заполняем в «дополнительную стоимость» требуемое значение (300 рублей), в Класс-обработчик пишем название созданного файла — mscustomdeliveryhandler, заполняем доступные способы оплаты и ставим галочку напротив «включен».
НЕ хватало слеша после wmi|