Николай Савин · 20 февраля 2019, 14:03 В админке на каждой странице каждое поле отдельно жестко прописано, с указанием всех свойств (строка, текст, число). Это сделано в js массиве. Если ты что то новое добавляешь в карту объекта и базу данных (уточню на всякий случай что еще и таблицу базы данных нужно расширять ручками) — то так же ручками нужно добавлять новый дополнительный код в js массив полей. Обычно делают отдельный плагин, чтобы не вносить правки в исходный код MODX. Вот пример, прямо из рабочего проекта дернул switch ($modx->event->name){ case 'OnDocFormPrerender': $modx->controller->addHtml(" <script type='text/javascript'> Ext.ComponentMgr.onAvailable('modx-panel-resource', function(){ if(this.items[1].items[0].id == 'minishop2-product-tab'){ var leftCol = this.items[1].items[0].items[0].items[0].items[0].items[0].items[0].items[0]; }else{ if(this.items[1].items[0].id== 'modx-resource-settings'){ var leftCol = this.items[1].items[0].items[0].items[0]; } if(this.items[1].items[1].id == 'modx-resource-settings'){ var leftCol = this.items[1].items[1].items[0].items[0]; } } var kz_title = { anchor: '100%', description: '<b>[[*kz_title]]</br>Заголовок на казахском</b>', fieldLabel: 'Заголовок на казахском', id: 'modx-resource-kz-title', maxLength:255, msgTarget: 'under', name:'kz_title', xtype:'textfield' } leftCol.items.splice(2, 0, kz_title); var kz_description = { anchor: '100%', description: '<b>[[*kz_description]]</br>Описание на казахском</b>', fieldLabel: 'Описание на казахском', id: 'modx-resource-kz-description', maxLength:255, msgTarget: 'under', name:'kz_description', xtype:'textarea' } leftCol.items.splice(4, 0, kz_description); }); </script>"); break; } На выходе получилось вот так prntscr.com/mnm25m Готовые решения / Расширение любых таблиц MODX 60 +1 2
MobileDetect 2.0.0-pl функция "планшеты как стандартные браузеры не работает" в 2.1.0-pl баг исправлен
msImportExport не сохраняет родителя по умолчанию Компонент не понимает кирилические домены при загрузку фото. пример: Error download. Url : https://антаресдвери.рф/upload/iblock/a50/a50b2ef45305a3c18f6e298f1e134880.jpg. Message...
Где можно править тексты и заголовки писем? «Управление словарями» находится в панели администратора по пути: меню Система (иконка в виде шестеренки) -> Управление словарями.
mxBoard: канбан-доска для команд, людей и ИИ-агентов в MODX 3 Токены для ИИ-агентов, чтобы они могли работать с доской. Подробнее написал тут Баг проверю и постараюсь исправить.
Плагин EnvBadge: визуальный индикатор окружения в админке MODX3 Лучше автоматический ci/cd настроить и не править прод напрямую. Это самый безопасный вариант. Другое дело, что далеко не каждый владелец сайта и далеко не каждый сайт готовы в авт...
[videoGallery] Видео галерея YouTube, Vimeo Невозможно установить пакет с подписью: videogallery-1.4.0-beta Ошибка установки Error в /core/packages/videogallery-1.4.0-beta/modCategory/7fc931a7772edc9752c16e9c41eb5e52.reso...
Релиз miniShop2 ver. 4.4.1 & 4.4.2 Подскажите пожалуйста, может я что-то не знаю или упустил. Но есть ли решение по глюку с radio? Указываешь свое radio c одинаковым name и в результате при переключении получаешь вс...
Если ты что то новое добавляешь в карту объекта и базу данных (уточню на всякий случай что еще и таблицу базы данных нужно расширять ручками) — то так же ручками нужно добавлять новый дополнительный код в js массив полей.
Обычно делают отдельный плагин, чтобы не вносить правки в исходный код MODX.
Вот пример, прямо из рабочего проекта дернул
switch ($modx->event->name){ case 'OnDocFormPrerender': $modx->controller->addHtml(" <script type='text/javascript'> Ext.ComponentMgr.onAvailable('modx-panel-resource', function(){ if(this.items[1].items[0].id == 'minishop2-product-tab'){ var leftCol = this.items[1].items[0].items[0].items[0].items[0].items[0].items[0].items[0]; }else{ if(this.items[1].items[0].id== 'modx-resource-settings'){ var leftCol = this.items[1].items[0].items[0].items[0]; } if(this.items[1].items[1].id == 'modx-resource-settings'){ var leftCol = this.items[1].items[1].items[0].items[0]; } } var kz_title = { anchor: '100%', description: '<b>[[*kz_title]]</br>Заголовок на казахском</b>', fieldLabel: 'Заголовок на казахском', id: 'modx-resource-kz-title', maxLength:255, msgTarget: 'under', name:'kz_title', xtype:'textfield' } leftCol.items.splice(2, 0, kz_title); var kz_description = { anchor: '100%', description: '<b>[[*kz_description]]</br>Описание на казахском</b>', fieldLabel: 'Описание на казахском', id: 'modx-resource-kz-description', maxLength:255, msgTarget: 'under', name:'kz_description', xtype:'textarea' } leftCol.items.splice(4, 0, kz_description); }); </script>"); break; }На выходе получилось вот так prntscr.com/mnm25m