Николай Савин

Николай Савин

Был в сети 29 июня 2026, 12:35
Заказы принимаю
можно ли в этом поле выводить значение tv дочернего ресурса
По умолчанию нельзя конечно. У нас доступны только поля текущего ресурса.
Навскидку вижу два пути решения вопроса.
1. Сделать небольшую инъекцию в процессор get — где просто добавить нужное поле
2. В JS скрипте при его загрузке делать ajax или fetch запрос за нужными данными и уже там подмешивать куда нужно значение поля
Да конечно возможно.
Если вы добавляете дополнительное текстовое поле в админке — то у вас всегда доступен объект this.record где есть все поля ресурса. Там вы без проблем можете получить доступ и к Id страницы, и к шаблону и родителю и любому другому полю, которое подходит для фильтрации

switch ($modx->event->name) {    
    case 'OnDocFormPrerender':
        $modx->controller->addHtml("
        <script type='text/javascript'>

         Ext.ComponentMgr.onAvailable('modx-panel-resource', function(){
             //Подключаем по id
             if(this.record.id !== 1) {return;}
             //Подключаем по template
             if(this.record.id !== 4) {return;}
            //Подключаем по parent
             if(this.record.parent !== 10) {return;}

             const leftCol = this.items[1].items[0].items[0].items[0];

             const en_title = {
               anchor: '100%',
               description: '<b>[[*en_pagetitle]]</br>Заголовок на английском</b>',
               fieldLabel: 'Заголовок на английском',
               id: 'modx-resource-en-pagetitle',
               maxLength:255,
               msgTarget: 'under',
               name:'en_pagetitle',
               xtype:'textfield'
            }
            leftCol.items.splice(1, 0,  en_title);

        });
    </script>");
        break;
}
Нет, думаю там все необходимые скрипты подключаются автоматически.
Возможно у вас ошибка где то в JS которая ломает все другие скрипты. Посмотрите нет ли в консоли разработчика ошибок?
Второй шаг посмотрите исходный код страницы на которой подключена форма. Видно ли там подключенный js скрипт компонента? Если видно — откройте его — доступен ли он
Привычным путем работы с шаблонизатором ничего хорошего не выйдет.
Нужно писать API в котором работать напрямую с PHP и отдавать как нужно сформированный JSON.
Тут можно пойти двумя путями. Либо использовать RestFull API — и путем манипулирования URL запрашивать нужную информацию, либо пробрасывать все обращения на какой то единый коннектор. который будет отдавать данные в зависимости от action и HTTP метода запроса.
Но в любом случае обработчик должен быть PHP который уже внутри может запускать что то вроде
$modx->runSnippet()
При использовании return json до tpl дело не доходит.
Эти параметры между собой не совместимы.
Сниппеты обработать в tpl не получился.
Чтобы получить дополнительные данные — например родителя нужно использовать конструкции LeftJOIN и Select
А помнишь предпоследний пост Василия здесь? Он там какой то политический youtube канал рекламировал, причем на главной странице. Если бы не механизм минусов — как бы сообщество выразило свое несогласие с подобным постом?