Алексей Ерохин

Алексей Ерохин

Был в сети 15 апреля 2025, 15:28
Заказы не принимаю
Мы присоединяем к выборке еще одну таблицу (она определяется по «class»:«msProductOption») и даем ей алиас для удобства («size_h»). Условия присоединения: «on»:«size_h.product_id = msProduct.id AND size_h.key = 'size_h'» (то есть ищем совпадение по id продукта и по названию опции).
&select=`{
            "size_h":"COALESCE(size_h.value, 0) as size_h"
        }`,
Здесь указываем что дополнительно нужно выбрать колонку COALESCE(size_h.value, 0) (функция вернет либо значение, либо 0 — если данных нет) с алиасом size_h, по которому она будет доступна в выборке.
LEFT JOIN означает, что мы получим все данные из основной таблицы (msProduct) и данные из присоединенной таблицы (либо NULL если данных нет)
Store — это хранилище данных. Данные можно получать, записывать, удалять, сортировать
В гридах в modx, данные получаются через
JsonStore
Вот параметры remote store в гриде:
url: crm.config.connector_url
		,baseParams: {
			action: 'mgr/user/getlist',
			sort: 'id',
			dir: 'desc'
		}
		,fields: ['id','username', 'fullname', 'email']
		,remoteSort: true
А вот например локальный

var typeofattachment = new Ext.data.ArrayStore({
    ,fields: [{name: 'name', type: 'string'}]
    ,data: [['C/CS'],['M12']]
});