19 марта 2026, 15:28
Николай, прежде всего — вы молодец.
А про кеширование — можно пойти по правилу Парето.
То есть дать возможность закешировать самое частое — это ...
mFilter 1.2.0 - улучшенное кеширование и скорость 2
15 марта 2026, 20:35
Minishop2 это завершенная история. Архив. Крайне сомневаюсь, что в него будут добавляться какие то изменения. Это просто некому делать. Заинтересованн...
Порядок значений опций товара 10
15 марта 2026, 13:18
На всякий скопирую код для Bootstrap 4 (есть старый проект, лень переезжать на 5 версию):
/* Закрыть модальное окно после отправки */
document.addEve...
[SendIt] Несколько полезных нововведений в версии 1.1.2 27
13 марта 2026, 16:00
Предлагаю в целом обсудить понятие «вариант товара».
Я пришел к тому, что варианты — являются отдельными товарами. Возьмём для примера футболку. У ...
ms3Variants - Реализация вариантов одного товара в MiniShop3 7
12 марта 2026, 22:19
опытным путем выяснил что ошибку валидации радио кнопок можно вылечить добавив в форму еще один вариант
<input type="radio" name="...
Валидация radio кнопок в Sendit 1
11 марта 2026, 09:11
Привет!
Все верно:
1-го нет в магазине modstore и modx.com
2-й платный
mxEditorJs - блочный редактор Editor.js для MODX 3 2
10 марта 2026, 22:13
Все верно, сорян, в своем сообщении написал не то что хотел =)
msGiftCards - дополнение для MODX 2 + miniShop2 для продажи, применения и учета подарочных сертифика... 5
s424.h2.simpledream.ru/ Накидал пример. У товара цена 500р, в классе корзине
tpl.msCart.row
Извиняюсь, не заметил и не весь код дал. У меня там действий больше (как можно увидеть на сайте большой набор цен хранящийся в JSON). Да, действительно нужно в функции change дописать
Использовать old_price как по мне это не очень красивое решение. Не понял, на функцию изменения было добавлено всего 2 строчки? Хотя странно что не сработал.
shop.plugingrid.com/ Тут все достаточно работоспособно крутится.
Ищем там строчку
В функции add
Далее меняем ее на:
Далее ищем
И немного изменяем ее.
После
Дописываем код:
Да грубо, но это работает. Извиняюсь перед Владимиром что возможно лишил его 2 000р. Я подобную задачу решал, и мне не жалко подсказать за бесплатно.
Вариантов решения несколько. Какой будет лучше конкретно вам — решайте сами.
1. В лоб редактирование класса корзины. Находится он тут:
Интересовать вас будет функция add, и строчка
Работаете непосредственно с ней.
2. Расширить класс корзины, и манипулировать ценой в новом классе. Преимущество перед предыдущим способом в том, что после обновления ms2 все перезапишется, а тут нет. Но и сложнее реализация.
Информацию по этому ищите в поиске, я не могу точно вспомнить где об этом писал Василий.
3. Плагины. Вам нужно создать плагин, который на событие msOnBeforeAddToCart будет пересчитывать цену.
Пример взят из файла с классом корзины. Я лично использовал 1 способ, т.к делал для себя.
У товара сделать 2 TV. Первое — это его цена, то самое значение, которое неизменно. Курс, который вы парсите держать в созданной настройке [[++curse]]. А далее просто доработать тот же крон скрипт, который после получения курса пробежится по товарам, возьмет 1 TV поле с неизменной ценой, умножит это на курс, который вы парсите, и сохранит значение во второе TV, по которому и будет идти фильтрация. По мне этот способ будет однозначно быстрее и проще чем дорабатывать mFilter.
Сейчас ругается:
Fatal error: Cannot unset string offsets in /var/www/scripts/data/www/scripts.fvds.ru/core/model/modx/modprocessor.class.php on line 57
В файле это строчка
В функции
Вот ссылка на топик. Если были бы оформлены хлебные крошки в микроформате, то под заголовком была бы не ссылка (которая не кликабельна), а что то типа:
modx.pro /Блоги /Готовые решения"
Все 3 были бы ссылки, и вели на категории.
1. Ты не добавил выборку tv metor
2. where=`{"":"","":""}`
Могу ошибаться