К дополнительным полям
switch ($modx->event->name) {
case 'OnDocFormPrerender':
$script = '';
$resource = ($resource instanceof modResource) ?
$modx->getObject('modResource', $resource->get('id'))
: $modx->getObject('modResource', (int)$resource);
// ACE
// Настройка под определенный тв-параметр в шаблоне
$templates_enable = array( // [id-шаблона] => array('tv[id-тв]')
'9' => array('tv12'),
'8' => array('tv12')
);
if ( $resource instanceof modResource && array_key_exists($resource->get('template'), $templates_enable) ) {
$script .= 'if (MODx.ux.Ace.replaceTextAreas) {';
foreach ($templates_enable[$resource->get('template')] as $tv) {
$script .= 'MODx.ux.Ace.replaceTextAreas(Ext.query("textarea#' . $tv . '"));';
}
$script .= '}';
}
$modx->regClientStartupHTMLBlock('<script>Ext.onReady(function(){' . $script . '})</script>');
break;
default:
return;
}
К introtext и description
switch ($modx->event->name) {
case 'OnDocFormPrerender':
if (!$modx->controller->resourceArray) {
return;
}
// Указываем поля, для которых будет подключаться Ace
$fields = array('modx-resource-introtext','modx-resource-description');
$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 = '';
foreach($fields as $field) {
$script .= "MODx.ux.Ace.replaceComponent('$field', '$mimeType', $modxTags);";
}
$script .= "MODx.ux.Ace.replaceTextAreas(Ext.query('.modx-richtext'));";
// Увеличиваем поле introtext
$script .= "Ext.getCmp('modx-resource-introtext').setHeight(150);";
$modx->controller->addHtml('<script>Ext.onReady(function() {' . $script . '});</script>');
break;
default:
return;
}
Ссылки по теме
Комментарии (1)
Не писать ответ