Наши заметки о MODx
В этом разделе мы будем собирать небольшую копилку секретов по работе с системой управления контентом сайта (CMS) MODx. Эти заметки ни в коем случае не претендуют на лавры документации. На нашем сайте тема MODx вообще занимает небольшой уголок, и эти материалы мы размещаем только потому, что по роду основной работы нам приходится оказывать техническую поддержку нескольким десяткам организаций, использующих наши прототипы сайтов. В то же время кое-что может пригодиться и другим людям.
Мы не претендуем на изложение "истины в последней инстанции". Наверняка в этих заметках гуру MODx найдут неточности и ошибки. Мы будем очень благодарны, если на это нам укажут в комментариях.
В заметках мы стараемся не просто сразу приводить готовое правильное решение, но и показываем, как мы набивали шишки в процессе поиска.

В этот раздел мы перенесли статьи, потерявшие актуальность. В основном это связано с появлением новых версий элементов системы, обнаружением более рациональных решений, а также с подготовкой более подробной документации по MODx.

Текстовые редакторы для CMS


Редактировать контент в любых CMS можно с помощью различных текстовых редакторов - как "вижуальных", так и примитивных. Нам приходилось испытывать разные - TinyMCE, FCKEditor и иные. Здесь мы сделаем общий обзор средств для редактирования.

Общие сведения

Текстовые редакторы имеют "Word-подобный" интерфейс - набор кнопок и комбобоксов для редактирования текста и способность отображать текст контента примерно так, как он будет выглядеть на сайте. Набором кнопок и связанных с ними инструментов можно управлять путем настройки. Инструменты могут быть и полезными и вредными. Рассмотрим два применяемых нами редактора - FCKEditor и TinyMCE.

Внешний вид FCKEditor с большим набором кнопок:
FCKEditor - редактирование документа
Внешний вид TinyMCE с ограниченным набором кнопок:
TinyMCE с ограниченным набором кнопок
 
Полезность или вредность кнопок определяется их действием и влиянием результата этого действия на внешний вид контента страниц.
 
Например, кнопки выбора цвета шрифта и фона, вида и размера шрифта являются, на наш взгляд вредными. Щелчок по такой кнопке установит для выделенного текста конкретные значения (например цвета символов) и это значение будет записано в текст страницы. Навсегда, вернее, до исправления вручную. Если же понадобится изменить дизайн сайта, то такой цвет может уже в него не вписаться. Придется переопределять цвета возможно на сотнях страниц.
 
Правильным решением является применение стилей. Применив, с помощью комбобокса Стили к фрагменту текста соответствующий стиль, мы получим любой визуальный эффект (цвета, шрифт, границы - что угодно). Изменив определение стиля в CSS-файле мы изменим отображение сразу всех страниц сайта. К предыдущему абзацу был применен стиль с классом my. Для этого класса установлен фон, рамка, отступы и даже картинка в левой части. Это же самое можно было бы сделать с помощью установки свойств по отдельности или с помошью кнопки Редактировать CSS-стиль в редакторе TinyMCE. Но эти данные были бы жестко зафиксированы для страницы.
 
Конечно, когда работает с редактором квалифицированный специалист, он знает, какие кнопки надо использовать, а какие не стоит. Но мы устанавливаем CMS для разных сайтов, а там часто текст вводят "секретарши", и лучше лишние кнопки от них просто спрятать, что соблазна не было.
 

Принципиальные отличия FCKEditor от TinyMCE

 
Два этих редактора имеют практически одинаковый функционал в части оформления, хотя имеются и важные нюансы, на которых мы ещё остановимся. Главное принципиальное отличие заключается в том, что FCKEditor в своей штатной поставке имеет файловый менеджер, а TinyMCE его не имеет.
 
Файловый менеджер чрезвычайно необходим, когда нужно вставить в документ ссылку на картинку или иной файл, находящийся на своем сайте, где-то в недрах папки assets.
 
Вот так выглядит диалог вставки картинки в FCKEditor всегда:
 
FCKEditor - вставка картинки

Здесь имеется важная кнопка Browse Server, при щелчке по которой открывается файловый менеджер, позволяющий выбрать изображение и вставить относительный текст ссылки на него в строку редактирования. Файловый менеджер может быть штатный или любой другой, подключенный к FCKEditor в качестве плагина.

А так выглядит диалог вставки картинки в "голом" редакторе TinyMCE:

TinyMCE - вставка картинки без менеджера

Здесь Адрес изображения нужно вводить вручную, что чрезвычайно неудобно. Именно по этой причине мы всё время при работе ещё с CMS Etomite устанавливали FCKEditor, а не TinyMCE.

Однако и к TinyMCE можно подключить файловый менеджер, только его надо "доставать" отдельно. В поставку MODx входит TinyMCE с файловыми менеджерами (различными в разных версиях MODx). После установки файлового менеджера и его подключения к TinyMCE диалог свойств картинки выглядит так:

TinyMCE - диалог с кнопкой

 Заметили маленькую кнопочку справа от строки редактирования Адрес изображения? Вот за ней и скрывается файловый менеджер!

О подключении различных файловых менеджеров мы напишем отдельную заметку.  Кроме того - см. специальные заметки о настройках редакторов.

И заметим дополнительно - всё-таки самым эффективным является обычный редактор, безо всяких кнопок, в котором пишется код просто на языке HTML. К счастью, и FCKEditor, TinyMCE имеют режим редактирования HTML, которым и надо пользоваться для тонкой доводки текста. К сожалению визуальные редакторы далеко не всегда генерируют такой код, какой был задуман. Да и некоторые браузеры имеют собственные "фичи" в результате которых в коде появляется мусор.

Постараемся написать и заметку об особенностях работы с редакторами. 

Здесь же упомянем важнейшую - никогда не вставляйте текст из буфера обмена прямо в редактируемый текст! Если в буфере находится текст, скопированный, например, из MS Word, то в буфере находятся не только "буковки", но и описание форматирования текста. Это форматирование вставится в код редактируемого контента и его можно будет удалить или изменить только в режиме Редактирование HTML. Всегда вставляйте посторонние тексты только через кнопку Вставить как простой текст!

Исключением может быть только вариант, когда вставляется заведомо простой текст, например из Notepad. В некоторых браузерах даже текст, скопированный из адресной строки содержит форматирование.

 И какой же редактор лучше?

А оба хороши. Можно и оба иметь и, при необходимости, подключать нужный. Однако, помучившись с настройками FCKeditor, мы решили оставить только TinyMCE. Пока оставить.

18-01-2009 11:34:00



    Содержание раздела «Текстовые редакторы для CMS»:
Комментарии любых посетителей

Написать комментарий