Как можно при сохранении ресурса получить все его поля и записать обратно в них изменения?

Приветствую.

У меня есть скрипт в плагине админки MODX, который при сохранении ресурса ищет в нем строку «https://www.youtube.com/watch?v=...» по регулярному выражению и при ее нахождении запрашивает через API YouTube данные о видео, формирует шаблон для вывода видео и шаблон обратно в поле контента ресурса. Оно работает и это хорошо.

А еще у меня есть разные доп. поля и я хочу сделать так, чтобы этот плагин работал и с ними, но не пойму как написать такой чанк. Дело в том, что если бы дело касалось нескольких доп. полей, то я бы не заморачивался и прописал их вручную в плагине, но таких полей десятки и иногда они могут добавляться или удаляться и тогда придется постоянно модифицировать плагин.

Подскажите, пожалуйста, решение того, каким образом можно запросить все существующие у ресурса доп. поля, найти в них строку по регулярному выражению, при наличии такой строки что-то с ней сделать и записать изменения обратно в то же доп. поле.
weranda
14 июля 2022, 13:51
modx.pro
539
0

minishop корзина 404, после обновления цен

Добрый день!

Такая проблема, Версия MODX Revolution 2.8.4-pl, minishop 3.0.5-pl,

После обновления цены, к категории товаров, корзина не открывается, пишет 404 (Not Found)

Удалил ресурс корзины, создал новый — заработало. Потом поменял цену, опять 404 ошибка. Это когда смотришь с другого браузера.

Если перейти в корзину из админки все работает.

В журнале ошибок есть пару

Could not join TVs to the class «msDelivery» that is not a subclass of the «modResource». Try to specify correct class in the «joinTVsTo» parameter.

modRestClient::__construct is deprecated since version 2.3.0. Use the modRest classes instead.

`` is not a valid integer and may not be passed to makeUrl()

В минишопе менял настройки по этой статье modx.pro/help/3991

что бы дробные были при выборе количества.

Подскажите в чем может быть проблема

Александр
14 июля 2022, 05:25
modx.pro
468
0

mfilter2 и вернуться назад с сохранением состояния

Столкнулся с такой задачей. Фильтрацию реализую через mFilter2, вывожу предварительно 6 товаров на экран. По кнопке подробнее подгружаю еще 6 товаров и т.д.
Далее пользователь переходит на страницу товара. Если снова вернуться к ленте товаров и нажать назад, мы попадаем на первые 6 товаров. Получается каждый раз при возврате назад необходимо будет снова и снова подгружать еще товары.
Кто сталкивался в рамках этого модуля?
Николай Ермошин
13 июля 2022, 19:06
modx.pro
496
0

modxYMLprice - генератор прайса Yml Yandex (UP)

Компонент modxYMLprice
modxymlprice-2.2.128-pl
Git: github.com/vectorserver/modxYMLprice
Demo: golodnaya-panda.ru/modxymlprice.xml

PS: компонент сыроват, приму ваши предложения)

Данный компонет предназначен дла генерации XML прайса в формате Yandex YML (рис. 1)

vectorserver
13 июля 2022, 14:01
modx.pro
1 460
+5

Создание (ступенчатой формы заявки) и интеграция ее с api сервиса

Нужно создать последовательную форму записи и связать ее с базой данных стороннего сервиса
С выбором 
1 Направления
2 Выбором врача 
3 Даты приема 
4 Выбор времени 
5 Услуги

По ссылкам ниже представлены руководства:
1. API v2 — настройка аутентификации клиента www.notion.so/API-v2-92012908097b4114abf964d9af7fdb10 
2. API v2 — дополнительная документация для интеграции www.notion.so/API-v2-b31305c8b18549828412a47817cee4a8
Помимо этого предоставляем вам документацию по API: APIv1, APIv2 app.swaggerhub.com/apis-docs/medods/medods-api_version_v_1/1.0.0   app.swaggerhub.com/apis/medods/medods_api/2.0.0

API v2 — настройка аутентификации клиента
www.notion.so

API v2 — дополнительная документация для интеграции
www.notion.so
Ожидаю вопросы уточнения.
почта для связи metrikamihail@yandex.ru (для заявок)
Mikhh
13 июля 2022, 12:12
modx.pro
402
0

