42 минуты назад
Да, реально.$title = preg_replace('![^'.preg_quote($separator).'\.\pL\pN\s]+!u', '', $this->lower($title));
Работает как решение
[Translitor] - Альтернатива транслитерации псевдонимов 25
Вчера в 13:48
Финальная версия.
Прошлая давала ошибку при создании нового документа. Добавил проверку есть ли id.
@EVAL
if(! empty( $modx->resource->...
Tv параметр с чекбоксами выборка ресурсов вложенных в дедушку 7
Вчера в 09:22
Постам прошлого, у которых коэф рейтинга -0.1 и ниже, за каждое добавление в избранное и за каждый положительный голос рейтинга, следовало бы повышать...
Еще один эксперимент с рейтингом modx.pro 7
Вчера в 01:24
смотри информацию о Модификаторы MODX и фильтры phx
Генерация изображения с заданным текстом 6
20 января 2025, 14:22
Компонент не работает? А чего он тогда висит в магазине?
yClients + MODX - синхронизация CRM 16
19 января 2025, 13:57
Ничего из этого не планируется, если не будет спонсора на это. Компонент написан максимально просто с использованием метода оплаты виджетом, что требо...
[mspPaySelectionWidget] Виджет оплаты PaySelection для miniShop2 3
19 января 2025, 02:46
А сколько таких багов еще осталось по всяким разным компонентам??! Хорошо что добрые люди сообщили :-) А обычно компоненты проверять некому
[SendIt] Обнаружена критическая уязвимость обновитесь до версии 2.1.6 1
в гитхабе в исходниках он есть: 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 минут.
В целом я уже решил вопрос. Я отнаследовался от msOrderHandler, скопировал в мой класс метод submit, убрал в нем из обязательных полей email, и перенес модернизированную функцию getCustomerId в него же.
НУ а магазины бывают разные, товары специфические. У меня например 1 пользователь с вероятностью 99,99% совершит только 1 покупку.
И на моем не очень шустром ноуте уже притормаживает браузер, для этого сайта было бы идеально скрывать старые комментарии с группировкой по годам например.