Подключаем TinyMce к MaxSite CMS

Предисловие

tiny-max Я довольно давно уже использую данную cms в своей практике, перепробовал практически все визуальные и не визуальные редакторы входящие в комплект MaxSite CMS, но так надолго ни на одном не остановился.

Решил сам покопать в эту сторону и выбор пал на Tiny MCE, данный редактор широко распространен и хорошо документирован.  Правда, на форуме MaxSite CMS встречались сборки Tiny MCE под maxsite cms, но как то не подошли.

Ниже я приведу пошаговую инструкцию о подключении визуального редактора Tiny MCE к MaxSite CMS с настройками по умолчанию, а чуть позже, подключение Cyber Image Manager файлового менеджера изображений.

Теперь само подключение.

Скачиваем свежую версию TinyMce с официального сайта, т.е. следующее:

Далее беремся за создание плагина к MaxSite CMS.

Для этого создаем каталог для будущего плагина, обзываем его, к примеру, my_tinymce, закидываем туда каталог из основного пакета \tinymce\jscripts\tiny_mce, поверх заливаем языковый пакет и  создаем  файлы:

info.php
index.php

Как описано здесь
и файл подключения редактора editor.php

Заполняем, файлы содержимым:

на info.php - останавливаться не буду

index.php:

<?php if (!defined('BASEPATH')) exit('No direct script access allowed');

# функция автоподключения плагина
function my_tinymce_autoload($args = array())
{
    mso_hook_add( 'editor_custom', 'my_tinymce'); # хук на подключение своего редактора
    mso_hook_add('content_replace_chr10_br', 'my_tinymce_br');
 }   

function my_tinymce($args = array())
{

    $editor_config['url'] = getinfo('plugins_url') . 'my_tinymce/';
    $editor_config['dir'] = getinfo('plugins_dir') . 'my_tinymce/';

    if (isset($args['content'])) $editor_config['content'] = $args['content'];
    else $editor_config['content'] = '';

    if (isset($args['do'])) $editor_config['do'] = $args['do'];
        else $editor_config['do'] = '';

    if (isset($args['posle'])) $editor_config['posle'] = $args['posle'];
        else $editor_config['posle'] = '';

    if (isset($args['action'])) $editor_config['action'] = ' action="' . $args['action'] . '"';
        else $editor_config['action'] = '';

    if (isset($args['height'])) $editor_config['height'] = (int) $args['height'];
    else
    {
        $editor_config['height'] = (int) mso_get_option('editor_height', 'general', 400);
        if ($editor_config['height'] < 100) $editor_config['height'] = 400;
    }

    require($editor_config['dir'] . 'editor.php');
}

?>

Подключаем tinymce без всяких наворотов в файле editor.php:

<?php  if (!defined('BASEPATH')) exit('No direct script access allowed');?>
<!-- TinyMCE -->
<script type="text/javascript" src="<?= $editor_config['url'] ?>tiny_mce/tiny_mce.js"></script>
	<script type="text/javascript">
		tinyMCE.init({
		// General options
		mode: "exact",
		elements : "elm1",
		theme : "advanced",
		skin : "o2k7",
		language : "ru",
		doctype : '<!DOCTYPE HTML>',
		element_format :  "html",
		document_base_url : "<?php getinfo('siteurl') ?>",
		//========= расположение панелей =============
		theme_advanced_toolbar_location : "top",//панель сверху
		theme_advanced_toolbar_align : "left",//панель выравнена по левому краю
		theme_advanced_statusbar_location : "bottom",//статус бар снизу
		});
	</script>
<!-- /TinyMCE -->
<form method="post" <?= $editor_config['action'] ?> >
<?= $editor_config['do'] ?>
<textarea id="elm1" name="f_content" style="height: <?= $editor_config['height'] ?>px; width: 100%;" >
<?= $editor_config['content'] ?>
</textarea>
<?= $editor_config['posle'] ?>
</form> 

В результате проделанных действий ваш каталог плагина должен выглядеть так:

каталог TinyMce

Далее, заходим в админ-панель и активируем плагин. Если всё вы сделали правильно, то при создании или редактировании страницы вы увидите следующее:

TinyMce-default

 Если у вас так, то я вас поздравляю. Теперь можно переходить к индивидуальным настройкам.

Как подключить tiny_mce_gzip.js смотрим Compressors PHP

Метки: