Подмена class_key при создании документа

Доброго времени суток, сообщество.

Интересная задачка, требующая не сложного решения.
Скриншот прилагаю, задача состоит в том, чтобы при нажатии на плюсик, подменить class_key=modDocument на кастомный класс, например: msCategory.

Какое решение можно применить для реализации подобного? Плагин?

В консоли я вижу то, что как я понимаю мне необходимо, для достижения поставленной задачи, вот что генерирует Modx:

// <![CDATA[
        MODx.config.publish_document = "1";
        MODx.onDocFormRender = "";
        MODx.ctx = "catalog";
        Ext.onReady(function() {
            MODx.load({
                xtype: "modx-page-resource-create"
                ,record: {"template":"5","content_type":"1","class_key":"modDocument","context_key":"catalog","parent":0,"richtext":true,"hidemenu":false,"published":true,"searchable":true,"cacheable":true,"syncsite":true,"resourceGroups":[[1,"\u0421\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0435 \u0440\u0435\u0441\u0443\u0440\u0441\u044b",false]],"isfolder":false,"deleted":false,"uri_override":false,"create_resource_token":"54dc1446802cd5.99324266"}
                ,publish_document: "1"
                ,canSave: "1"
                ,show_tvs: 0
                ,mode: "create"
            });
        });
        // ]]>

Написал такой плагин, но что-то мне кажется копаю не в ту сторону:

<?php
if ( $modx->event->name != "OnHandleRequest" 
    || empty($scriptProperties['mode']) 
    || $scriptProperties['mode'] !== 'new' ) {
        return;
    }
    
if ( !empty($_REQUEST['class_key']) && !empty($_REQUEST['context_key']) ) {
    if ( $_REQUEST['class_key'] == 'modDocument' && $_REQUEST['context_key'] == 'catalog' ) {
        $resource->set('class_key','msCategory');
        $resource->save();
        }
    }
Виталий Валерьевич
12 февраля 2015, 02:10
modx.pro
3 768
0

Комментарии: 1

Василий Наумкин
12 февраля 2015, 06:26
0
но что-то мне кажется копаю не в ту сторону
Вообще не в ту.

Просто обрати внимание на ссылку, по которой переходишь при создании нового ресурса:
/manager/?id=0&a=resource/create&class_key=modDocument&parent=0&context_key=web
Какой в ней указан class_key — такой и будет в форме создания страницы.
    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
    1