Alexey

Alexey

С нами с 02 августа 2015; Место в рейтинге пользователей: #109
15 мая 2022, 19:22
0
Получается, что так. Но с другой стороны, почему всегда стопроцентно загружаются всё поля, когда кликаешь тут — skrinshoter.ru/s/150522/s76QqLsq? Ещё одна непонятка.
15 мая 2022, 17:48
0
В качестве эксперимента поменял конфиг комбобокса, который подтягивает данные с процессора, на локальный:

CalcPackage.combo.TemplatePage = function (config) {
    config = config || {};
    Ext.applyIf(config, {
        store: new Ext.data.ArrayStore({
            id: 0
            ,fields: ['unit','display']
            ,typeAhead: true
            ,typeAheadDelay: 2000
            ,preventRender: true
            ,triggerConfig: {
                tag: 'span',
                cn: [
                    {
                        tag: 'div',
                        cls: 'x-form-trigger',
                        trigger: ''
                    },
                ]
            }
            ,data: [
                ['1','listovki']
                ,['2','vizitki']
            ]
        })
        ,mode: 'local'
        ,displayField: 'display'
        ,hiddenName: 'display'
        ,valueField: 'unit'
    });
    CalcPackage.combo.TemplatePage.superclass.constructor.call(this, config);
};
Ext.extend(CalcPackage.combo.TemplatePage, CalcPackage.combo.ComboBox);
Ext.reg('calcpackage-combo-template-page', CalcPackage.combo.TemplatePage);

Проблема у соответствующего поля исчезла, как страницу контроллера не перезагружал, выбранное поле выводится.

Общие выводы:
в таблице БД, которую выводит грид, значение поля (на которое установлен комбобокс) хранится в цифровом виде. При загрузке страницы процессор дергает значение поля, затем комбобокс — для данного примера — обрабатывает ЛОКАЛЬНО это значение, подсовывая строку из массива — skrinshoter.ru/s/150522/fUKjGSB6.

Если же комбобокс настроен на работу со своим процессором, то — получив значение поля из процессора грида — он отправляет запрос к этому своему процессору, ждет и выводит ответ в гриде. И вот на этой дельте между получением значения из основного процессора, отправкой запроса и получением ответа от своего процессора всё плохое и происходит.

В итоге, так и непонятно, что делать в этом случае. Не будешь ведь добавлять js-костыль, который после полной загрузки страницы будет генерировать событие click по этой кнопке skrinshoter.ru/s/150522/s76QqLsq
15 мая 2022, 16:08
+2
В шаблоне нужной страницы должен быть вызов сниппета

[[getImageList? &tpl=`fancybox`&docid=`1`&tvname=`fancyboxTv`&toSeparatePlaceholders=`img`]]

с параметром &docid=`1`, где 1 — id главной страницы. <cut/>

ЗЫ. Упс — опоздал с советом))
12 мая 2022, 15:12
0
Роман, так понимаю, вендор не выводится тоже в каких-то кастомных таблицах? Не могу сообразить, где в админке по дефолту это может быть.

Я спросил одного очень уважаемого разработчика, тот ответил, что «Это глюки работы самого комбобокса в гриде, в основном как я понял из-за того что данные в него не успевают вовремя подгрузиться».

Наверно, в этом есть своя логика: при формирования строки таблицы идет запрос к процессору, а из комбобокса параллельно летят запросы в другие процессоры и непонятно, какой из запросов вернется первый. Получается, что решением будет по возможности избегать в гриде комбобоксов со сторонних таблиц? То есть, в форме редактирования — пожалуйста, а в гриде — просто текущее значение выводим.

Это только мои размышления вслух, в extJs я совсем «по верхам» работаю — в стиле «скопировал, поправил, проверил»)) Возможно, я ошибаюсь в самой логике запросов — пусть меня поправят старшие товарищи.
29 апреля 2022, 16:51
+2
Спасибо за труд! Закинул копеечку. Странно, Тинькофф выдал ошибку в номере карты, но подтверждение пришло и перевод прошел. Надеюсь, туда, куда нужно))
29 апреля 2022, 16:46
+1
Создаем сниппет:

$order = [];
$q = $modx->newQuery('msOrder');
$q->select('id');
$q->sortby('id', 'desc');
$q->limit(1);
if ($q->prepare() && $q->stmt->execute()) {
    $order = $q->stmt->fetchAll(PDO::FETCH_COLUMN);
}
return $order[0];

Он возвращает номер последнего заказа. Как-то так…
11 марта 2022, 23:21
0
В pdoResources точно работало. Насчет pdoMenu вот не помню:)
11 марта 2022, 23:05
+2
&sortby=``
&sortdir=`asc`
Так не прокатит?
13 февраля 2022, 10:59
0
Не совсем понимаю, что ожидается там увидеть? По правильному, нужно вначале создать группу пользователей, наделить эту группу нужными правами, а потом уже добавить пользователя а эту группу. Не зря же на скрине есть кнопка «Добавить пользователя в группу».
21 января 2022, 08:19
0
Пропиши в файлах пути от корня сайта, к примеру: background: url("/assets/img/backgroung-header-resize-600.jpg"). И будет тебе счастье.
17 января 2022, 20:04
0
tags — это свойство товара, не опция. Если нужно вывести свойство, то msOptions не годится.
17 января 2022, 19:42
0
Привет! В описании «tegs», в коде «tags». Это так задумано?
31 декабря 2021, 11:14
0
И тебя с Наступающим)))
31 декабря 2021, 09:57
+2
Привет! В коде, оборачиващего картинку, не вижу закрывающего тега </а>
28 декабря 2021, 09:21
0
Александр, да — всё верно!
27 декабря 2021, 21:37
0
Привет! Ещё вариант: обязательное скрытое поле, которое аппендом добавляется в форму при помощи js по событию ховера на кнопку сабмита.

На больших магазинах не тестил, но на средних работает хорошо. Во всяком случае, до установки этой ловушки спам падал по 20-50 писем в сутки, а после — как отрезало.

Есть минус у этого способа — не отправить форму через ctrl+enter.
18 сентября 2021, 23:23
0
За отмену document.write отдельное спасибо! Гугл спид тест будет доволен. Не скажу, что критично прямо, но постоянно выводит предупреждение.
18 августа 2021, 18:28
0
Очень круто! Отправил свои пять рублей))
24 мая 2021, 10:18
0
я бы убрал подключение «древнего» jquery(он где-то в body подключается — skrinshoter.ru/s/240521/bo1cNzHu ), затем убрал подключение jquery в вызове сниппета minifyX (скорее всего, вызывается в head) и смотрел бы далее, что консоль выдает.