Maks

Maks

Был в сети 18 марта 2026, 08:08
Заказы не принимаю
Не дает установить последнюю бета ту что в модсторе. Жму на дополнение из списка дополнений а там ничего нет. Как будто доступа нет или прав. Такая ситуация как с платными компонентами.
Делал похожее для второй версии, но меня интересовали только шаблоны, создаешь шаблон он при сохранении прописывает путь к файловому шаблону и создает файл в указанной папке. С шаблонами все понятно а вот зачем для чанков такое делать?
Попробовал на одной странице
<img src="{$main_news_img | pthumb : 'w=490&h=320&zc=1$f=webp&q=90'}" class="bg-img blur-up lazyload"
                    alt="{$pagetitle}">
Время генерации страницы: 0,3308 s
Время парсинга: 0,2667 s
Время выполнения запросов: 0,0641 s
Всего запросов: 274
Источник: database

Второй вариант
{var $params = [
                'w' => 490,
                'h' => 320,
                'fit' => 'stretch',
                'fm' => 'webp'
                ]}
                <img src="{'Thumb2x' | snippet : ['input' => $main_news_img,'options' => $params]}"
                    class="bg-img blur-up lazyload" alt="{$pagetitle}">
Время генерации страницы: 0,3447 s
Время парсинга: 0,2722 s
Время выполнения запросов: 0,0725 s
Всего запросов: 338
Источник: database

По количеству запросов что то совсем не впечатляет.
Еще не много осталось что бы заменить большое количество компонентов которые не поддерживаются и не развиваются.
Не хватает примеров реализации для полного понимания всего функционала. Спасибо.
Такая же ситуация, загрузить нельзя на modx 3 не находит такого пакета.
А после установки локально сыпятся ошибки
components/sendit/services/sendit.class.php: 1147) Table si_sessions not found
core/vendor/xpdo/xpdo/src/xPDO/xPDO.php: 667) Could not load class: siSession from mysql.sisession

Таблица в базе данных не создается. Под новые верси mysql не создает таблиці.
docker-compose up -d
error during connect: Get "http://%2F%2F.%2Fpipe%2FdockerDesktopLinuxEngine/v1.46/containers/json?all=1&filters=%7B%22label%22%3A%7B%22com.docker.compose.config-hash%22%3Atrue%2C%22com.docker.compose.project%3Ddevilbox%22%3Atrue%7D%7D": open //./pipe/dockerDesktopLinuxEngine: The system cannot find the file specified.
Вот такую ошибку получил при выполнении команды
docker-compose up -d
<?php
$id = $modx->getOption('id', $scriptProperties, $modx->resource->id);
$field = $modx->getOption('field', $scriptProperties);
$tpl = $modx->getOption('tpl', $scriptProperties, 'msTimeStampTpl');
if ($modx->getObject('msProduct', $id )->get($field) == null) {
    return false;  
}

$tablePrefix = $modx->getOption('table_prefix');
$table = $tablePrefix.'mstimestamp_product';
$sql = "SELECT * FROM $table WHERE product_id = $id AND field = '$field'";
$statement = $modx->query($sql);
$date = $statement->fetch(PDO::FETCH_ASSOC);
if(!empty($date)){
    $validUntil = (int)$date['valid_until']; // Преобразуем строку в число

    $currentDate = time();

    if ($validUntil < $currentDate) {
        return false; // Акция уже завершена
    }

    $secondsLeft = $validUntil - $currentDate;

    $daysLeft = floor($secondsLeft / (60 * 60 * 24));

    $hoursLeft = floor(($secondsLeft % (60 * 60 * 24)) / (60 * 60));

    $minutesLeft = floor(($secondsLeft % (60 * 60)) / 60);

    $secondsLeft = $secondsLeft % 60;

    return $modx->getChunk($tpl, [
        'field' => $field,
        'date' => date('d.m.y', $validUntil),
        'daysLeft' => $daysLeft,
        'hoursLeft' => $hoursLeft,
        'minutesLeft' => $minutesLeft,
        'secondsLeft' => $secondsLeft
    ]);
}
return false;

?>
Вот так сделал

Чанк
<p>
Акция действует до: [[+date]] </p>
<p>Осталось [[+daysLeft]] дней [[+hoursLeft]] часов [[+minutesLeft]] минут</p>
На выходе получаем

Акция действует до: 10.05.24
Осталось 7 дней 16 часов 35 минут