Финансовая поддержка VPS, бесплатные дополнения и docs Донаты оплачивают сервер и двигают бесплатные дополнения MODX и документацию. Поддержать

Всего 126 107 комментариев

Артур Сергеевич
Артур Сергеевич
if (!defined('MODX_CORE_PATH')) die('Unauthorized access'); — это мой З#**** (при загруженных проектах я часто разношу все) Если кто-то попытается обратиться к файлу напрямую (например, через URL вроде site.ru/assets/snippets/mysnippet.php.

можно использовать пространства имён и автозагрузку, но проверка MODX_CORE_PATH остаётся простым и надёжным способом защиты.
(просто как доп. уровень, это наверно из разряда xss csp)

погодите, а разве параметр dateFormat не закрывает этот момент?

Все верно вы говорите, просто я его еще не доделал. Изначально я хотел что при текущем годе показа года не было.
Вот сырой код, если хотите посмотреть, для понимания

$formatAbsoluteDate = function($timestamp, $locale) use ($showYear) {
    $monthIndex = date('m', $timestamp);
    $monthNames = $locale['months'][$monthIndex] ?? ['', ''];
    $year = date('Y', $timestamp);
    $currentYear = date('Y');
    
    // !!!
    $shouldShowYear = $showYear && ($year != $currentYear);
    
    return date('d', $timestamp) . ' ' . $monthNames[0] . ($shouldShowYear ? ' ' . $year : '');
};
Stepan
Stepan
showYear:
true (по умолчанию): включает год в полном формате.
false: убирает год (например, «09 мая»).
погодите, а разве параметр dateFormat не закрывает этот момент?

там же какой формат укажешь такой и отобразится
добавьте у себя тоже возможность указания формата
Андрей
Андрей
Добрый день.
Подскажите пожалуйста, а как можно установить или приобрести компонент ExportUsers? Просто на сайте modstore.pro нет такого компонента там остался только msExportUsersExcel, а решения для экспорта заказов — msExportOrdersExcel — нет ((.
Андрей Шевяков
Андрей Шевяков
Столкнулся с такой же проблемой вдруг, хотя сделал уже не один сайт и никогда такого не было. Оказалось все просто, если на странице подключаются скрипты минишопа несколько раз, то и заказ создается несколько раз.

<script src="/assets/components/minishop2/js/web/default.js?v=e0b2f3a936"></script>

Проверяйте этот файл /assets/components/minishop2/js/web/default.js — он должен быть подключен 1 раз на странице, и все тогда ок.
max
max
Да, тоже обновлял с 2.8 до 4 версии. Тоже была ошибка 500. Все сделал как тут описано, но не помогло. Ошибка продолжает вылетать при попытке перейти к странице оплаты.
Но больше волнует другое — не могу обновить mspTinkoff до последней версии: при обновлении консоль выдает следующее:
xPDOObject::fromJSON() -- Could not convert jsonSource to a PHP array.
Error HY000 executing statement: INSERT INTO `ASc69aoShSjq_ms2_payments` (`price`, `rank`, `active`) VALUES ('0', 0, 1) Array ( [0] => HY000 [1] => 1364 [2] => Field 'name' doesn't have a default value )
Error saving vehicle object of class msPayment; criteria: Array ( [name] => )
Ну и соответственно пакет не устанавливается.