Редактор кода для INTROTEXT-поля ресурса

Приветствую всех. Возникло эстетическое желание подключить какой-нибудь редактор кода к полям description и introtext в документах, там часто используются теги, иногда их не видно, не красиво, не удобно. Хотелось чтобы там был Ace или Code Mirror. Пока я нашел как плагином можно подключить TinyMCE, но он там нафиг не нужен.
Виталий Барышников
20 апреля 2016, 23:30
modx.pro
7
4 475
0

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

Сергей Шлоков
23 апреля 2016, 11:10
5
+3
Я для себя сделал такой плагин. Сильно не заморачивался. Просто скопировал код из Ace.
<?php
switch ($modx->event->name) {
    case 'OnDocFormPrerender':
        if (!$modx->controller->resourceArray) {
            return;
        }
        $field = 'modx-resource-introtext';
        $mimeType = $modx->getObject('modContentType', $modx->controller->resourceArray['content_type'])->get('mime_type');
        if ($mimeType == 'text/html' && $modx->getOption('pdotools_fenom_parser')) {
            $mimeType = 'text/x-smarty';
        }
		$modxTags = 1;
		$script = "MODx.ux.Ace.replaceComponent('$field', '$mimeType', $modxTags);";
		$script .= "MODx.ux.Ace.replaceTextAreas(Ext.query('.modx-richtext'));";
		$modx->controller->addHtml('<script>Ext.onReady(function() {' . $script . '});</script>');
        break;
    default:
        return;
}
    Виталий Барышников
    23 апреля 2016, 16:43
    0
    Спасибо. То что надо, чет не догадался в него залезть.
      Виталий Барышников
      24 апреля 2016, 08:59
      0
      Не подскажешь, как этому полю высоты можно добавить раза в три больше? Я так понимаю это не через CSS делается.

        Сергей Шлоков
        24 апреля 2016, 09:20
        0
        Добавь в плагин перед addHtml()
        $script .= "Ext.getCmp('modx-resource-introtext').setHeight(200);";
        Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
        5