Михаил · 05 марта 2018, 19:34 2 +1 <?php switch ($modx->event->name) { // События на добавление товара case 'msOnBeforeAddToCart': // получает $product, $count, $options и $cart $new_price = $product->get('price') * $product->get('weight'); $product->set('price', $new_price); break; } Вопросы / [РЕШЕНО] MiniShop2 умножение цены на вес 9
V · 20 февраля 2018, 20:27 1 +1 Для jGrowl решил вот так: <script> $(document).ready(function(){ $.jGrowl.defaults.beforeOpen = function(message) { if ($(message).find('.jGrowl-message').text() == 'g-recaptcha-response: Это поле обязательно.') { $(message).find('.jGrowl-message').text('Подтвердите, что вы не робот.'); }; }; }); </script> Вопросы / Замена стандартных сообщений об ошибках в Tickets 1
Володя · 19 февраля 2018, 13:44 1 +1 пример плагина для расчета стоимости userevents.vgrish.ru/manager/?a=element/plugin/update&id=7 Добавить проверку на время case "UserEventsOnBeforeGetOrderCost": /** @var UserEventsOrderInterface $orderHandler */ $orderHandler = $modx->getOption("order", $scriptProperties); if (!$orderHandler OR !($orderHandler instanceof UserEventsOrderInterface)) { return; } $values = $modx->Event->returnedValues; $data = $orderHandler->get(); $rid = $modx->getOption("resource", $data); $cost = 0; // расчет стоимости согласно своей логике if ($resource = $modx->getObject("modResource", $rid)) { $cost = $resource->get("id") * 100; } $add_cost = 0; // проверка на вечернее время $time = isset($data['time']) ? $data['time'] : ''; if ($time) { $time = array_map('floatval', explode(',', $time)); if ($time[0] >= 19) { $add_cost += $cost / 100 * 30; } } $cost += $add_cost; $values["cost"] = $cost; $modx->event->returnedValues = $values; break; Новые дополнения и их версии / [UserEvents] - события пользователя. 45
Володя · 14 февраля 2018, 11:09 3 +1 чтобы выводились только те фото, которые указаны в галерее данной модификации, а остальные фото не отображались. Для этого можно написать немного кода, например $(document).on('msoptionsprice_product_action', function (e, action, form, r) { if (action == 'modification/get' && r.success && r.data) { var m = r.data.modification || {}; var thumbs = m.thumbs || {main:['default.png']}; var fotorama = $(form).closest(msOptionsPrice.Product.parent).find('.fotorama').data('fotorama'); if (fotorama) { var images = []; (thumbs.main || []).filter(function (href) { images.push({img: href, caption: ''}) }); fotorama.load(images); } } });рабочий пример тут s6200.h3.modhost.pro/6/12010.html Новые дополнения и их версии / [msOptionsPrice2] - Модификации продукта. 375
Константин Ильин · 12 февраля 2018, 09:49 1 0 В случае если меняется только домен(поддомен): Создаете ресурс pagetitle: robots Тип содержимого: text Кэшируемый: убрать галочку Создаете шаблон Robots с содержимым (Должен быть включен Fenom) User-agent: * Disallow: /manager/ Disallow: /assets/components/ Disallow: /core/ Disallow: /connectors/ Host: {$.server.HTTP_HOST} Sitemap: {$.server.REQUEST_SCHEME}://{$.server.HTTP_HOST}/sitemap.xml В корне сайта нужно удалить файл robots.txt иначе будет загружаться он, а не созданный ресурс. Присваиваете этот шаблон ранее созданному ресурсу и все готово. Теперь у вас динамический роботс, пляшущий от HTTP_HOST. Вопросы / robot.txt для подддоменов 8
Bender · 04 февраля 2018, 21:42 3 +2 Благодаря Василию, вопрос был разрешен. 'class' => 'modResource', 'loadModels' => 'ms2gallery', 'leftJoin' => [ 'Image' => [ 'class' => 'msResourceFile', 'on' => 'modResource.id = Image.resource_id AND Image.parent = 0', ], 'Thumb' => [ 'class' => 'msResourceFile', 'on' => 'Image.id = Thumb.parent AND Thumb.path LIKE "%medium%"', ] ], 'select' => [ 'modResource' => '*', 'Image' => 'Image.url as image', 'Thumb' => 'Thumb.url as thumb', ], Вопросы / Вывод меню с картинками из ms2gallery 1
Алексей Ерохин · 31 января 2018, 10:50 1 0 Перед foreach $modx->setPlaceholder($totalVar,count($response)); $response = array_slice($response,$offset, ($limit+$offset), true);Если нужен idx в чанках: foreach ($response as $key=>$res) { $res['class'] = $class; $res['idx'] = $key+1; $output .= $pdo->getChunk($tpl, $res); } Вопросы / Нужна пагинация кастомного сниппета 31
Николай · 24 января 2018, 21:00 1 0 получилось реализовать следующим способом вывод [[pdoResources? &parents=`[[*id]]` &class=`msVendor` &parents=`0` &where=`{"id:IN":[ [[msVendor]] ]}` &sortby=`name` &sortdir=`ASC` &limit=`0` &tpl=`vendor.tpl` ]]чанк vendor.tpl [[+logo:is=``:then=``:else=` <li><a href="[[~[[*id]]]]?vendors=[[+id]]"> <img src="[[+logo]]" > <p>[[+name]]</p></a> </li> `]]чанк vendor.tpl3 [[#[[+id]].vendor]],чанк vendor.tpl4 [[#[[+id]].vendor]]сниппет msVendor $ids = $modx->runSnippet('msProducts', array('where'=>'{"Data.vendor:!=":"0"}','limit'=>0,'tpl'=>'vendor.tpl3','tplLast'=>'vendor.tpl4')); print_r($ids); Вопросы / вывести производителей категории 2
Илья Уткин · 04 января 2018, 13:44 1 +2 Можно использовать [[++http_host]] — тогда не надо ничего реплейсить) Новые дополнения и их версии / [siteExtra] Версия 1.4.0 — шаблонизация Fenom 52
MiniShop3 1.11.0 при клике на radio идет пересчет итоговой суммы в orderUI, в зависимости от способов(оплаты доставки) я так поняла. попробуй код запуска соб...
ImageOptimizer - WebP/AVIF и responsive <picture> для MODX 3 Дополнение доступно modstore.pro/packages/photos-and-files/imageoptimizer
Localizator3 для MODX 3: перевод полей и TV без отдельного context на язык, Vue 3 + PrimeV... Добавил localizator3_default_language
msInShopNotify Начиная с версии 3.0.0-beta добавлена поддержка MiniShop3 Минимальные требования: PHP 8.4 MODX 3.2 MiniShop3
MaxNotify Обновление 1.2.0-pl (03.07.2026) — добавлены уведомления о заявках FormIt через hook-сниппет `maxNotifyFormIt`; — добавлены ...
[msBonus2] 1.3.0 Бонус-коды, уведомления о сгорании и совместимость с msMultiCurre... Да, планируется. Даже чуть больше, чем просто бонусная система)
FileMan - прикрепление файлов к ресурсам для MODX 3 Добрый день! Может что-то с правами доступа к файлам? Посмотрите логи в modx, в php. С ходу сложно ответить, ранее не было таких случаев.
Добавить проверку на время
Для этого можно написать немного кода, например
рабочий пример тут s6200.h3.modhost.pro/6/12010.html
Создаете ресурс
pagetitle: robots
Тип содержимого: text
Кэшируемый: убрать галочку
Создаете шаблон Robots с содержимым (Должен быть включен Fenom)
В корне сайта нужно удалить файл robots.txt иначе будет загружаться он, а не созданный ресурс.
Присваиваете этот шаблон ранее созданному ресурсу и все готово. Теперь у вас динамический роботс, пляшущий от HTTP_HOST.
Если нужен idx в чанках:
вывод
чанк vendor.tpl
чанк vendor.tpl3
чанк vendor.tpl4
сниппет msVendor