Евгений Лазарев

Евгений Лазарев

С нами с 06 августа 2018; Место в рейтинге пользователей: #387

Подключение к двум modx для синхронизации

Может кто сталкивался?
Есть 2 проекта на одном серваке. Есть ли возможность с нового проекта через modalConsole подключиться к старому имея на вооружении такие же конструкции как и в новом: $modx_old->getObject('modResource', $id) — но с данными от старого проекта.
P.S. Хочу забрать данные с базы старого проекта, но перебрав и видоизменив загрузить на новый.
Евгений Лазарев
24 июня 2022, 18:36
modx.pro
1
1 117
0

modx_session и mFilter2

Добрый день. На сайте 25к товаров которые фильтруются через mFilter2. Очистка сессий в БД стоит на 24 часа и соответсвет этому. Но заметил, что буквально за 10 часов с пустой до 900мб становится таблица modx_session. Начал смотреть что же там хранится и 95% информации в поле data — это перечисление ID товаров для фильтрации.

Хотя в настройках у меня указано:
'parents' => $_modx->resource.id,
                'depth' => 1,
Подскажите как это можно исправить?
Евгений Лазарев
15 декабря 2021, 12:20
modx.pro
349
0

Зависимые поля в MIGX

Добрый день. Подскажите а есть возможность в migx делать зависимость полей. К примеру у меня 2 поля:
1) Продукты типа listbox с Input Option Values:
@SELECT CONCAT(pagetitle,' - ',id), id FROM modx_site_content WHERE template=6 AND deleted=0
2) Модификации типа listbox с Input Option Values:
@SELECT CONCAT(name,' - ',id), id FROM modx_msop_modifications WHERE active=1 AND rid=[[+id]]
То есть опции модификации зависят напрямую от выбранного продукта?
Евгений Лазарев
08 декабря 2021, 18:59
modx.pro
988
0

Проблема кэширования

Подскажите пожалуйста какую схему кэширования нужно указать в настройках для интернет магазина с 30к товарами на minishop2 c mFilter2 и SeoFilter. Еще есть mSync для синхронизации товарных позиций из 1С (вдруг это тоже важно). Дело в том, что в какой то момент времени в лог начинает жутко валиться всякая грязь: то файл не найден, то запрос в БД невозможен, по pdoFetch не загружен и так далее. Но как только в ручную кэш почистишь — то тишь да гладь. Может кто сталкивался с таким?
Евгений Лазарев
17 ноября 2021, 12:35
modx.pro
482
0

Доступ запрещен

Подскажите разбирающиеся. Делаю связки внешней системы RetailCRM и сайта (miniShop2). При изменении товаров в внешней системе происходит следующее:
1) отправляется запрос на сайт
2) логинюсь под пользователем retail
3) пытаюсь через процессор делать обновление/удаление/создание товаров заказа.

И ничего не происходит. Ошибка прав доступа. При этом если делать под админом (с галочкой «Неограниченные права») все работает, а под тем же админом но без нее то так же доступ запрещен. Что за магия такая может быть? У админа причем ВСЕ доступы есть и в админке он что угодно может делать.
Евгений Лазарев
17 августа 2021, 18:48
modx.pro
585
0

Как создать дополнительную вкладку на странице ресурса

