Добавление визуального редактора к любому полю в админке ModX Revo

Опубликовано: 02.11.2017

Сам я никогда не пользуюсь визуальными редакторами.

Ну ладно, ладно! В самом начале, когда только начинал этот сайт на джумле только им и пользовался! Все, уел!

Но много времени прошло, теперь мне проще писать текст и тут же распихивать его в нужные теги, чем пользоваться этими TinyMCE, MCEdit, ImperAVI и прочими.

Но есть одно но, сайты я делаю не для себя, а для клиентов. И потому, чтобы им после было удобно моими поделиями пользоваться, приходится накручивать все эти WYSIWYG

.

Как их накручивать ни для кого, думаю, не секрет. Зашел в установщик пакетов, написал там TinyMCE, скачал, установил и готово!

При создании ресурса по умолчанию у него включено использование визуального редактора.

Это можно отключить. Да! И даже на уровне системы и даже для определенного родителя и вообще можно настроить это все по лунным циклам.

Ну хватит, а то развел клоунаду. К делу.

По умолчанию визуальный редактор работат только для поля content у ресурса.

Но что делать, если требуется, скажем, красиво оформлять аннотации (introtext), человеку, который о html слыхом не слыхивал?

Берем помощь мира. И вот что мир рекомендует.

Так как визуальный редактор это всего лишь js функция, котрая навешивается на определенный блок страницы, нам надо просто навесить ее руками в нужное нам место; есть некоторые решения на этот счет, и кое-кто чуть ли не предлагает использовать целое расширение, но мы будем использовать плагины! создаем плагин. Создается он так же как сниппет или чанк; в код плагина вставляем следующий код: <?php $modx->regClientStartupHTMLBlock('<script>Ext.onReady(function() { if(MODx.loadRTE !== \'undefined\') { MODx.loadRTE("modx-resource-introtext"); } });</script>'); во вкладке "Системные события" ставим галочку напротив "OnDocFormRender"; Сохраняем, готово!

Есть косяк. Таким методом визуальный редактор будет прицепляться, даже если у ресурса отключено "Использовать HTML-редактор".

Есть плюшка. Таким методом визуальный редактор можно навесить даже на pagetitile, только заменить MODx.loadRTE("modx-resource-introtext"); на MODx.loadRTE("modx-resource-pagetitle");

rss