Задать вопрос
  • Как вывести теги на карточке статьи?

    DanArst
    @DanArst
    Гриффиндор в моде при любой погоде!
    Во первых, запомните, что синтаксис [[*tags]] - это вывод TV текущего ресурса, т.е. на странице которого вы находитесь.
    А вы это используете в чанке. Т.е. должен быть синтаксис [[+tags]]
    Предварительно нужно добавить этот tv в includeTVs, если вы выводите статьи с помощью pdoResources или pdoPage, и если у вас указан tvPrefix=``.
    Если параметр tvPrefix не указан, то в чанке пишете [[+tv.tags]]

    [[!tolinks? 
       &items=`[[+tags]]`  или &items=`[[+tv.tags]]`
       &tpl=`tagRowTpl` 
       &target=`56`
    ]]
    Ответ написан
  • Unsupported post request object with ID 'xxxxxxxxx' does not exist, cannot be loaded due to missing permissions что делать?

    DanArst
    @DanArst
    Гриффиндор в моде при любой погоде!
    pages_manage_posts разрешение есть?
    Ответ написан
  • Как подтянуть фотографию товара в YML файл?

    DanArst
    @DanArst
    Гриффиндор в моде при любой погоде!
    Если это товары minishop2, то зачем использовать pdoResources, если есть msProducts.
    И тогда не надо будет запускать сниппет msGallery в чанке, а у вас будет доступен плейсхолдер [[+image]] - основное изображение товара.
    Ответ написан
    2 комментария
  • Как настроить логирование MODX в соответствии с требованием ЦБ?

    DanArst
    @DanArst
    Гриффиндор в моде при любой погоде!
    А что не так в Журнале системы управления? Все это там ведь указывается.
    Ответ написан
  • Как сбросить автопрокрутку у Swiper при переключении таба?

    DanArst
    @DanArst
    Гриффиндор в моде при любой погоде!
    Можно использовать метод slideTo, но он ломает autoplay, поэтому можно сделать следующее:
    отключить autoplay - скролл до 1-го слайда - включить autoplay


    navList[i].addEventListener("click", (evt) => {
        let currentLink = tabContainer.querySelector(
          ".slidersTab__tab-label.current"
        );
        let currentTab = tabContainer.querySelector(
          ".slidersTab__slidersItem.current"
        );
        //добавить 4 строчки -- start 
        let currentSlider = tabList[i].querySelector('.slidersTab__slider-body').swiper;
        currentSlider.autoplay.stop();
        currentSlider.slideTo(0, 0, false);
        currentSlider.autoplay.start();
        //-- end
        currentLink.classList.remove("current");
        navList[i].classList.add("current");
    
        currentTab.classList.remove("current");
        tabList[i].classList.add("current");    
    });


    Ответ написан
    1 комментарий
  • Как создать robots на Modx Rev?

    DanArst
    @DanArst
    Гриффиндор в моде при любой погоде!
    Это могу быть ресурсы. Зайдите в админку и в правой панели сайта увидите три вкладки: Ресурсы, Элементы, Файлы.
    Ресурсы - это все страницы сайта, вот среди них и найдите страницу robots.
    Ответ написан
  • Форма отправляет данные, даже если капча не пройдена. Как поправить?

    DanArst
    @DanArst
    Гриффиндор в моде при любой погоде!
    Добрый день. Подскажите, пожалуйста, форма обратной связи все равно отправляет данные, даже если капча не пройдена

    Понятное дело. Вы ведь ее даже не проверяете в php-обработчике.

    и как сделать проверку, а то спам все равно продолжает сыпаться?

    Смотря какая капча. В инете инфы полно, вот к примеру первая ссылка с гугла по rcv2
    Ответ написан
  • Как минифицировать код MODx?

    DanArst
    @DanArst
    Гриффиндор в моде при любой погоде!
    Че это за чушь? Выключите этот плагин, он никоим образом не ускорит загрузку страницы.
    Есть HTML2Minify, если хотите средствами Modx
    Ответ написан
  • Как отправить на почту JS данные Modx?

    DanArst
    @DanArst Куратор тега JavaScript
    Гриффиндор в моде при любой погоде!
    Не понял, вы в форму модального окна вставляете картинку и заголовок, но не знаете как их отправить?
    Ну так вставляйте их в скрытые поля. И чанке письма, если такой есть, отобразите имя поля, в которое будет вставляться заголовок. Картинка будет во вложении. Чтобы вложение отправить добавьте форме атрибут enctype="multipart/form-data"
    Ответ написан
    Комментировать
  • Почему не работает vertical-align: center?

    DanArst
    @DanArst Куратор тега CSS
    Гриффиндор в моде при любой погоде!
    Во-первых, у свойства vertical-align нет значения center, есть middle.

    Во-вторых, middle работает не так, как вы себе представляете. Т.е. он не выравнивает строчный/строчно-блочный элемент по центру строки. Он выравнивает его относительно середины воображаемой буквы x (т.е. берется условное значение x-height).
    Смотрите пример ниже.


    Я бы посоветовал сделать с помощью flex
    Ответ написан
    Комментировать
  • Как можно выполнить PHP-скрипт в файле перед всем в MODX?

    DanArst
    @DanArst
    Гриффиндор в моде при любой погоде!
    OnInitCulture - самое первое событие, если вы имеете в виду фронтенд-события. Только вот не понял связь между PHP-файлом и событиями Modx.
    Ответ написан
  • Как добавить у каждого товара цену в телеграмм отправке?

    DanArst
    @DanArst
    Гриффиндор в моде при любой погоде!
    foreach ($_products as $product) {
        $i++;
        $products .= "{$i}. {$product->name} ({$product->count} шт.) ({$product->price}) \n";
    }
    Ответ написан
  • Калькулятор для MODX как реализовать?

    DanArst
    @DanArst
    Гриффиндор в моде при любой погоде!
    А причем тут Modx? Ваш калькулятор - это HTML разметка с функционалом на JS.
    Modx вам разве что понадобится только для отправки формы, и то можно не использовать компоненты, или для управления параметрами калькулятора, и то не факт что это тоже понадобится.
    Хочу научиться писать самостоятельно, скажите в какую сторону копать? Какие книги или может видеоуроки.

    Честно говоря, учитывая что вы задали такой вопрос, то вам бы хоть что-то научится делать для начала - верстать, подучить базу JS, чтобы было логическое понимание как это работает. А там по ходу разработки будут появляться нужные вопросы, ответы на большинство из которых можно без проблем найти в гугле.
    Если делать на фрилансе, сколько стоит подобная услуга. За сколько бы сделали ВЫ?

    Зависит от количества параметров, их зависимостей. У каждого своя вилка цен, я бы взял диапазон 3500-5000р.
    Ответ написан
    Комментировать
  • Почему пропадает before?

    DanArst
    @DanArst Куратор тега CSS
    Гриффиндор в моде при любой погоде!
    Задайте z-index для before.
    Почему так происходит? Потому что любое значение свойства transform помимо none создает новый контекст наложения.
    Советую почитать доку.
    Ответ написан
    1 комментарий
  • Как в ModX + ms2Gallery как вывести alt у изображений?

    DanArst
    @DanArst
    Гриффиндор в моде при любой погоде!
    А в вызове msGallery на странице товара случайно не другой чанк указан?
    Ответ написан
  • Как скрывать блок в msFavorites если count меньше 0?

    DanArst
    @DanArst
    Гриффиндор в моде при любой погоде!
    Скопировать скрипт msFavorites, указать новый в системных настройках по ключу msfavorites_front_js
    В скопированном скрипте править метод updateFavorites, а именно строчки под комментом //set total.
    Там проверяешь условие, если total < 1, то скрываешь блок, если нет, то показываешь. Все.
    Ответ написан
  • Не работает плагин cityselect?

    DanArst
    @DanArst
    Гриффиндор в моде при любой погоде!
    По моему компонент уже давно не актуален, 5 лет с выпуска последней версии прошло. Как минимум у него какая-то проблема с kladr api начала возникать, ибо они со своей стороны что-то меняли. Вариант - либо написать свое решение, либо взять платное, например UserLocation и включить в нем DaData.
    Ответ написан
    2 комментария
  • Как в modx очистить кеш?

    DanArst
    @DanArst
    Гриффиндор в моде при любой погоде!
    Потому что кнопка "Очистить кэш" чистит кэш не браузера, а самой CMS, это ведь логично.
    Для сброса кэша CSS добавьте подключаемым в head стилям версию, например
    <link rel="stylesheet" href="/assets/template/css/styles.css?v=1.1">
    Ответ написан
    Комментировать
  • Как в modx настроить Mobile Detection?

    DanArst
    @DanArst
    Гриффиндор в моде при любой погоде!
    Тот компонент уже лет 10 как заброшен, используйте лучше компонент от Ильт Уткина MobileDetect
    Ответ написан
    2 комментария
  • Как вывести дополнительное текстовое поле в админке Gallery?

    DanArst
    @DanArst
    Гриффиндор в моде при любой погоде!
    Расширять, как и любую другую модель в Modx.
    1) Создаете js-скрипт, в котором наследуете GAL.panel.Album, код которого находится в assets/components/gallery/js/mgr/widgets/album/album.panel.js, добавив туда свое поле в items.
    2) Добавляете поле в таблицу modx_gallery_albums (префикс modx_ может отличаться) с именем, которое указали в атрибуте name у поля из предыдущего пункта.
    3) Создаете плагин на событие OnManagerPageBeforeRender, который будет регистрировать созданный ранее js-скрипт на странице админки.

    Это правильный путь к решению, так как его не затрут обновления компонента Gallery.
    Есть путь проще, но тогда компонент нельзя будет обновлять - вместо наследования в 1-ом пункте и создания плагина из 3-го пункта, просто добавляете поле в код в album.panel.js и добавляете его в таблицу modx_gallery_albums. Все.

    Либо можно сделать без расширения полей, но костылем. Можно использовать поле Описание альбома, как контейнер для всех языковых версий, просто нужно определить синтаксис для указания ключа контекста (если делали с помощью Babel) и перевода. Грубо говоря ru=текст|en=текст|de=текст, только надо определиться с разделителями.
    Не знаю, что вы там указываете, допустим название на разных языках. Получается в поле Описание просто указываете примерно так:
    ru>Дизайн буклетов для свадьбы|en>Wedding brochure design|de>Gestaltung einer Hochzeitsbroschüre


    > - разделитель ключа контекста от перевода
    | - разделитель языковых переводов

    Если у вас сделано с помощью Babel и в месте вывода идет проверка ключа контекста, то теперь достаточно написать простой сниппет с одним входным параметром - ID альбома, который разобьет содержимое поля Описание на массив (язык-перевод) и исходя из ключа текущего контекста, выведет нужный перевод.
    Ответ написан
    Комментировать