Баха Волков · 06 февраля 2020, 22:07 Не не не, не делайте так, помните или почитайте о DRY. С парсером MODX все понятно, ей сложно помочь, но феном-то полноценный шаблонизатор: {foreach ['receiver', 'phone', 'index', 'region', 'city', 'street', 'building', 'room', 'comment', 'customfield'] as $field} {if $address[$field]?} <tr> <td style="{$style.th};width: 200px; font-weight: 600;">{('ms2_frontend_' ~ $field) | lexicon}: </td> <td style="{$style.th}">{$address[$field]}</td> </tr> {/if} {/foreach} 8 моих строчек против твоих 80-ти Готовые решения / Данные клиента в письме (e-mail). Minishop2. Изменяем чанк tpl.msEmail 9 +12 5
Денис · 23 мая 2019, 14:07 Я делал 2 выборки на странице, всё работало. Можно попробовать вот так: <div id="pdopage"> [[!+page.nav]] <div class="rows"> [[!pdoPage? &element=`getImageList` &tvname=`resourcealbum` &tpl=`effects-img` &limit=`15` &ajaxMode=`button` &wrapperTpl = `effects_wrapper` &docid=`[[*id]]` &processTVs=`1` ]] </div> </div> <!-- Меняем ID на pdopage2 и добавляем параметры &ajaxElem... --> <div id="pdopage2"> [[!+nav.pagevar]] <div class="rows"> [[!pdoPage? &element=`getImageList` &tvname=`resourcealbum1` &tpl=`effects-img` &limit=`15` &ajaxMode=`button` &wrapperTpl = `colors_wrapper` &docid=`[[*id]]` &processTVs=`1` &pageNavVar= `nav.pagevar` &pageVarKey=`page1` &ajaxElemWrapper=`#pdopage2` &ajaxElemRows=`#pdopage2 .rows` &ajaxElemPagination=`#pdopage2 .pagination` &ajaxElemLink=`#pdopage2 .pagination a` &ajaxElemMore=`#pdopage2 .btn-more` ]] </div> </div> Вопросы / Несколько Pdopage на странице 5 0 4
Dolce · 16 октября 2017, 10:33 Точно, не удалил лишений код — как следствие и скопировал не то. Вот для селектов: $(document).ready(function() { $(document).on('change', '#mse2_sort', function() { var selected = $(this).find('option:selected'); var sort = selected.data('sort'); sort += mse2Config.method_delimeter + selected.val(); mse2Config.sort = sort; mSearch2.submit(); }); }); Вопросы / Шаблон сортировки для mFilter2 21 +2 5
Александр · 15 мая 2017, 12:41 Мучился с мультиязычностью (минишоп + несколько языков) + babel Стандартные чанки не подгружали англояз в контексте (EN, делал как тут писали) Русский язык (контекст WEB) — выводился норм, Английский везде выводился а в чанке корзины — нет, причем шапка таблицы заказов переводилать, а строки нет. Бред какой-то в итоге создал плагин и повесил его на «OnLoadWebDocument» $lang = $modx->getOption('cultureKey'); $modx->lexicon->load($lang.':minishop2:default');И только тогда все заработало. вот такие пироги Вопросы / Переключение языка словаря 8 0 1
Александр Туниеков · 10 марта 2017, 00:35 Может кому-то понадобиться опишу решение задачи. Мне понадобилось два дня чтоб пробраться через все баги. Сверстаный html макет сертификата в mpdf выгружался криво. Одна страница растягивалась на 3 страницы. Не подгружались фоновые картинки. В итоге решили сертификаты делать картинками, а на них уже накладывать номер и код сертификата. Во первых нужен сам mpdf. Он ставиться через composer. Но ставить через composer так не разобрался как. Поступил проще установил компонент PDFresource. В нем уже есть последняя настроенная версия mpdf. Итоговый сниппет html2pdf: <?php require_once(dirname(dirname(dirname(dirname(dirname(dirname(__FILE__)))))).'/core/components/pdfresource/vendor/mpdf/mpdf/mpdf.php'); // путь до mpdf $mpdf = new mPDF(); $mpdf->list_indent_first_level = 0; $mpdf->SetDisplayMode('fullpage'); switch($_GET['product']){ case '218': $img='http://mysite.ru/assets/components/html2pdf/sertifikat-lichniy-vrach-plus.jpg'; break; case '219': $img='http://mysite.ru/assets/components/html2pdf/sertifikat-lichniy-vrach-semeynoe-zdorovye.jpg'; break; case '217': default: $img='http://mysite.ru/assets/components/html2pdf/sertifikat-lichniy-vrach-standart.jpg'; break; } $t=$modx->getChunk('sertifikat_html',array( 'img'=>$img, 'nomer'=>$_GET['nomer'], 'code'=>$_GET['code'], )); //return $t; $mpdf->WriteHTML($t, 0); /*формируем pdf. С ключом 0 обрабатывает стили css.*/ $mpdf->Output('mpdf11.pdf', 'I'); // вывод pdf в браузер. С ключом 'D' выводит файл на загрузку. exit; // без этой команды в браузер выпадают ероглифыИтоговый чанк sertifikat_html: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html lang="ru"> <head> <meta charset="utf-8"> </head> <body> <div class="example2"> <img src="[[+img]]" > <div style="margin-top: -895px;padding-left:80px;"><span>[[+nomer]]</span></div> <div style="margin-top: -20px;padding-left:470px;"><span>[[+code]]</span></div> </div> </body> </html>В mpdf стили position:absolute обрабатываются ограниченно. Пришлось долго возиться, чтобы наложить текст на картинку. Решилось все стилем margin-top с отрицательными значениями. Причем те же стили примененные к span эффекта не давали. Только div выручил. Сейчас все наконец-то работает :) Вопросы / Нужно клиентам выгружать сертификат в pdf формате 8 0 1
Виталий Серый · 28 февраля 2017, 14:03 Самое простое через ключ массива. {*Первые два*} {foreach $rows as $idx => $row} {if $idx < 2} <div>{$idx} - {$row.title}</div> {/if} {/foreach} {*С пятой строки*} {foreach $rows as $idx => $row} {if $idx > 4} <div>{$idx} - {$row.title}</div> {/if} {/foreach} {*Чересстрочная вакханалия*} {foreach $rows as $idx => $row} <div{$idx is odd ? ' class="odd"' : ''>{$idx} - {$row.title} и два тикета туДаблин</div> {/foreach}И т.п. Документация Fenom. Вопросы / MIGX getImageList и Fenom 67 +4 4
Виталий Серый · 13 ноября 2016, 18:44 Код чанка написать между foreach. Например: {foreach $rows as $row} <div class="item"> <div class="title">{$row.title}</div> <div class="desc">{$row.description}</div> <div class="image"><img src="{$row.image}" alt="{$row.title}" /></div> </div> {/foreach} Вопросы / MIGX getImageList и Fenom 67 0 3
Виталий Серый · 08 июня 2016, 00:58 Можно попробовать обойтись средствами Fenom без getImageList. {set $rows = json_decode($_modx->resource.tv_product_main_gallery, true)} {foreach $rows as $row} {$row.image} {/foreach} Вопросы / MIGX getImageList и Fenom 67 +3 7
Виталий Барышников · 06 марта 2016, 11:59 Спасибо, всё работает. Только для тех, кто еще будет делать была проблема, что не работает пересчет корзины когда меняем количество товара в input. Нужно вручную добавить событие сабмита формы в onchange этого инпута: <input type="number" name="count" value="[[+count]]" max-legth="4" onchange="$(this).closest(miniShop2.form).submit();" class="input-sm form-control" /> Готовые решения / Динамическое обновление основной корзины 29 0 1
Константин Ильин · 08 декабря 2015, 01:08 Да бы не заниматься двойной работой по заполнению словаря, сделал такой выход: [[!GetNameFilter]] $query = $modx->query("SELECT * FROM modx_tt_ms2_options WHERE `key`= '".$filter."'"); $item = $query->fetch(PDO::FETCH_ASSOC); return $item['caption'];в чанке tpl.mFilter2.filter.outer заменил вот так: <h4>[[+table:is=`msoption`:then=`[[!GetNameFilter? &filter=`[[+filter]]`]]`:else=`[[%mse2_filter_[[+table]]_[[+filter]]]]`]] </h4> Вопросы / mFilter2 и Характеристики 17 0 2
Возможно ли реализовать возможность предоплаты за доставку на сайте? Так ради этого мне и нужно это все, чтобы клиент платил сразу при оформлении заказа, чтобы избавить себя от мусорных заявок (когда человек оставляет заявку, а предоплату делать не ...
Редизайн сообщества На больших экранах основной текст статьи я бы сделал 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... Да, планируется. Даже чуть больше, чем просто бонусная система)
8 моих строчек против твоих 80-ти
Можно попробовать вот так:
Стандартные чанки не подгружали англояз в контексте (EN, делал как тут писали)
Русский язык (контекст WEB) — выводился норм, Английский везде выводился а в чанке корзины — нет, причем шапка таблицы заказов переводилать, а строки нет. Бред какой-то
в итоге создал плагин и повесил его на «OnLoadWebDocument»
И только тогда все заработало.
вот такие пироги
Сверстаный html макет сертификата в mpdf выгружался криво. Одна страница растягивалась на 3 страницы. Не подгружались фоновые картинки. В итоге решили сертификаты делать картинками, а на них уже накладывать номер и код сертификата.
Во первых нужен сам mpdf. Он ставиться через composer. Но ставить через composer так не разобрался как. Поступил проще установил компонент PDFresource. В нем уже есть последняя настроенная версия mpdf.
Итоговый сниппет html2pdf:
Итоговый чанк sertifikat_html:
В mpdf стили position:absolute обрабатываются ограниченно. Пришлось долго возиться, чтобы наложить текст на картинку. Решилось все стилем margin-top с отрицательными значениями. Причем те же стили примененные к span эффекта не давали. Только div выручил.
Сейчас все наконец-то работает :)
И т.п.
Документация Fenom.
Например:
[[!GetNameFilter]]
в чанке tpl.mFilter2.filter.outer заменил вот так: