[EVO] MarkitUp! для EVO

кому лень читать готовый плагин качаем здесь: github.com/Temus/MarkitUp

Недавно задумался над мыслью почему мне в комьюнити писать новые топики приятней чем создавать их же у себя в блоге:)

Одной из причин было то что в LS очень уж удобный редактор контента.
Раз нашли в чем проблема то значит ее можно решить:)

в пару кликов стало понятно что это MarkitUp!

Далее вместо того что б сесть и сразу создавать плагин решил пойти немного другим путем, все же зачем делать то что уже кто то сделал:) Все же цель это выполнить поставленную задачу, а если еще получится выполнить ее с минимальными затратами это ж в разы правильней чем делать все с нуля!

Итого после недолгих поисков сначала нашел:
habrahabr.ru/qa/25879/ вопрос на Хабре но там никто так ничего и не ответил.
кста отпишитесь туда в ответы теперь есть решение, а то я все никак не получу туда инвайт:(

Потом нашел то что нужно:
forum.modx.jp/viewtopic.php?f=34&t=247
Спасибо японцам в частности YAMA

вернее почти то что нужно не хватало только вставки картинок и файлов
после нескольких попыток прикрутить станадртный менеджер столкнулся с небольшой багой и решил спросить совета у Temus в ответ на мой вопрос он мне скинул ссылку github.com/Temus/MarkitUp
по которой и можете скачать готовое решение)

30 комментариев

avatar
Вот как его установить:
1. копируем данные из архива
2. создаем плагин (название: MarkitUp, описание: Редактор MarkitUp! v1.1.6.1 для MODx Evo)
3. код плагина:
//<?php
/**
 * markItUp!
 * 
 * Universal markup editor
 *
 * @category 	plugin
 * @version 	1.1.6.1
 * @license 	MIT/GPL
 * @internal	@properties 
 * @internal	@events OnRichTextEditorRegister,OnRichTextEditorInit,OnChunkFormPrerender,OnTempFormPrerender
 * @internal	@modx_category Manager and Admin
 *
 * yama
 */

// Set the name of the plugin folder
	$plugindir = "markitup";

// Set path and base setting variables
	$params['markitup_path'] = MODX_BASE_PATH . 'assets/plugins/'.$plugindir . '/'; 
	$params['markitup_url']  = MODX_BASE_URL  . 'assets/plugins/'.$plugindir . '/'; 
	$params['elements']     = '';

include_once $params['markitup_path'] .'/markitup.functions.php';

// Handle event
$e = &$modx->Event; 
switch ($e->name)
{
	case 'OnRichTextEditorRegister': // register only for backend
		$e->output("markItUp");
		break;
		
	case 'OnChunkFormPrerender':
	case 'OnTempFormPrerender':
		$markitup_init = get_markitup_init($params);
		$e->output($markitup_init);
		break;
		
	case 'OnRichTextEditorInit':
		if($editor !== 'markItUp') return;
		$params['elements']     = $elements;
		$markitup_init = get_markitup_init($params, 'id');
		$e->output($markitup_init);
		break;
   default :    
      return; // stop here - this is very important. 
      break; 
}


4. во вкладке «СИСТЕМНЫЕ СОБЫТИЯ» выставляем галочки:
— Chunks (OnChunkFormPrerender)
— RichText Editor (OnRichTextEditorInit,OnRichTextEditorRegister)
— Templates (OnTempFormPrerender)

5. сохраняем плагин
6. заходим в меню «ИНСТРУМЕНТЫ», раздел «КОНФИГУРАЦИЯ», вкладка «ИНТЕРФЕЙС И ПРЕДСТАВЛЕНИЕ», выбираем редактор «MarkitUp»
avatar
Кто знает, он чистит мусор при вставке из ворда?
avatar
Да он вставит только текст поидее но надо проверить можно на сайте у них )
markitup.jaysalvat.com/examples/html/
avatar
спасибо! и с новым ресурсом!
avatar
вставка из ворда зло:-) используй блокнот
avatar
клиентам многим не объяснишь
avatar
Ничего подобного!
— Вот за это я и не люблю кошек!
— Просто ты не умеешь их готовить
© Реклама 5-ти летней давности

