Алексей П · 04 ноября 2017, 23:57 Немного доработанная версия. Чтобы не запускать скрипт по несколько раз. Оставлю здесь для себя. Может еще кому-то пригодится. Перед использованием нужно заменить параметр parent. <?php $step = 10; $offset = isset($_SESSION['galgenoffset']) && $_SESSION['galgenoffset'] ? $_SESSION['galgenoffset'] : 0; $modx->setLogLevel(MODX_LOG_LEVEL_ERROR); $q = $modx->newQuery('modResource', array('parent' => 6007)); $total = $modx->getCount("modResource", $q); $q->limit($step,$offset); foreach($modx->getIterator("modResource", $q) as $doc){ $doc->remove(); } $_SESSION['galgenoffset'] = $offset + $step; if ($_SESSION['galgenoffset'] >= $total) { $sucsess = 100; $_SESSION['Console']['completed'] = true; unset($_SESSION['galgenoffset']); } else { $sucsess = round($_SESSION['galgenoffset'] / $total, 2) * 100; $_SESSION['Console']['completed'] = false; } for ($i=0; $i<=100; $i++) { if ($i <= $sucsess) { print '='; } else { print '_'; } } $current = $_SESSION['galgenoffset'] ? $_SESSION['galgenoffset'] : ($sucsess == 100 ? $total : 0); print "\n"; print $sucsess.'% ('.$current.')'."\n\n"; Вопросы / Как удалить все товары и опции 6 +3 7
Владимир · 01 сентября 2017, 15:32 можно заменять на те, что предлагает гугл — это в каком случае? сайт статичен? Не знаю, может кому-то покажутся превьюшки с 8-ми битным цветом не лучшего качества, но Google PageSpeed одобряет вот такие: {$_modx->runSnippet('!pthumb', [ 'input' => $_pls['tv.title_image'], 'options' => 'w=500&h=260q=70&zc=C&fltr[]=rcd|8|0', 'toPlaceholder' => 'thumb' ])} Вопросы / Делимся приемами оптимизации под Google PageSpeed 33 0 1
Василий Наумкин · 13 июля 2017, 11:46 Гораздо проще и лучше просто вызвать свой скрипт после default.js от ms2 и перезаписать там объект miniShop2.Message: miniShop2.Message = { success: function() {}, error: function() {}, info: function() {}, }; В modstore.pro, например, сделано вообще вот так: miniShop2.Message = App.utils.Message;Поэтому все уведомления от ms2 работают через общую систему уведомлений сайта. Вопросы / [Решено] Изменить jGrowl-уведомления в minishop2 23 +5 6
Александр Толстенко · 21 июня 2017, 10:35 удали папку core/cache и заверши все сеансы. у меня такая беда была когда я начал менять местами фильтры, но проделав эти манипуляции все прошло. P.S: Кстати такая ошибка вылазила, только если я был авторизован в админ, в инкогнито все работало нормально. Вопросы / Ошибка "Could not load config" в mFilter2 7 0 1
Володя · 11 апреля 2017, 07:26 примерно так можно s6200.h3.modhost.pro/katalog/11999.html joxi.ru/E2pMqLGS9YgaRA {foreach $options as $name => $values} <div class="form-group"> <label class="col-md-2 control-label" for="option_{$name}">{('ms2_product_' ~ $name) | lexicon}:</label> <div class="col-md-10"> <select name="options[{$name}]" class="input-sm form-control" id="option_{$name}"> {foreach $values as $value} <option value="{$value}">{$value}</option> {/foreach} </select> </div> </div> <div class="form-group form-inline embroidery_parent" style="display:none;"> <label class="col-md-2 control-label" for="option_{$name}"></label> <div class="col-md-10"> <input type="text" name="options[embroidery_text]" placeholder="Текст вышивки" class="input-sm form-control" value=""> </div> </div> {/foreach} <script> $(document).on('change', '.ms2_form', function (e) { var embroidery = $(this).find('select[name="options[embroidery]"]'); var embroidery_text = $(this).find('input[name="options[embroidery_text]"]'); if (embroidery.val() == 'да') { embroidery_text.closest('.embroidery_parent').show(); } else { embroidery_text.closest('.embroidery_parent').hide(); embroidery_text.val(''); } }); </script> Вопросы / Опция товара minishop2 с дополнительным полем 7 +2 5
Николай · 01 апреля 2017, 14:48 Постарался чуть более универсальное решение написать для тех случаев, когда обратный слеш нужен не только для папок, но и для документов. Те. сайт/категория/товар/ <?php if ($modx->context->key == 'mgr') {return;} $uri=$_SERVER['REQUEST_URI']; if (substr($uri, -1) != '/' && $uri != '/' && !strpos($uri, '?')&& !strpos($uri, '.')) { $url = $modx->getOption('site_url'); if(substr($url, -1)=='/'){ $url=substr($url, 0, -1); } $url .= $uri.'/'; $modx->sendRedirect($url,array('responseCode' => 'HTTP/1.1 301 Moved Permanently')); } Вопросы / Слэш в конце адреса 44 +1 4
Евгений Webinmd · 24 января 2017, 11:32 я обычно через конфиг самого TV поля прописываю в Разметка колонок и всё нормально срабатывает, может там у вас битая картинка и значит пути не правильно подставляются? [ {"header": "Изображение", "dataIndex": "img","renderer": "this.renderImage"} ] Новые дополнения и их версии / mixedImage - custom TV 166 0 1
Андрей · 12 января 2017, 11:45 Через процессор можно добавлять изображения $data = [ 'id' => 'id продукта', 'file' => 'путь к файлу', ]; $response = $modx->runProcessor('gallery/upload', $data, [ 'processors_path' => MODX_CORE_PATH . 'components/minishop2/processors/mgr/', ]); Вопросы / Как добавить изображения в галерею товара (API)? 4 +2 1
Владимир · 10 января 2017, 19:53 Использую pthumb + феном, документация одна у них (у pthumb и phpthumbon/phpthumbof), ибо аналоги (но в pthumb есть ресайзер в комплекте отдельным пакетом) {$_modx->runSnippet('!pthumb', [ 'input' => $_pls['tv.image'], 'options' => 'w=500&h=260q=60&zc=C', 'toPlaceholder' => 'thumb' ])} <a href="{$id | url : ['scheme' => 'full']}"> <img src="{$_modx->getPlaceholder('thumb')}" width="{$_modx->getPlaceholder('thumb.width')}" height="{$_modx->getPlaceholder('thumb.height')}" alt="{$pagetitle}" /> </a>PS если в опциях есть, например, водяной знак, то убирайте опции в «Наборы параметров» (ваш сйт.админка/?a=element/propertyset ) В вызове снипета добавите runSnippet('!pthumb@namepropertyset', [ Вопросы / Ошибка phpthumbON 8 0 1
Александр Толстенко · 09 января 2017, 14:35 нашел подводный камень. мож кому поможет. mFilter2 выводил так: [[!mFilter2@catalogFilter? &class=`msProduct` &element=`msProducts@listProducts` &paginator=`pdoPage@pagination` &parents=`[[*id:is=`13`:then=`0`]]` &limit=`20` &_sort=`ms|price:asc` &toPlaceholders=`ms.` &innerJoin=`{"Options":{"class":"msProductOption"}}` &where=`[[*introtext]]` &filters=`ms|price:number` ........ и тд.ресурсы сразу не выводились т.к. была присоединена таблица с свойствами через innerJoin, заменил на leftJoin, все в порядке стало. Новые дополнения и их версии / msImportExport 919 0 1
Возможно ли реализовать возможность предоплаты за доставку на сайте? У меня Робокасса, у них вроде есть docs.robokassa.ru/ru/iframe
Редизайн сообщества На больших экранах основной текст статьи я бы сделал 18 px. Да и текст комментариев можно таким сделать. Для меня лично 16 — мелковато на больших экранах (в комментариях вообще 15 ...
MiniShop3 1.11.0 при клике на radio идет пересчет итоговой суммы в orderUI, в зависимости от способов(оплаты доставки) я так поняла. попробуй код запуска события поставить ниже чем 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`; — добавлены уведомления о заявках SendIt через hook-...
[msBonus2] 1.3.0 Бонус-коды, уведомления о сгорании и совместимость с msMultiCurre... Да, планируется. Даже чуть больше, чем просто бонусная система)
Перед использованием нужно заменить параметр parent.
Не знаю, может кому-то покажутся превьюшки с 8-ми битным цветом не лучшего качества, но Google PageSpeed одобряет вот такие:
В modstore.pro, например, сделано вообще вот так:
Поэтому все уведомления от ms2 работают через общую систему уведомлений сайта.
у меня такая беда была когда я начал менять местами фильтры, но проделав эти манипуляции все прошло.
P.S: Кстати такая ошибка вылазила, только если я был авторизован в админ, в инкогнито все работало нормально.
s6200.h3.modhost.pro/katalog/11999.html
joxi.ru/E2pMqLGS9YgaRA
Те. сайт/категория/товар/
PS если в опциях есть, например, водяной знак, то убирайте опции в
«Наборы параметров» (ваш сйт.админка/?a=element/propertyset )
В вызове снипета добавите runSnippet('!pthumb@namepropertyset', [
mFilter2 выводил так:
ресурсы сразу не выводились т.к. была присоединена таблица с свойствами через innerJoin, заменил на leftJoin, все в порядке стало.