Всего 123 786 комментариев

Сергей Карпович
20 августа 2023, 10:31
0
добавить в начале пути {$_modx->config.site_url}
Ivan
19 августа 2023, 16:34
0
Еще 5 лет и наберется нужная сумма))
Дмитрий
18 августа 2023, 19:12
0
Добрый вечер Сергей!
У меня проблема в удалении minishop2 может конечно что то не заметил

1. Деинсталировал Minishop2
2. Почистил все чанки ms
3. В БД удалил все базы с ms2
4. Minishop2 еще раз установил все почистил… все равно нето!

Что еще надо сделать?

Сайт вроде работает фавориткерамика на shopkeeper и все вроде ок… начинаю товар импортировать через catalogfill его не видно в дереве и он импортируется с классом msProduct а должен modDocument как быть!?
Ольга
18 августа 2023, 15:25
0
Добрый день, а функционал объединения ячеек планируется? Или может быть уже есть? Не нашла.
Роман
18 августа 2023, 14:15
0
Понял, спасибо, думал есть готовое решение. Значит нужно разрабатывать свое решение.
Константин Ильин
18 августа 2023, 14:05
0
ну тут тогда код написать выборки и создания на основания выборки, в целом он простой, логика такая:
1. указываем id ресурса с потомками в переменную
2. сначала получаем его(ресурс родитель) и копируем через resource/create передавая процессору через toArray весь массив
3. После получаем потомков и в цикле через процессор resource/create создаем потомков уже у нового полученного ресурса.

если вам не нужно копировать сам родитель то второй шаг не нужен, т.е. просто получить потомки и создать такие же в новом родителе через resource/create, передавая через toArray весь массив, заменяя parent на нужный
Денис Усачев
18 августа 2023, 13:46
0
Недавно Chrome начал показывать предупреждение:
[Deprecation] Listener added for a synchronous 'DOMNodeInserted' DOM Mutation Event. This event type is deprecated (https://w3c.github.io/uievents/#legacy-event-types) and work is underway to remove it from this browser. Usage of this event listener will cause performance issues today, and represents a risk of future incompatibility. Consider using MutationObserver instead.
Всему причина msfavorites assets/components/msfavorites/js/default.js

а имеено DOMNodeInserted

$(window).on('load', function () {
        $('body').msfavorites('loadFavorites', true);
        $($.fn.msfavorites.selectors.main).msfavorites();

        $('body').on('DOMNodeInserted', function (event) {
            var html;
            if (event.target && (html = event.target.innerHTML) && typeof html === 'string' && html.match(new RegExp($.fn.msfavorites.defaults))) {
                $(document).trigger($.fn.msfavorites.CONTENT_CHANGE, jQuery.merge([html], arguments));
            }
        });
    });
заменить на

$(window).on('load', function () {
    $('body').msfavorites('loadFavorites', true);
    $($.fn.msfavorites.selectors.main).msfavorites();
    var observer = new MutationObserver(function (mutationsList) {
        for (var i = 0; i < mutationsList.length; i++) {
            var mutation = mutationsList[i];
            var target = mutation.target;
            if (mutation.type === 'childList' && target && target.innerHTML) {
                var html = target.innerHTML;
                if (typeof html === 'string' && html.match(new RegExp($.fn.msfavorites.defaults))) {
                    $(document).trigger($.fn.msfavorites.CONTENT_CHANGE, jQuery.merge([html], arguments));
                }
            }
        }
    });
    observer.observe($('body')[0], { childList: true, subtree: true });
});
пробелема решена
Артур Шевченко
18 августа 2023, 13:40
+2
В общем добавил что-то типа CSRF-токена извне теперь не достучаться.
Алексей Шумаев
18 августа 2023, 11:20
+1
Главное прикрыть запросы извне.
Какие заголовки передаются из js можно посмотреть и добавить нужный при необходимости.
Роман
18 августа 2023, 10:53
0
работает, pagetitle не меняет хотя бы, но алиасы все равно меняет, новые прописывает, можно алиасы сохранить как то?
Алексей Шумаев
18 августа 2023, 09:39
+1
В /assets/action.php добавьте старый добрый
if (empty($_SERVER['HTTP_X_REQUESTED_WITH']) || $_SERVER['HTTP_X_REQUESTED_WITH'] != 'XMLHttpRequest') die;
Dan
Dan
18 августа 2023, 07:19
+1
Процессором только в этом же родителе, но тогда alias-ы будут другие. Я вам уже три раза один вопрос задал, но так и не увидел ответа. Зачем вам нужно сохранить алиасы?
Dan
Dan
18 августа 2023, 07:18
0
Вы себе напридумывали. Василий, как и остальные, писал по делу всегда. Если вы тупили, то он прямо на это и указывал. Пишите пожелания, может и сделают. Все таки он разрабатывается в свободное время ребятами, это же не их фултайм работа.
Роман
17 августа 2023, 21:30
0
Это как снипет запустить на странице?
Константин Ильин
17 августа 2023, 20:56
0
Можно использовать процессор дубликата

$options = [
    "id" => 18, // Ресурс с потомками который копируем
    "name" => "Новый ресурс", // Новое название
    "prefixDuplicate" => false,  
    "published_mode" => "preserve", 
    "duplicate_children" => true
];
$result = $modx->runProcessor('resource/duplicate', $options);
Роман
17 августа 2023, 20:30
0
Вложенные включены, а как создать НЕ в этом родителе? При копировании он по умолчанию появляется рядом.
Игорь
17 августа 2023, 20:17
0
я не сильно много обращался, но ответ всегда был конструктивным. Пару раз обращался — Василий действительно помог, он реально молодец (и всей душой за это дело переживал)…
Если есть компонент за 3+ рублей и есть пожелания — можно же подумать и доделать для всех остальных (это же реально нормальное пожелание — на том же Wordpress есть готовые плагины, где модуль поиска уже встроен в фильтр и работает именно так)…