А по теме — в TinyMCE есть специальная кнопка — вставить из Word. Когда вставляешь имеено через нее — он режет всю хрень от Word и оставляет только основные стили — заголовки, абзацы, жирный и т.д. Код получается чистый. И все идет очень быстро. Проверенно лично.
avatar
Я тоже всегда акцентировал внимание на этой кнопке пользователей, которые могли наворотить делов прямой вставкой из ворда. Выручает кнопочка.
avatar
Поставил чистую сборку от Дмитрия, сделал всё по инструкции, но выводится только это:


События плагина выставлены, пробовал в хроме и ИЕ, папку в плагины скопировал… У меня одного такие глюки?
  • EGO
  • 0
avatar
Пардоньте! Закинул в папку не того проекта (куча вкладок открыто), всё работает! :)
avatar
Сделал на одном проекте работу с BBCode нужно было так как паралельно стоит форум и менеджеры очень уж к нему привыкли
вот теперь думаю нужно ли кому?

если нужно то оформлю в виде параметров к MarkitUp! html или bbcode
и снипет для парсинга bbcode в html
avatar
Мне вроде хватает по-умолчанию TinyMC, хотя вот на одном проекте поставил на другую систему CKEditor — мощная вещь. Хотя говорят что уже сейчас новая платная, но старая осталась бесплатной.
avatar
а ббкоды удобнее?? хочу как тут редактор)) чтоб переносы сохранялись)) и не надо было вставлять все время самому br
avatar
Тут MarkitUp.
avatar
так это уже на выводе чуть поправить просто

есть вот такая супер функция с которой создаем сниппет br
<?php
return nl2br($input);
?>

и вызываем
[[br? &input=`[*content*]`]]
ну или другое поле к которому подключен редактор)
avatar
спасибо, то что нужно… по умолчанию включи в сборку свою))
avatar
ок добавлю
avatar
Ну такую то мелочь в одну строку каждый сам напишет при необходимости.
avatar
да согласен… но я например не знал) и бесило постоянно ставить br, сейчас все супер))
avatar
Кстати у меня проблема, с таки способом не получается в контент уже вставлять снипеты… обрезаются.
avatar
А вы сниппеты вставляете одной строкой или разносите параметры по отдельным строкам?
avatar
одной, даже самые простые на вроде [!ListIndexer? &LIn_root=`[*id*]` &LIn_dateFormat=`d.m.Y`!]… если в чанки засовывать то норм, но просто не хочется чанками засорять)
avatar
попробовать заменить nl2br на preg_replace
avatar
Ну значит дело в проходах парсера. Об этом лучше расскажут те, что детальнее с этим знаком.
Я лишь могу сказать, что поле content для контента и вызовы сниппетов туда вставлять — не хорошо.
avatar
полностью согласен потому и не проверял nl2br на обработку контента со сниппетами
avatar
думаю пока) а вот еще интересное решение нашел, в виде снипета habrahabr.ru/post/157187/
avatar
а по поводу BB по умолчанию стоит html в MarkitUp! тоесть полность как тут
но можно довольно просто подключить и BB и другие из поддерживаемых форматов
avatar
Подскажите, пожалуйста.
Как к комментариям во фронтэнде (JotX)прикрутить MarkitUp!, но чтобы в админке остался TinyMCE?
Использую сборку от Dmi3yy, за которую ему огромадное СПАСИБИЩЕ!
avatar
на фронте прикручивать проще по мануалам markitup.jaysalvat.com/home/
подключается так же как и любой другой js скрипт )
avatar
Ок, спасибо большое
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.