Василий Наумкин · 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
[videoGallery] Видео галерея YouTube, Vimeo Невозможно установить пакет с подписью: videogallery-1.4.0-beta Ошибка установки Error в /core/packages/videogallery-1.4.0-beta/modCategory/7fc931a7772edc9752c16e9c41eb5e52.reso...
mxBoard: канбан-доска для команд, людей и ИИ-агентов в MODX 3 Привет, добавил пользователя в группу mxBoard(4), создал токен. Добавляю все в postman пишет: rest: { «success»: false, «message»: «Недействительный токен.», «data...
Релиз miniShop2 ver. 4.4.1 & 4.4.2 Подскажите пожалуйста, может я что-то не знаю или упустил. Но есть ли решение по глюку с radio? Указываешь свое radio c одинаковым name и в результате при переключении получаешь вс...
Плагин EnvBadge: визуальный индикатор окружения в админке MODX3 Расскажите пожалуйста как вы настраиваете сайт на MODX 3 чтобы был dev, prod, stage. Можете описать workflow? Допустим у меня 80% — это магазины, там клиенты, продажи, все онлай...
MaxNotify Обновление компонента 1.3.0-pl (22.07.2026) — добавлено автоматическое получение полей через msOrder->toArray(); — массивы и объекты безопасно пропускаются; — стандартные...
MyFavorites MyFavorites — 3.0.0-beta Первая версия для MODX Revolution 3.x — компонент полностью переписан с нуля (PHP >= 8.4, namespaced-ядро MODX 3, PSR-4, сервис-ориентированная архит...
С одной стороны — нужно самому управлять кэшем, а с другой стороны — можно произвольно задавать параметры кэширования: ключ, время кэширования (в примере полчаса) и т.д.
Посмотреть этот кэш можно в /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|