Pandemic

Pandemic

С нами с 22 ноября 2023; Место в рейтинге пользователей: #906
Pandemic
30 сентября 2024, 09:29
0
Ошибка какая-то prnt.sc/3Ia65okj82d3 эта ссылка была в гугле www.modx.pro/help/21494
Pandemic
10 сентября 2024, 14:41
0
Почта не работала из-за антивируса хостинга, action в формы ставить не нужно.
Pandemic
10 сентября 2024, 08:12
0
Письма так и не приходят, хотя пользователь регистрируется, и он есть в админке
Pandemic
09 сентября 2024, 10:09
0
Оказывается чтобы офис заработал на авторизацию через модалку, нужно после вызова модалки инициализировать форму,
Office.Auth.initialize('.fancybox-inner form');
чудо что рядом был сайт где это было, хз как такое можно было найти в доках, там такого нет.

И обязательно в обе формы нужно добавить action
action="{1 | url}"
как в настройках, так как на других страницах оно работает вообще неправильно либо не работает вообще.

Письма так же приходят через раз, как это исправить, иной раз есть ошибках в логах что не может запустить функцию mail() а иногда и её нет, но и письма так же нет. В СПАМЕ ТОЖЕ НЕТ.

Ручная активация пользователя не работает, пользователь не активируется.
Pandemic
28 августа 2024, 09:02
1
0
Вывел minishop2 и нашёл там такое, есть объект
sendData
в нём хранится та форма которая будет изменятся при клике, он формируется вовремя клика, и затем если вызвать
miniShop2.Cart.change();
То изменения отправятся. Суть такая собрать все данные с формы под вид объекта
sendData
пример можно посмотреть когда вы вручную нажмёте на кнопку, оно заполнится, потом можно по аналогии.

if(miniShop2){
	miniShop2.sendData = {
		$form: $(el),
		action: "cart/change",
		formData: [
			{
				name: "key",
				value: getElement('input[name="key"]', el).value
			},
			{
				name: "options",
				value: getElement('input[name="options"]', el).value
			},
			{
				name: "count",
				value: getElement('input[name="count"]', el).value
			},
			{
				name: "ms2_action",
				value: "cart/change"
			},
			{
				name: "ctx",
				value: "web"
			},
			{
				name: "ctx",
				value: "web"
			},
		]
	}
	miniShop2.Cart.change();

}
Pandemic
02 мая 2024, 15:27
0
Есть у кого-то идеи? или в данном случае через плагин и событие пробовать, или мсинк тупо всё обрезает?
Pandemic
01 мая 2024, 15:18
0
Пардон, плохо смотрел
Pandemic
25 марта 2024, 10:10
0
Ты явно не ищешь лёгкий путь и не читаешь что тебе пишут, контексты и babel тебе в помощь, всё так же зависит от того как ты хочешь чтобы твой сайт работал, можешь и в modstore.pro посмотреть плагины modstore.pro/packages/other/polylang ну а это вот бесплатно, быстро, тебе просто полная настройка всего cat-art.ru/blog/multiyazyichnost-modx-revo
Pandemic
23 февраля 2024, 13:18
0
Возможно у меня была проблема из-за того что в настройках мсинка установлена галка, чтобы публиковать в любом случае, и получается мои плагины на событие отрабатывают верно, но настройка мсинка отрабатывает позже, и перебивает друг друга, а на на импорте торговых предложений просто, отрабатывает как надо.
Но всё же как-то это событие должно лучше подходить «mSyncOnBeforeImportProduct» так как оно убирает доп сохранение ресурса, вместо условно двух, будет 1.
Pandemic
23 февраля 2024, 12:57
0
Обновлённые методы
pdoPage.Hash = {
get: function () {
    coockieHash = readCookie('pdoPage');
    var vars = {}, hash, splitter, hashes;

    hashes = decodeURIComponent(coockieHash.substr(1)).replace('+', ' ');
    splitter = '/';
    
    if (hashes.length == 0) {
        return vars;
    }
    else {
        hashes = hashes.split(splitter);
    }
    
    var matches, key;
    for (var i in hashes) {
        if (hashes.hasOwnProperty(i)) {
            hash = hashes[i].split('=');
            if (typeof hash[1] == 'undefined') {
                vars['anchor'] = hash[0];
            }
            else {
                matches = hash[0].match(/\[(.*?|)\]$/);
                if (matches) {
                    key = hash[0].replace(matches[0], '');
                    if (!vars.hasOwnProperty(key)) {
                        // Array
                        if (matches[1] == '') {
                            vars[key] = [];
                        }
                        // Object
                        else {
                            vars[key] = {};
                        }
                    }
                    if (vars[key] instanceof Array) {
                        vars[key].push(hash[1]);
                    }
                    else {
                        vars[key][matches[1]] = hash[1];
                    }
                }
                else {
                    vars[hash[0]] = hash[1];
                }
            }
        }
    }
    return vars;
},

set: function (vars) {
    var hash = '';
    for (var i in vars) {
        if (vars.hasOwnProperty(i)) {
            if (typeof vars[i] == 'object') {
                for (var j in vars[i]) {
                    if (vars[i].hasOwnProperty(j)) {
                        if (vars[i] instanceof Array) {
                            hash += '&' + i + '[]=' + vars[i][j];
                        }
                        else {
                            hash += '&' + i + '[' + j + ']=' + vars[i][j];
                        }
                    }
                }
            }
            else {
                hash += '&' + i + '=' + vars[i];
            }
        }
    }
    if (hash.length != 0) {
        hash = '?' + hash.substr(1);
    }
    eraseCookie('pdoPage');
    createCookie('pdoPage', hash, 2);
},
}
Pandemic
20 февраля 2024, 17:16
0
Единственный рабочий обходной метод, это просто отловить поле мсинком как обычно, запихнуть в твшку, и потом на событие mSyncOnProductOffers обработать, остальные действительно подходящее для этого события просто не работают.
case 'mSyncOnProductOffers':
    $isUploadOnSite = $resource->getTVValue('uploadToSite');
    $isPublished = $resource->get('published');
    
	$isPublish = 1;
	if(($count == 0 || $count < 0) || ($isUploadOnSite == 'Нет' && $isPublished == 1)){
	    $isPublish = 0;
	} elseif($isUploadOnSite == 'Да' && $isPublished == 0){
	    $isPublish = 1;
	}
	
	$resource->set('published', $isPublish);

	$resource->save();
    break;
