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

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

Наумов Алексей
Наумов Алексей
Попадешь в ситуацию, что твой сайт будет зависим от десятков брошенных модулей (да еще, возможно, и с г***кодом внутри), или развивающихся в не нужном тебе направлении.
Трижды подумай)
Может на ларавел проще запустить с нуля сложный и нестандартный проект?
Олег Захаров
Олег Захаров
Интересно есть ли где-нибудь пример сравнения MODX+MInishop с другими движками интернет-магазинов?
Я делал для одного сайта план развития. У меня план состоит из 700 пунктов. Общее количество выбранных компонентов получилось около 80, причем часть из них под сомнением. Каждый аспект интернет-магазина требует использования множества разных решений. И все это между собой надо как-то состыковать.
Олег Захаров
Олег Захаров
Странно почему я не могу нажать стрелочку вверх поднять рейтинг. Спасибо за труд. Я все никак не решаюсь перейти на MODX 3 только из-за того что нет полной замены решений на MODX 2.8.
Кто-нибудь уже делал сайт интернет-магазина на MODX 3? Поделитесь пожалуйста примерами.
Вот
тут я писал что делал план развития для одного сайта интернет-магазина, он состоит из 700 пунктов и более 80 компонентов. На MODX 3 + Minishop 3 есть ли какая-то дорожная карта развития и какие инструменты и возможности в нем будут реализованы?
Іван Клімчук
Іван Клімчук
В целом разумно и текущую активность нужно учитывать в рейтинге. Смущает немного только то, что общий рейтинг коэффициентами меняется, что все равно приводит к дисбалансу, стоит былому «активисту» зайти и проявить себя. Правильнее было бы учитывать возраст самой заметки и по ней высчитывать коэффициент, но понимаю, что лезть в текущую формулу — это ломать вообще все.

Но, в любом случае, движение верное. Дорогу молодым! Рейтинг в целом — хорошая мотивация, сам когда-то ради него старался, хоть это все лишь циферки формально :)
Олег Захаров
Олег Захаров
А компонент будет поддерживать Рекуррентные платежи? В самой платежной системе есть https://api.payselection.com/#tag/Rekurrentnye-platezhi-or-Podpiski
Очень нужная вещь для реализации оплаты по подписке. Особенно в связке с использованием чат-ботом в Телеграм бы такое реализовать.
И есть ли возможность использовать метод «Двухстадийная операция оплаты» — когда операция оплаты проходит не сразу, а «платеж, который включает выполнение двух операций: холдирование средств на карте и завершение авторизации — списание.»
Также интересует Rebill «операция для списания средств по ранее сохраненной карте (через RebillId). „
Павел Романов
Павел Романов
Сниппет можно сократить до такого ):
<?php
$out = [];
$table = $modx->getOption('table_prefix').'msop_colors';
if($query = $modx->query("SELECT color, pattern FROM {$table} WHERE value = '{$color}'")){
    $out = $query->fetch(PDO::FETCH_ASSOC);
}
return $out;
Александр Туниеков
Александр Туниеков
Человек бы попытася что-то определенное сказать. Либо можно либо нельзя. А chatGPT выразился в общем. Четкого ответа что компоненты для MODX можно шифровать нет. Человек понимает, что компоненты MODX не включают в себя код MODX. Код MODX компонентом никак не модифицируется. А chatGPT этого не понимает.
Хотя плагин на события модифицирует поведение MODX, но в себе кода MODX так то не содержит. Только API вызывает.
Алексей
Алексей
Подключи к сайту PHP FFmpeg, думаю в хостинге тебе установят или уже установлен и плюсом сможешь сжимать файлы, простой пример:

{'!getWithFFmpeg' | snippet: [
'file' => ''" // Укажи путь к видеофайлу
]}
как пример сделать через shell
<?php
function getWithFFmpeg($videoPath) {
    $command = "ffmpeg -i " . escapeshellarg($videoPath) . " 2>&1 | grep Duration | cut -d ' ' -f 4 | sed s/,//";
    $duration = shell_exec($command);
    if ($duration) {
         list($hours, $minutes, $seconds) = explode(':', $duration);
           return ($hours * 3600) + ($minutes * 60) + $seconds;
      }
    return false;
}

$duration = getWithFFmpeg($file);

if ($duration !== false) {
    echo "Длительность видео: " . $duration . " секунд";
} else {
    echo "Не удалось получить длительность видео";
}
?>
на выходе будет например: Длительность видео: 5 секунд.
или можно скачать библиотеку, закинуть в папку сайта сам getID3 и написать функцию