Добрый день. Подскажите пожалуйста знающие. Как добавить дополнительную вкладку на странице ресурса. На данный момент есть созданный компонент, подключен файл update.class.php наследуемый от ResourceUpdateManagerController. Видел много вариантов:
1) Ext.override(MODx.panel.Resource — не подходит поскольку данные еще не готовы когда включается этот скрипт и получаю ошибку.
2) MODx.addTab(«modx-resource-tabs» — не подходит поскольку вкладку необходимо разместить строго не в конце, и иметь возможность гибко управлять полями на других вкладках
Евгений Лазарев
19 июля 2021, 16:32
modx.pro
409
0

Порядок вывода скриптов в админке.

Подскажите пожалуйста, почему скрипты идут гораздо раньше чем html? Код моего update.class.php (создан потому что у меня есть класс наследуемый от modResource)
public function loadCustomCssJs()
    {
        $assetsUrl = $this->helpDesk->config['assetsUrl'];
        $properties = $this->modx->getObject('hdOrderData', $this->resource->get('id'));
        parent::loadCustomCssJs();
        $this->addHtml('
        <script type="text/javascript">
        Ext.onReady(function() {
            helpDesk.config = '.json_encode($this->helpDesk->config).';
            helpDesk.config.connector_url = "'.$this->helpDesk->config['connectorUrl'].'";
            helpDesk.record = '.json_encode($properties->toArray()).';
        });
        </script>');
        $this->addLastJavascript($assetsUrl . 'js/mgr/helpdesk.js');
        $this->addLastJavascript($assetsUrl . 'js/mgr/resource/tab.js');
    }
В дереве addHtml гораздо ниже чем addLastJavascript. отсюда у меня ошибка, поскольку не могу подхватить данные необходимые в tab.js
Евгений Лазарев
17 июля 2021, 17:20
modx.pro
485
0

Добавление полей в $_modx->resource.

Подскажите может кто сталкивался. Пишу плагин почти в слепую ориентируясь на minishop2. Создал необходимы таблицы:
<object class="hdOrder" extends="modResource">
        <composite alias="Data" class="hdOrderData" local="id" foreign="id" cardinality="one" owner="local"/>
    </object>

    <object class="hdOrderData" table="hd_orders" extends="xPDOSimpleObject">
        <field key="contact" dbtype="int" precision="10" attributes="unsigned" phptype="integer" null="true"/>

        <index alias="contact" name="contact" primary="false" unique="false" type="BTREE">
            <column key="contact" length="" collation="A" null="false"/>
        </index>

        <aggregate alias="Order" class="hdOrder" local="id" foreign="id" cardinality="one" owner="foreign"/>
    </object>
Хочу вывести значения переменных из таблицы hdOrderData на странице типа $_modx->resource.article, но не выводится. Само присоединение сделано через плагин
case 'OnLoadWebDocument':
        // Set product fields as [[*resource]] tags
        if ($modx->resource->get('template') === 7) {
            if ($dataMeta = $modx->getFieldMeta('hdOrderData')) {
                unset($dataMeta['id']);
                $modx->resource->_fieldMeta = array_merge(
                    $modx->resource->_fieldMeta,
                    $dataMeta
                );
            }
        }
        break;
Нужен вывод $_modx->resource.contact
Евгений Лазарев
08 июня 2021, 18:12
modx.pro
1
726
-1

Выбор пользователя в select ExtJS

Добрый день. Подключил селекты стандартные, но не могу никак понять какой параметр указать чтобы пользователь с текущим id отображался в списке. Просто открываешь окно изменения и select пустой.
getFields: function (config) {
        return [{
            xtype: 'modx-combo-user',
            fieldLabel: _('hd_helper_master'),
            name: 'master',
            value: config.id + '-master',
            anchor: '100%',
            allowBlank: false,
            displayField: 'fullname',
            valueField: 'id',
            fields: ['fullname','id'],
            baseParams: {
                action: 'security/user/getlist',
                usergroup: 4
            }
        }];
    },
Евгений Лазарев
02 июня 2021, 17:45
modx.pro
462
0

Создание своих вкладок в ресурсах

Всем привет. Я только начал поэтому просьба отнестись с пониманием. Кто нибудь знает как добавлять табы в раздел ресурсов для свое плагина. Внутри таба должен быть не грид (таблица) а просто поля как в дополнительных полях.

На данный момент есть схема с расширением класса ресурса по примеру minishop2 но никак не могу понять как вывести значения в поля и потом обработать их сохранение.

Есть хорошая заметка у Ильи, которая подходит (https://ilyaut.ru/cheats/add-tabs-to-the-edit-page-of-the-resource/), но как туда вставить значения не идет в голову.
Евгений Лазарев
26 февраля 2021, 13:26
modx.pro
411
0