Всего 123 801 комментарий

Наумов Алексей
11 ноября 2024, 09:46
0
Добрый день! Вы можете у сниппета ecMessage в параметре threads указать *. Про это есть в документации.
Maks
11 ноября 2024, 08:35
0
У вас на сайте авторизоваться нельзя. Ни яндекс ни гугл авторизация не работает.
Максим
11 ноября 2024, 00:45
0
Добрый день. Скажите, а есть возможность все отзывы, что соберутся на сайте вывести в одном месте?
Идея — есть N товаров, у каждого товара M отзывов. Хочу на странице Отзывы вывести все отзывы всех товаров, получится?
Даша
10 ноября 2024, 22:44
0
C одной стороны, да, с другой- я его скачала с Modstore. Да и по приведенному мной коду у меня выводится календарь (просто базовый).
Артур Шевченко
10 ноября 2024, 21:42
0
Учитывая кто автор компонента, есть сомнение в том, что данный компонент совместим Modx 3.
Дмитрий
08 ноября 2024, 23:04
0
попробуйте убрать autoplay здесь:
allow="clipboard-write; autoplay"
Sergey (Sentinel)
08 ноября 2024, 16:24
0
Для 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();
    }
});
Максим
08 ноября 2024, 14:18
0
Раз уж в статье написано про «подтянуть в очередной раз свои знания в 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 в сниппетах или функциях. Для меня лично тоже так удобнее и нагляднее (единая точка выхода).
Дмитрий
08 ноября 2024, 12:27
0
Не нашел в доках параметр «return». Не могли бы вы привести пример использования? Заранее очень благодарен.
Наумов Алексей
08 ноября 2024, 08:40
0
pdoMenu умеет кешировать дерево, чтобы избегать лишних запросов в БД.

А еще можно посмотреть в сторону css?
vectorserver
08 ноября 2024, 06:31
0
Можно и в консоли только кнопочку руками придется нажимать, одна итерация 50 ресурсов)

По второму вопросу не скажу, не вникал)
Ivan
08 ноября 2024, 00:34
0
К сожалению любое видео подключаемое с rutube через iframe у меня автоматически воспроизводится в хроме, яндекс браузере и сафари, поэтому замер сделал с iframe с ютуба.
В коде страницы нет вообще ничего кроме 1 фрейма ютуба.
На скриншоте в самом низу видно сколько все это занимает времени и сколько это весит.
Артур Шевченко
07 ноября 2024, 22:29
0
Есть параметр return, который позволяет вернуть json. Его можно преобразовать в массив, а уже массив перебрать столько раз сколько нужно, каждый раз рендерить нужный вид меню.
Дмитрий
07 ноября 2024, 20:33
0
Интересно сколько весит фрейм с видео? Метра 3? Допустим у вас 10 видео,
Само видео не грузится, пока вы не нажмете кнопку Play. Если вы для всех видео включите autoplay, тогда да… А вставлять фрейм при нажатии — ну такое… Зачем? Сам по себе фрейм загружается быстро.

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

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

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

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

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

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

Пример клиента — цены на сайте округляются до рублей, при использовании промокода появляются копейки. По итогу у некоторых заказов сумма корзины со скидкой и сумма стоимости товаров со скидкой отличаются на 1 копейку. Из-за этой разницы получаем ошибку при оплате в Тинькове.
al1ve
06 ноября 2024, 16:28
0
Здравствуйте. Такой вопрос. Из-за спама пришлось перейти на плагин SendIt, но спам всё равно приходит. Ваш способ сработает для SendIt? Или его нужно переписать? Или может я просто неправильно настроил SendIt?
Кровельный
06 ноября 2024, 11:13
0
MODX Revolution 2.8.3-pl
87.include.cache.php — Плагин: webpgenerator (87)

[2024-11-06 11:08:33] (ERROR @ /var/www/www-root/data/www/site.ru/core/components/webpgenerator/classes/ImageConverter.php : 145) PHP warning: exif_imagetype(/var/www/www-root/data/www/site.ru/assets/components/phpthumbof/cache/7040%2821%29.0211e0a20652fcdffc397d1f517afe76.jpg): failed to open stream: No such file or directory
[2024-11-06 11:08:33] (ERROR @ /var/www/www-root/data/www/site.ru/core/components/webpgenerator/classes/ImageConverter.php : 147) PHP warning: array_key_exists(): The first argument should be either a string or an integer
[2024-11-06 11:08:33] (ERROR @ /var/www/www-root/data/www/site.ru/core/components/webpgenerator/elements/plugins/plugin.webpgenerator.php : 143) User warning: InvalidArgumentException: Cannot detect /var/www/www-root/data/www/site.ru/assets/components/phpthumbof/cache/7040%2821%29.0211e0a20652fcdffc397d1f517afe76.jpg extension in /var/www/www-root/data/www/site.ru/core/components/webpgenerator/classes/ImageConverter.php:148
Stack trace:
#0 /var/www/www-root/data/www/site.ru/core/components/webpgenerator/classes/ImageConverter.php(43): ImageConverter->getRealExtension('/var/www/www-ro...')
#1 /var/www/www-root/data/www/site.ru/core/components/webpgenerator/classes/ImageConverter.php(33): ImageConverter->loadImage('/var/www/www-ro...')
#2 /var/www/www-root/data/www/site.ru/core/components/webpgenerator/elements/plugins/plugin.webpgenerator.php(141): ImageConverter->convert('/var/www/www-ro...', '/var/www/www-ro...', 95)
#3 /var/www/www-root/data/www/site.ru/core/cache/includes/elements/modplugin/87.include.cache.php(2): include_once('/var/www/www-ro...')
#4 /var/www/www-root/data/www/site.ru/core/model/modx/modscript.class.php(76): include('/var/www/www-ro...')
#5 /var/www/www-root/data/www/site.ru/core/model/modx/modx.class.php(1674): modScript->process(NULL)
#6 /var/www/www-root/data/www/site.ru/core/model/modx/modresponse.class.php(83): modX->invokeEvent('OnWebPagePreren...')
#7 /var/www/www-root/data/www/site.ru/core/model/modx/modrequest.class.php(138): modResponse->outputContent(Array)
#8 /var/www/www-root/data/www/site.ru/core/model/modx/modrequest.class.php(122): modRequest->prepareResponse()
#9 /var/www/www-root/data/www/site.ru/core/model/modx/modx.class.php(1461): modRequest->handleRequest()
#10 /var/www/www-root/data/www/site.ru/index.php(54): modX->handleRequest()
#11 {main}
Артур Шевченко
06 ноября 2024, 10:28
0
Плагин на сохранение возможно. Или не заполнено обязательное поле.