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

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

Артур Шевченко
Артур Шевченко
На modstore полно компонентов, которые не дружат с modx 3 и их можно скачать из админки. А создать календарь ты не можешь, потому что данный компонент не адаптирован по modx 3. Вариантов у тебя два: адаптировать самой или понизить версию modx
Максим
Максим
Добрый день. Скажите, а есть возможность все отзывы, что соберутся на сайте вывести в одном месте?
Идея — есть N товаров, у каждого товара M отзывов. Хочу на странице Отзывы вывести все отзывы всех товаров, получится?
Sergey (Sentinel)
Sergey (Sentinel)
Для select вот так сделал. Может пригодится тоже.
<select>
    <option data-sort="" data-dir="" class="sorty sort" select>По умолчанию</option>
</select>
$(document).on('change', '#mse2_sort', function() {
    var selected = $(this).find('option:selected');

    // Проверяем, выбран ли элемент "По Умолчанию"
    if (selected.text() === 'По умолчанию') {
        var params = mSearch2.getFilters();
        params.sort = '';
        mse2Config.sort = '';
        mSearch2.load(params);
        mSearch2.submit();
    } else {
        var sort = selected.data('sort');
        sort += mse2Config.method_delimeter + selected.val();
        mse2Config.sort = sort;
        mSearch2.submit();
        mSearch2.Hash.clear();
    }
});
Максим
Максим
Раз уж в статье написано про «подтянуть в очередной раз свои знания в PHP», напишу тут свои мысли.

1. Работать с датами можно через объект DateTime. Насколько помню там даже можно просто сравнивать даты обычным оператором $myDate > $yourDate
2. Может быть имеет смысл не привязываться к году, а просто выводить за столько то дней до и после определённой даты. Новый год всегда 1 января не важно какого года, другие праздники тоже.
3. На мой взгляд удобнее и нагляднее вместо:
$start = $modx->getOption('start', $scriptProperties, '');
$end = $modx->getOption('end', $scriptProperties, '');
$chunk = $modx->getOption('tpl', $scriptProperties, '');
писать в таком стиле:
$options = array_merge([
        'start'   => '',
        'end'    => '',
        'tpl'      => "@INLINE {$var}"
    ], $scriptProperties);
4. Я всегда стараюсь делать один return в сниппетах или функциях. Для меня лично тоже так удобнее и нагляднее (единая точка выхода).
Ivan
Ivan
Дмитрий
Дмитрий
Интересно сколько весит фрейм с видео? Метра 3? Допустим у вас 10 видео,
Само видео не грузится, пока вы не нажмете кнопку Play. Если вы для всех видео включите autoplay, тогда да… А вставлять фрейм при нажатии — ну такое… Зачем? Сам по себе фрейм загружается быстро.

А может быть вам сделать так, чтобы была картинка с rutube и кнопка.
По умолчанию и так видео вставляется со своей заглушкой. В моем решении вы имеете возможность вставить своё изображение в качестве заглушки поверх.

а не всем видео одинаковую делать)
так и не делайте одинаковую, меняйте изображение хоть для каждого видео на странице, а хотите — уберите вообще — и вы получите стандартную заглушку с rutube.

И по поводу sticky. В CSS вы код показываете, а в JS нет.
так у нас целиком блок прилипает, отрываясь от основного контента, ничего не меняется, поэтому js будет работать и там и там.

А еще интересно будет ли это работать в IOS в safari.
Тут могут быть проблемы. Лично я тестировал на iPhone 13 — всё работало. Версию ios не помню, но не последняя. При этом на другом iphone (11 или 12) с версией ios ниже — уже не работало.

Здесь уже частные случаи, нужно смотреть индивидуально по задаче, можно для ios вставлять просто блок с mp4 и отображать его, если у нас safari. Что-то в общем, можно придумать, при желании)
Ivan
Ivan
Интересно сколько весит фрейм с видео? Метра 3? Допустим у вас 10 видео, то это большой размер.
А может быть вам сделать так, чтобы была картинка с rutube и кнопка. При нажатии на которую вставляется фрейм и воспроизводится.
Заглушку всегда можно взять с rutube, а не всем видео одинаковую делать)

И по поводу sticky. В CSS вы код показываете, а в JS нет. Может я чего-то пропустил, могу ошибаться)
P.S. А еще интересно будет ли это работать в IOS в safari. Они очень любят блокировать всякие действия с видео.
Андрей
Андрей
Добрый день, есть ли возможность добавить настройку округления цен до рублей в корзине и на товары и на общую сумму корзины после применения скидки?

Пример клиента — цены на сайте округляются до рублей, при использовании промокода появляются копейки. По итогу у некоторых заказов сумма корзины со скидкой и сумма стоимости товаров со скидкой отличаются на 1 копейку. Из-за этой разницы получаем ошибку при оплате в Тинькове.