6 часов назад
Если ты просто скачал компонент из репозитория и не запускал composer install — запусти.
MiniShop3 - 1.0.0-alpha 20
02 сентября 2025, 16:53
Раз к каждому заказу новая фотка, то плагин со своей отправкой. Ну и нужно как-то связать заказ и фото. Тут или сохранять в БД или имя файла задавать ...
minishop2 отправить фотографию товара заказчику 8
31 августа 2025, 21:09
Экранировать, то есть так: $c->sortby($this->modx->escape('rank'), 'ASC');
Во всех файлах?
/core/components/pageblocks/processors/mgr/co...
PageBlocks. Удобное управление контентом сайта. 46
29 августа 2025, 18:05
Василий, здравствуйте! Очень интересное (и правильное) направление для развития modx экосистемы как мне кажется. В последнее время для разработки боль...
Новый тип дополнений: mmxDatabase и mmxForms 41
29 августа 2025, 17:29
Пересобрал шаблон для новостей которые через Collections.
В какой TV была ошибка так и не нашел (((
Мodx revo 3.1.2 при запросе страницы, связанной с Collections сервер возвращает ошибку 500 3
28 августа 2025, 21:34
Добро. Сейчас, сейчас… прольётся чья-то кровь )))
Доработки сайта сообщества modx.pro 11
26 августа 2025, 21:15
Занят был версией 2.8.0
pageblocks.boshnik.com/ru/changelog
так что теперь переноситься на 1-2 месяца
PageBlocks стал ещё мощнее — теперь с пагинацией, сортировкой и фильтрацией 27
20 августа 2025, 19:18
Конечно, пишешь плагин на событие OnResourceDuplicate и копируешь всё что не копируется само.
Копировании ресурсов в с использованием localizator. 1
0.18557000160217 (но периодически 0,25-0,3, видимо в этот момент другие сайты работают)
а было, напоминаю
20$: 0.2700000000000
разница налицо.
Тогда я бы сделал так:
Через этот механизм bezumkin.ru/modx/minishop2/classes/910/ добавил колонку к товару price_rur.
И раз в день пересчитывал бы ее. Т.е. фактически оставил бы пункты 3,4,5 и из 4 убрал бы сохранение в настройки курса.
Т.е. у нас 2 поля для цены у товара. Одна для USD, заполняется менеджером, другая для RUR, пересчитывается полностью автоматически.
в гитхабе в исходниках он есть: github.com/bezumkin/miniShop2/search?q=ms2_price_snippet&ref=cmdform
price_rur, в ней я храню цену товара в рублях,
вот этот код из сниппета updateRates пересчитывает эту цену:
1. Система-Настройки системы: ключ ms2_price_snippet, указываем значение modifyPrice
2. Делаем сниппет modifyPrice:
ну у меня тут несколько другая ситуация, цены на товары вбиты в поля price — в евро, в old_price — в долларах.
3. Создаем ресурс, публикуем его, скрываем из меню, добавляем ему в контент:
и этот ресурс на хостинге вешаем по его url на кронтаб раз в сутки.
4. Создаем сниппет updateRates:
Я в этом сниппете еще кеш чищу в конце всего сайта, мне так нужно.
5. Создаем файл components/cbrf/ExchangeRatesCBRF.class.php:
6. Создаем 2 системные настройки:
rate_euro
rate_usd
7. Открываем первый раз ресурс с шага 3 и проверяем, что он сработал и в настройках курсы обновились.
Это мое решение с одного из сайтов, успешно работающее.
2. Этот сниппет вызываете по crontab раз в сутки, ведь курс меняется раз в сутки
3. Выводите цену с учетом этого курса. В miniShop2 есть специальная настройка в параметрах, позволяющая указать свой сниппет для обработки товара (точно не помню, но она есть, посмотрите). В этом сниппете цену и считаете с учетом курса.
minishop2-combo-options полностью устраивает и делает то, что надо.
Но многие товары переносятся с каталогов и там возможные значения 'этого поля даны строкой с разделителем (запятые или слеш), их много и руками по одному вставлять неудобно. Нужно импортировать их в это поле из строки…
или вариант 2:
если мы в плагине на OnDocFormSave меняем поле textfield, то после сохранения оно в админке обновляется, а вот minishop2-combo-options не обновляется, подозреваю, что просто это не дописано =) MODx в ответе на POST запрос после сохранения документа новое значение поля присылает, а minishop2-combo-options на это не реагирует.
Я посмотрел QuickEmail, а там — email отправителя. Поменял в коде тикест. О-па и письма пошли.
Скачиваешь исходники, смотришь все места, где фигурируют уже имеющиеся поля и по аналогии добавляешь свое.
В целом занимает 10 минут.