Финансовая поддержка VPS, бесплатные дополнения и docs Донаты оплачивают сервер и двигают бесплатные дополнения MODX и документацию. Поддержать

Всего 126 140 комментариев

Pandemic
Pandemic
Обновлённые методы
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);
},
}
Александр Мельник
Александр Мельник
Обнаружил и у себя такую же ошибку.
[2024-02-23 10:44:55] (ERROR @ /home/somedir/public_html/core/xpdo/xpdo.class.php : 644) Could not load class: pdofetch from pdotools.pdofetch.
[2024-02-23 10:44:55] (ERROR @ /home/somedir/public_html/core/xpdo/xpdo.class.php : 1248) Problem getting service pdoFetch, instance of class pdotools.pdofetch, from path 
[2024-02-23 10:44:55] (ERROR @ /home/somedir/public_html/core/components/minishop2/model/minishop2/minishop2.class.php : 642) pdoTools not installed, metadata for miniShop2 objects not loaded
modx 2.8.6
minishop 3.0.7
pdotools 2.13.2
php 7.4
устанавливал из modstore.pro

ps. при этом fenom работает. Кстати еще при инсталяции minishop заметил, что в окне установки отображались красным ошибки, что не найден pdoTools, но я посчитал что это нормально, поскольку на тот момент еще не устанавливал pdoTools
Евгений
Евгений
Спасибо за перевод, сам не дорос еще до fenom, поэтому мне было полезно.
Нашел ошибочку в чанке rowtpl,
&tpl=`xhttmltpl`
одна t лишняя
И вопрос- зачем создавать перевод sitemap.xml? Нам ведь не нужен еще один sitemap?
и создаём копию(перевод) ресурса для контекста En
Алексей Смирнов
Алексей Смирнов
Понял.
Вариант первого решения:
1) 1 вызов pdoRes.
2) В чанке записываете в плейсхолдер вторую часть Html с нужными данными
3) в коде получаете 1 область вывод через PdoRes, а вторая — плейсхолдер.

Вариант 2.
1) 1 вызов pdoRes с указанием return => data. в этом случае вам придет голый массив.
2) с помощью не хитрых манипуляций типа foreach и прочих переменных фенома можно разделить данные в нужные блоки и вывести как хотите.

Это вкратце. те вызывать 2 раза pdoRes нет необходимости.
Дмитрий
Дмитрий
Спасибо, интересная заметка.

В общем я сделал так:
$_GET = array_diff_assoc($_REQUEST, $_COOKIE);
Единственное, в url в пагинации остается параметр limit=

*?page=3&limit=36

Но при переходе он очищается из url.
Матвей
Матвей
Спасибо за ссылку, попробую.
Да, Gallery похоже в ModX3 вступает в конфликт с приложением из modstore, что конвертирует все изображения в webp…

Пока изучаю, где конфликт и с чем…
Так как на чистой версии Gallery прекрасно работает…
Андрей Шевяков
Андрей Шевяков
Я что так пугающе пишу или у меня буквы страшные? )
Ну я же дергаю с простыми вопросами, поэтому заранее извиняюсь, что отвлекаю)))

надо прежде уточнить где вывести?
Во вкладке Продукты
Володя
Володя
А еще вопрос такой, только не ругайтесь, пожалуйста)
Я что так пугающе пишу или у меня буквы страшные? )

Как вывести выбранный размер товара в заказе?
надо прежде уточнить где вывести?
Андрей Шевяков
Андрей Шевяков
Добрый день!
Вопрос, возник, никак не получается добавить артикул товара во вкладке продукты. В полях по умолчанию нет поля артикул для выбора. Как его добавить?