Всем привет, сегодня я расскажу как интегрировать визуальный редактор   TinyMCE WYSIWYG в AnchorCMS 0.9.2

Делать это буду я через командную строку, но с пояснениями.

В моём примере будет два диалоговых окна для краткой и полной новости. Мне так удобнее, суть от этого меняться не будет.

Есть два метода интеграции, очень простой и совсем простой.

Я рассмотрю Вариант с инсталяции в административную панель AnchorCMS, в Добавление/Удаление постов.

Но сначала определим где лежат файлы, который мы будем редактировать?

 pwd 
/home/admin/web/domain.ltd/public_html/anchor/views/posts

Нас интересуют два файла:

-rw-r--r--  1 root root 5281 Янв  6 21:28 add.php 
-rw-r--r--  1 root root 4223 Янв  6 05:59 edit.php

Откройте оба файла по очереди и удалите следующий код:

<script> 
        $('textarea[name=html]').editor(); 
</script>

и

<?php echo $editor; ?>

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

Откроем файлы add.php и edit .php

Найдем там код

     <?php echo Form::textarea('html', Input::previous('html'), array( 
                                'placeholder' => __('posts.content_explain') 
                        )); ?>

и вставим Выше код:

<!-- CDN hosted by Cachefly --> 
<script src="//tinymce.cachefly.net/4.1/tinymce.min.js"></script> 
<script type="text/javascript"> 
tinymce.init({ 
    selector: "textarea", 
    theme: "modern", 
    plugins: [ 
        "advlist autolink lists link image charmap print preview hr anchor pagebreak", 
        "searchreplace wordcount visualblocks visualchars code fullscreen", 
        "insertdatetime media nonbreaking save table contextmenu directionality", 
        "emoticons template paste textcolor colorpicker textpattern" 
    ], 
    toolbar1: "insertfile undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link image", 
    toolbar2: "print preview media | forecolor backcolor emoticons", 
    image_advtab: true, 
    templates: [ 
        {title: 'Test template 1', content: 'Test 1'}, 
        {title: 'Test template 2', content: 'Test 2'} 
    ] 
 
}); 
</script>

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

Вариант второй, когда файлы скрипта будут лежать на нашем сервере.

Перейдем в папку

# pwd
/home/admin/web/domain.ltd/public_html/anchor/plugins/

Создадим папку tiny — папка нашего плагина.

Загрузим в неё архив с редактором   TinyMCE WYSIWYG с официального сайта

http://www.tinymce.com/download/download.php

Нам нужен
TinyMCE 4.1.7
Contains all you need for production usage.

Через консоль так:

wget http://download.moxiecode.com/tinymce/tinymce_4.1.7.zip

Далее

unzip tinymce_4.1.7.zip

У нас получится так:

#ls -la
drwxr-xr-x 3 root root   4096 Янв  6 21:15 tinymce 
-rw-r--r-- 1 root root 302675 Ноя 27 16:26 tinymce_4.1.7.zip

Если У Вас нет root/ssh доступов, можно сделать через FTP, или панель управления Вашим хостингом.

Нам снова нужно внести изменения в add.php и edit.php

Найдем там код

     <?php echo Form::textarea('html', Input::previous('html'), array( 
                                'placeholder' => __('posts.content_explain') 
                        )); ?>

и вставим Выше код:

<script type="text/javascript" src="/anchor/plugins/tiny/tinymce/js/tinymce/tinymce.min.js"></script> 
<script type="text/javascript"> 
tinymce.init({ 
    selector: "textarea", 
    theme: "modern", 
    plugins: [ 
        "advlist autolink lists link image charmap print preview hr anchor pagebreak", 
        "searchreplace wordcount visualblocks visualchars code fullscreen", 
        "insertdatetime media nonbreaking save table contextmenu directionality", 
        "emoticons template paste textcolor colorpicker textpattern" 
    ], 
    toolbar1: "insertfile undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link image", 
    toolbar2: "print preview media | forecolor backcolor emoticons", 
    image_advtab: true, 
    templates: [ 
        {title: 'Test template 1', content: 'Test 1'}, 
        {title: 'Test template 2', content: 'Test 2'} 
    ] 
 
}); 
</script>

Установка завершена. Все textarea превращаются в  WYSIWYG редактор.

То же самое можно проделать с формой добавления страниц, и формы комментирования, используя для неё упрощенный вариант формы. Будут вопросы, пишите в коменты!

P.S.

Баг №1: Disable Markdown / Disable Markdown. Нужно поправить, иначе на сайте не будет отображаться код скриптов….

Баг №2: Textarea Bug по умолчанию не будут отображаться в админки при добавлении поста/страницы скрипты, например такие которые описывались Выше.

От Светозар

Senior Engineer в MTS PJST. Люблю компьютерные железки, линукс, автомобили и отдых на свежем воздухе.