Pandemic

Pandemic

С нами с 22 ноября 2023; Место в рейтинге пользователей: #897
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
В чём проблема не разобрался, но создал новое поле, везде указал его, и заработало.
Pandemic
27 декабря 2023, 12:15
0
Если вывести всё что там есть то вот так выдаёт
Array ( [0] => brend [1] => [2] => default [3] => [4] => text )
Хотя в админке стоит текст. удалял, писал вручную, писал другое, всё равно
Pandemic
17 декабря 2023, 13:43
0
У меня такая вещь на js когда нужно что-то на фронте
function mobileAndTabletCheck() {
	let check = false;
	(function(a) {
		if (/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino|android|ipad|playbook|silk/i.test(a) || /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(a.substr(0, 4))) check = true;
	})(navigator.userAgent || navigator.vendor || window.opera);
	return check;
};
А в модексе юзаю снипет

<?php
$isMobileDevice = preg_match("/(android|avantgo|blackberry|bolt|boost|cricket|docomo|fone|hiptop|mini|mobi|palm|phone|pie|tablet|up\.browser|up\.link|webos|wos)/i", $_SERVER["HTTP_USER_AGENT"]);
if($isMobileDevice){
    return 1;
}
else {
    return 2;
}
Pandemic
09 декабря 2023, 21:04
0
Получил баг на тестовом хостине, когда захожу карта постоянно обновляется, на ваш сервер отправляется кучу запросов каждую секунду
Pandemic
05 декабря 2023, 11:41
0
Как вы в итоге решили новую проблему? у меня ошибка появляется такая:
(
    [code] => 138
    [message] => Secret incorrect error
)
Pandemic
28 ноября 2023, 06:52
0
Оказалось всё проще в index.php была пустая строка