Pandemic
20 февраля 2024, 16:44
0
На событие mSyncOnProductOffers можно снять с публикации, но там я не могу отловить мой флаг, так как он находится в файле импорта товаров, что я делаю не так?
Pandemic
20 февраля 2024, 13:47
0
Ни одно событие не снимает товар с публикации, при этом в каждом блоке кода если что-то выводить оно выводится.
Pandemic
20 февраля 2024, 09:43
0
Если убрать торговое предложение, делает вид что что-то происходит с товарами, но резко обрывается, и так же раз там в неизвестность проскакивает нормально, при том я ничего не меняю.

P.S. Ошибок нет нигде, буквально пусто везде
Pandemic
16 февраля 2024, 07:28
1
0
Довольно странно, раз есть человека понятная навигация, то почему нет аякс режима из коробки? Ведь проще простого оказалось.

А так же не прокидываются доп переменные в кфг, допустим той же переменной «pageLinkScheme» нет, так можно было бы зацепиться за неё, и просто в инит методе определить схему регулярки.

Поскольку не нашёл(не долго искал) как прокинуть свою переменную в джс с админки в pdopage конфиг, то просто везде регулярку заменил со знака "=" на "-" согласно моей навигации, само собой подключив кастомный скрипт копии самого pdopage.

Заменил везде "=(\\d+)" на "-(\\d+)" и всё заработало…
Pandemic
15 февраля 2024, 12:26
0
Да, оно работало до того как я добавил Человека понятную навигацию, аякс загрузка работала, после уже не работает именно аякс загрузка, если перейти по ссылке вручную то страницу отработает как положено.
Pandemic
14 февраля 2024, 11:57
0
Получилось, можете ещё подсказать при клике на ссылку, обычную ни одного атрибута нет, не переходит, клик просто игнорируется, если перейду по ссылке вручную, то всё работает, но при ручном клике именно на ссылку не работает.

В консоли ничего нет, в админке тоже пусто.
Pandemic
03 января 2024, 16:50
0
Вот ведь docs.modx.pro/components/xparser/parser-html prnt.sc/flyj-r7cCiHA
Вам нужно пользоваться xpath, есть куча сервисов где вы можете засунуть ту структуру html которая у вас есть, писать xpath и тестировать находит ли он что вам нужно погуглите «xpath online» в вашем случае нужен такой xpath
//*[@class="chairs_page_list"]/*/@href
проверил на этих онлайн сервисах, всё находит без проблем, если у вас xparser будет морозиться, в начало добавьте точку перед двумя слэшами, чтобы было так
.//*[@class="chairs_page_list"]/*/@href
Pandemic
27 декабря 2023, 13:17
0
В чём проблема не разобрался, но создал новое поле, везде указал его, и заработало.