Хлебные крошки из Seo Filter

Добрый день!
Установлен СЕО-фильтр. Хочу получить из него хлебные крошки для страниц, создаваемых СЕО-фильтром. Делаю все, как дает разработчик здесь docs.modx.pro/komponentyi/seofilter/dopolnitelnyie-vozmozhnosti, хлебные крошки подключаются и работают. Но! Обновление цепочки при переходе на другую страницу нормально не происходит.
Например: «Свадебные платья — Атласные»
перехожу на уровень выше, где должно отображаться «Свадебные платья», но вижу все те же «Свадебные платья — Атласные», перехожу в другую подкатегорию Блестящие, где должно быть «Свадебные платья — Блестящие», но продолжаю видеть «Свадебные платья — Атласные».
Кеш браузера чистила — не помогает. В чем еще может быть дело?
Пока откатила обратно к стандартному pdoCrumbs, но хотелось бы внедрить.
Надежда
12 июля 2022, 17:53
modx.pro
503
0

А как получить префикс таблиц?

Добрый день.
Есть способ определить префикс таблиц в базе?
Вижу вот такой пример
$current_prefix = $modx->config['table_prefix'];
но у меня нет такой системной настройки.
Александр Мельник
12 июля 2022, 10:33
modx.pro
764
0

Иза за html_replace ломается Яндекс Карта

из за плагина html_replace у которого код:
<?php
if ($modx->context->get('key') != 'mgr') {
    $output = &$modx->resource->_output;
    $output = preg_replace('|\s+|', ' ', $output);
}
и событие OnWebPagePrerender

Ломается код яндекс карты
<div id="map_container" class="map container-fluid">
        <code><script id="ymap_lazy"
        async
        data-src="<script type="text/javascript" charset="utf-8" async src="https://api-maps.yandex.ru/services/constructor/1.0/js/?um=constructor%3A416cea24f42086697c96d1af16b184198327d44440ecc899ac4563d878ff7b0e&width=500&height=400&lang=ru_RU&scroll=true"></script>"></script>
</div>
</div>
<!-- подгрузка карты яндекс или гугл //-->
    <script type="text/javascript">
        $(document).on('ready', function() {
    let map_container = document.getElementById('map_container');
    let options_map = {
        once: true,//запуск один раз, и удаление наблюдателя сразу
        passive: true,
        capture: true
    };
    map_container.addEventListener('click', start_lazy_map, options_map);
    map_container.addEventListener('mouseover', start_lazy_map, options_map);
    map_container.addEventListener('touchstart', start_lazy_map, options_map);
    map_container.addEventListener('touchmove', start_lazy_map, options_map);

    let map_loaded = false;
    function start_lazy_map() {
        if (!map_loaded) {
            let map_block = document.getElementById('ymap_lazy');
            map_loaded = true;
            map_block.setAttribute('src', map_block.getAttribute('data-src'));
            map_block.removeAttribute('data_src');
            console.log('YMAP LOADED');
        }
    }
     });
</script>
ломается код, карта не работает с плагином html_replace в одну строчку. может быть кто сталкивался как решить?
Игорь
11 июля 2022, 19:52
modx.pro
474
0

Locale в контекстах

Добрый день! Подскажите, можно ли в контекстах настроить локаль для других языков, а не только для английского и русского, чтобы месяцы выводились на нужном языке, например, при выводе publishedon на немецком или испанском?
Анастасия
11 июля 2022, 19:06
modx.pro
538
0

Решение проблемы "Добавление комментариев закрыто. MODx Revolution, компонент quip"

Сообщение от модуля Quip комментариев:
Добавление комментариев закрыто. MODx Revolution, компонент quip

Как решить проблему —
Зайти в Сниппет: QuipReply(), вкладка параметры, разрешить редактирование, находим closeAfter поле, и вместо 14, пишем 99999999999. Сохранить набор параметров, Сохранить. Очистить кэш.

Повторяем толе самое для Сниппет: Quip ().
Теперь форма ввода комментариев не пропадет спустя 14 дней.
Игорь
11 июля 2022, 15:18
modx.pro
1 247
-2