Павел Романов · 15 февраля 2024, 12:09 Что-то типа этого (бэкап базы только сделайте): <?php $tvid = 123; // ID TV-шки $vendor = 'Производитель' // Название производителя $template = 6; // ID шаблона товара $sql = "SELECT * FROM {$modx->getTableName('modTemplateVarResource')} WHERE tmplvarid = {$tvid}"; $q = $modx->prepare($sql); $q->execute(); $tvs = $q->fetchAll(PDO::FETCH_ASSOC); foreach($tvs as $tv) { if($tv['value'] != $vendor) continue; // если название не то, пропускаем if(!$resource = $modx->getObject('modResource', array('id' => $tv['contentid'], 'template' => $template)) continue; // если нет ресурса с таким ID и шаблоном, пропускаем $resource->remove(); // удаляем ресурс } Вопросы / Как удалить товары с определенным значением tv 4 0 1
Алексей Соин · 10 января 2022, 11:03 На скорую руку накидал свой вариант m2f.zencod.ru/ Если у кого то есть предложения по более лучшему варианту, велком с пуллреквестом))) github.com/alexsoin/modx2fenom Готовые решения / Было бы неплохо сделать конвертер MODX в Fenom. Я начал, но вряд ли смогу доделать 40 +10 3
Тодор · 20 декабря 2021, 18:49 Убери 'sort'=>'resource|menuindex:asc',оставь только 'sortby' => 'CASE `Data`.`vendor` WHEN 7 THEN 1 ELSE 0 END ASC, msProduct.id', Вопросы / [mFilter2] Как выводить сначала товары с определённым свойством? 11 +3 4
Олег Щавелев · 02 октября 2021, 10:36 Создайте модификатор через плагин, и вызовите к примеру через метод getObject. Схему объектной модели можно посмотреть в компоненте ClientConfig в папке model. Вопросы / ClientConfig вывод названия поля. 2 +1 1
Баха Волков · 06 июля 2021, 13:01 document.querySelector(любая_кнопка).addEventListener('click', e => { e.preventDefault() const data = new FormData(форма_фильтров) // и тут делайте с данными формы что душе угодно }) Готовые решения / AjaxForm + mFilter2 3 0 1
Станислав · 05 ноября 2020, 17:15 Может кому то пригодится $(document).ready(function () { $('.comparision__reset-list').click(function() { $('.comparison-row .comparison-head').each(function (index, element) { $.ajaxSetup({ async: false }); $.post(document.location.href, { cmp_action: 'remove', list: $(this).data('list'), resource: $(element).attr('data-id') }, function(response) {}, 'json'); $.ajaxSetup({ async: true }); document.location.reload(); }); }); }); Вопросы / Как очистить список сравнения в Comparison? 6 +2 1
Sergey · 21 февраля 2020, 17:56 В общем все оказалось гораздо проще, есть метод. $modx->invokeEvent('msOnUpdateOrder',array( 'mode' => 'upd', 'id' => $order->get('id'), 'msOrder' => &$order, 'object' => &$order, )); Где $order — объект заказа. После вызова срабатывают плагины и все вроде норм. Вопросы / Как инициировать событие в минишопе ? (РЕШЕНО) 3 +2 1
Алексей Шумаев · 29 января 2020, 12:18 Расширить модель msOrder: https://modx.pro/solutions/7037. case 'OnMODXInit': # добавим расширение для msOrderAddress $modx->loadClass('msOrderAddress'); #добавить новое поле для адреса $modx->map['msOrderAddress']['fields']['new_field'] = 0; $modx->map['msOrderAddress']['fieldMeta']['new_field'] = array( 'dbtype' => 'varchar', 'phptype' => 'string', 'precision' => 100, 'null' => true, 'default' => null, ); # добавим расширение для msOrder $modx->loadClass('msOrder'); $modx->map['msOrder']['fields']['new_field'] = 0; $modx->map['msOrder']['fieldMeta']['new_field'] = [ 'dbtype' => 'int', 'precision' => 8, 'phptype' => 'integer', 'null' => true, 'default' => 0 ];Всё. Работаете со своими полями, как и с любыми другими. Готовые решения / Добавление своих полей в форму заказа [обновлено] 40 +2 1
Артем · 27 января 2020, 15:15 Теоретически можно указать домен в настройке session_cookie_domain, но также изменить session_name чтобы с текущими авторизациями не было конфликтов. Вопросы / Localizator и Office 2 +1 2
mngatoff · 02 декабря 2019, 02:23 достаточно триггернуть событие change на input:count, и запрос отправится стандартными средствами минишопа. я вот так делаю (немного вырвано из контекста, но принцип ясен): <script> $(document) .on('click touchend', countButton, function (e) { // где countButton - кнопки плюс и минус e.preventDefault(); var $container = $(this).closest('.ms2_form'), $count = $container.find('[name="count"]'), num = $count.val(); if (isNaN(num) === false) { // страховочка от, например, пустого поля num = parseInt(num, 10); switch ($(this).data('ms2-count')) { // соответственно, у кнопок должен быть атрибут data-ms2-count="plus или minus" case 'plus': num = num + 1; $count.val(num); break; case 'minus': if (num <= 1) return; num = num - 1; $count.val(num); break; } } else { return false; } $count.trigger('change'); // инициализируем отправку на сервер. }) .on('change keypress keyup', '.ms2_form [name="count"]', function() { if ($(this).val().match(/\D/)) { this.value = $(this).val().replace(/\D/g,''); // следим на лету, чтобы в поле были только цифры } if (parseInt($(this).val(), 10) < 1) { this.value = 1; // следим на лету, чтобы в поле было не меньше единицы } }); </script> Готовые решения / Плюс и минус в каунте корзины MS2 13 +7 6
UiCMPGenerator дополнение для создания пакетов Ближе к сентябрю, основная загвоздка это создание нормальной документации и видео обзора, а так пакет как бы уже готов
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...
Если у кого то есть предложения по более лучшему варианту, велком с пуллреквестом))) github.com/alexsoin/modx2fenom
оставь только
$modx->invokeEvent('msOnUpdateOrder',array(
'mode' => 'upd',
'id' => $order->get('id'),
'msOrder' => &$order,
'object' => &$order,
));
Где $order — объект заказа. После вызова срабатывают плагины и все вроде норм.
Всё. Работаете со своими полями, как и с любыми другими.
я вот так делаю (немного вырвано из контекста, но принцип ясен):