Всего 125 650 комментариев

Дмитрий
09 февраля 2026, 11:05
0
Да, у меня тоже такая проблема
SYAN
09 февраля 2026, 10:47
0
Для вывода данной migx videogallery в виде табов Источник1, Источник2 и тд

Чанк videogalleryVideosTabs.tpl
[[!VideoJsonToPlaceholders? &json=`[[+video]]` &prefix=`video[[+idx]].`]]
<li class="nav-item" role="videocase">
        <button class="nav-link [[+idx:isequal=`1`:then=`active`:else=``]]" id="videogal[[+idx]]-tab" data-bs-toggle="tab" data-bs-target="#videogal[[+idx]]" type="button" role="tab" aria-controls="videogal[[+idx]]" aria-selected="true">Источник [[+idx]]</button>
</li>`

Чанк videogalleryVideos.tpl
<div class="tab-pane fade [[+idx:isequal=`1`:then=`show active`:else=``]]"  id="videogal[[+idx]]" role="tabpanel" aria-labelledby="videogal[[+idx]]-tab">
        <div class="pb-3">
            <div class="embed-responsive embed-responsive-16by9" style="width: 100%;"> 
            <iframe class="embed-responsive-item" 
            src="[[+video[[+idx]].video]]" title="[[+video[[+idx]].title]]" 
            frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" 
            webkitAllowFullScreen mozallowfullscreen allowFullScreen allowtransparency="true" name="main" 
            style="width:100%;height:100%;background-image:url([[+video[[+idx]].image]]);background-size: cover; background-repeat: no-repeat;background-position: center center;">
            </iframe> 
            </div>
        </div>
        <div class="pb-3">видео в источнике <ignore><a href="[[+video[[+idx]].video]]" target="_blank">[[+video[[+idx]].video]]</a></ignore></div>
    </div>

Вызов на странице
<ul class="nav nav-tabs" id="videoTab" role="tablist">
[[!getImageList?
    &tvname=`videogallery`
    &tpl=`videogalleryVideosTabs.tpl`
]]
</ul>

<div class="tab-content" id="videoTabContent">
{'!getImageList' | snippet : [
'tvname' => 'videogallery',
'tpl' => 'videogalleryVideos.tpl']}
</div>
SYAN
09 февраля 2026, 01:44
0
решал эту проблему следующим образом
  1. установил autoRedirector
  2. далее через phpMyAdmin
  3. экспортировал со старого сайта modx_site_content
  4. залил в базу к новому с именем modx_site_content_old
  5. сравнил две базы. если у одинаковых id ресурсов значения uri не совпадают, то добавил новые редиректы в базу modx_ar_rules
  6. удалил дубликаты записей в modx_ar_rules
  7. удалил modx_site_content_old
INSERT INTO `modx_ar_rules` (`res_id`, `context_key`, `uri`)
SELECT
    sc.id AS res_id,
    'web' AS context_key,
    sc2.uri AS uri
FROM
    modx_site_content sc
    LEFT JOIN modx_site_content_old sc2 ON sc.id = sc2.id
WHERE
sc.uri <> sc2.uri; -- uri не совпадают


DELETE FROM `modx_ar_rules`
WHERE id NOT IN (
    SELECT `min_id`
    FROM (
        SELECT MIN(id) AS min_id
        FROM modx_ar_rules
        GROUP BY `res_id`, `context_key`, `uri`
    ) AS keep
);
все четенько на 7К ресурсов в несколько кликов
Николай Савин
08 февраля 2026, 21:20
+1
Переключил минммальную версию в modStore. Программно заменю при следующем обновлении
Артур Шевченко
07 февраля 2026, 22:26
0
процессор, который сохраняет данные, но я бы подождал обновления.
Ivan K.
07 февраля 2026, 22:08
0
Николай сделай пожалуйста, невозможность установки компонентов если версия меньше 8.2.
А то если на сайте 8.1, потребуется восстановление из резервной копии) после попытки установить компонент.
Наумов Алексей
07 февраля 2026, 21:29
0
конечно нет, просто в описании компонента нужно актуализировать версию пэхэпэ
Николай Савин
07 февраля 2026, 19:12
0
Это при актуальном 8.5 то. Может не стоит пытаться оживить давно умирающего дедушку?
Наумов Алексей
07 февраля 2026, 16:02
0
Да, есть такое) при попытке установить на 8,1 сломается все с концами
Сергей Карпович
07 февраля 2026, 10:46
1
0
При встаке ссылок на Rutube ролики с доступом по ссылке, из ссылки вырезается ключ доступа после ID ролика: rutube.ru/play/embed/id_ролика/?p=ключ

Соответственно видео не работает

Решение:
в файле core/components/videogallery/lib/VideoThumb/VideoThumb.php заменить блок парсинга ссылку рутуб на этот:
// Rutube
        elseif (preg_match('~https?://(?:www\\.|)rutube\\.ru/video/embed/([a-zA-Z0-9_\\-]+)/?~i', $video, $matches) ||
                preg_match('~https?://(?:www\\.|)rutube\\.ru/video/([a-zA-Z0-9_\\-]+)/?~i', $video, $matches) ||
                preg_match('~https?://(?:www\\.|)rutube\\.ru/tracks/([a-zA-Z0-9_\\-]+)(&.+)?/?~i', $video, $matches)) {
            
            $videoId = $matches[1];
            $newVideo = 'https://rutube.ru/video/embed/' . $videoId;

            // --- НАЧАЛО ПРАВКИ: Добавляем поддержку приватного ключа ?p= ---
            $parts = parse_url($video);
            if (isset($parts['query'])) {
                parse_str($parts['query'], $queryParams);
                if (!empty($queryParams['p'])) {
                    // Добавляем ключ к embed ссылке
                    $newVideo .= '/?p=' . $queryParams['p'];
                }
            }
            // --- КОНЕЦ ПРАВКИ ---

            $video = $newVideo;
            $image = '';

            // Добавил @ перед file_get_contents, чтобы не сыпались ошибки если Rutube вернет 404 для закрытого видео
            if ($json = json_decode(@file_get_contents('https://rutube.ru/api/video/' . $videoId), true)) {
                $image = $json['thumbnail_url'];
                $image = $this->getRemoteImage($image);
            }
            $data = [
                'video' => $video,
                'videoId' => $videoId,
                'image' => $image,
            ];
        }
Олег
06 февраля 2026, 16:53
0
Важно именно «МойСклад»
Вячеслав
06 февраля 2026, 12:40
0
Спасибо за компонент, но что-то с ходу не могу предположить в каких ситуациях он понадобиться. Можно несколько примеров накидать?
Ivan K.
06 февраля 2026, 12:29
0
Более того, если используется на сайте 8.1 — то установку «клинит», сайт перестает работать вообще, выводится ошибка типа минимальная версия 8.2. И с другими компонентами тоже самое (mFilter и mSearch)
Наумов Алексей
06 февраля 2026, 10:15
0
Привет! Хоть у ms3 указана совместимость с php >= 8.1, однако тянутся библиотеки symfony/*, которые просят php >= 8.2.
Сергей Карпович
06 февраля 2026, 00:13
0
С MoySklad не знаю, а с 1С — работает точно
Дмитрий
05 февраля 2026, 17:10
+1
в /core/components/easycomm/src/EasyComm.php добавил на 79 строку
if (!is_array($config)) {
            $config = [];
        }
и ошибка пропала
Дмитрий
05 февраля 2026, 16:20
0
POST /assets/components/easycomm/connector.php?fileapi17702975348725 500 (Internal Server Error)
, версия php 8.2.29
Наумов Алексей
05 февраля 2026, 15:28
0
Посмотреть бы логи сервера, и ошибку в консоли браузера. Так сложно сказать… У меня под рукой нет сайта, чтобы проверить тоже самое.