Alexey

Alexey

С нами с 02 августа 2015; Место в рейтинге пользователей: #201
Alexey
29 июля 2022, 13:28
0
Для справки: сколько картинок в галерее товара, который дублируется?

modx.pro/components/22950#comment-134038
Alexey
07 июля 2022, 17:11
0
У единицы кавычки можно убрать
Alexey
07 июля 2022, 13:32
0
Вместо $available попробуй $_modx->resource.available
Alexey
15 июня 2022, 13:33
0
Один и тот же атрибут не может определяться несколько раз для одного
html-тега. Вам нужно всё значения атрибута из массива (выводите в нём сами значения тега — offices, kitchens и т. д...)впихнуть в один атрибут data-tags через пробел.
Alexey
02 июня 2022, 11:39
0
Пока общаюсь с ТП reg.ru. Они не смогли внятно пояснить, почему у них на разных серверах mysql совершенно идентичные sql-запросы по-разному группируют результаты. Точнее попытались, съехав на то, что группировка по товару будет в случае, если названия у картинок одинаковые — skrinshoter.ru/s/020622/sRmKtwsv.

Но меня это не убедило, так как на обоих сайтах у товаров картинки имеют разные названия и при этом на одном сервере группировка всё равно происходит, а на другом — нет. Поэтому сейчас идет второй раунд «переговоров»))
Alexey
26 мая 2022, 22:40
0
В общем, как говорилось: «Дело было не в бобине»… закинул полученный в логе SQL-запрос прямо в PMA, результат тот же. Для проверки закинул этот SQL-запрос на другой сервер другой учетки, с другим сервером MYSQL, там всё корректно отработало. Вот сижу и думаю, что не так с reg.ru? Версии обоих mysql-серверов одинаковые.
Alexey
26 мая 2022, 17:33
0
Наткнулся на странность. Вызываю сниппет:

{'msProducts' | snippet : [
    'parents' => 0,
    'limit' => 10,
    'resources' => $_modx->resource.other_goods,
    'sortby' => '',
    'includeThumbs' => 'medium',
    'showLog' => 0,
    'tpl' => 'other_goods_tpl'
]}

где $_modx->resource.other_goods — список id товаров через запятую. Если у товара фоток в галерее более одной, то выводятся дубли товара (по количеству фоток) — skrinshoter.ru/s/260522/DkEW9p6p?a.

Посмотрел логи — skrinshoter.ru/s/260522/EyIzRmHX?a — группирует по превью галерее. Помогло, когда закомментил строку 67 в сниппете msProducts — skrinshoter.ru/s/260522/VQZzCu16. В старой версии minishop2 у сниппета эта строка тоже есть, поэтому явно дело не в этом…
Alexey
26 мая 2022, 11:58
+1
В js-файл. Это обычный js-код, который срабатывает на событие «msoneclick_after_sendorder», которое инициируется компонентом msOneClick в случае успешной отправки формы. Главное, чтобы этот кусок кода был добавлен после подключения jquery.
Alexey
24 мая 2022, 16:39
1
+1
Попробуй так:

{set $rows = 1 | resource : $item | fromJSON}
Alexey
24 мая 2022, 16:14
1
+1
С трудом поспеваю за полетом мысли)) Типа, так?

{set $arr_tv = ['tv1', 'tv2']} {*названия tv*}

{foreach $arr_tv as $item}
	{set $rows = $_modx->resource[$item] | fromJSON}
	{foreach $rows as $row}
	    {$row.title}
	{/foreach}
{/foreach}
Alexey
24 мая 2022, 14:54
1
+1
MIGX — это массив, который хранится в json-формате. Можно через феном из обоих полей вытащить массивы в переменные и что-то как-то намутить с ними. Что в итоге ожидается в плейсхолдере title?
Alexey
19 мая 2022, 10:44
0
modx.pro/solutions/10319#comment-100712 — вот тут про это событие упоминается
Alexey
19 мая 2022, 10:41
+1
Так?

$(document).on('msoneclick_after_sendorder', function (e, response) {
     if (response.success) {
        // Форма отправлена
        yaCounterXXXXXXX.reachGoal('call');
    }
    else {
        // Произошла ошибка
    }
})
Alexey
18 мая 2022, 09:26
1
+1
Привет! Попробуй в ссылке на оплату поменять money.yandex.ru на yoomoney.ru — тыц

Если установлен компонент mspyacassa, то есть настройка mspyacassa_payment_url
Alexey
15 мая 2022, 19:22
0
Получается, что так. Но с другой стороны, почему всегда стопроцентно загружаются всё поля, когда кликаешь тут — skrinshoter.ru/s/150522/s76QqLsq? Ещё одна непонятка.
Alexey
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
Alexey
15 мая 2022, 16:08
+2
В шаблоне нужной страницы должен быть вызов сниппета

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

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

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

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

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

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