Как задать другой редактор для виджетов?

 
Посетитель
small user social cms
Медаль
Сообщений: 543
Есть ли такая возможность?
instantcms.su - официальная поддержка SiteKreator, UserPay, SiteStroi, ForumKreator
Посетитель
small user social cms
Медаль
Сообщений: 366
Есть, но только "с напильником". Воспользуйтесь поиском по форуму, аналогичный вопрос обсуждался.
Реклама
cms
Посетитель
small user social cms
МедальКубок зрительских симпатийАвторитет форума
Сообщений: 6473
Нету. Р2 считает, что кроме Redactor остальное не имеет смысла быть в виджетах. Писал об этом, все дружно молчали, теперь выбора так и нет.
Хостинг и ВПС Халява тексты Стартапы Instantcms в Telegram
Посетитель
small user social cms
Медаль
Сообщений: 366
letsgo, ну почему нет выбора? Вы забыли этот вариант? http://instantcms.ru/forum/thread16288-10.html
Посетитель
small user social cms
МедальКубок зрительских симпатийАвторитет форума
Сообщений: 6473
stealthdebuger:
ну почему нет выбора? Вы забыли этот вариант?

Не забыл, но решение не заработало.
Хостинг и ВПС Халява тексты Стартапы Instantcms в Telegram
Посетитель
small user social cms
Медаль
Сообщений: 366
Видимо только у вас. Обратите внимание на пост со скриншотом oll здесь http://instantcms.ru/forum/thread16288-11.html
равно, как и ваш пост на той же странице, где вы говорите:
SD огромное спасибо за решение по редактору.
Редактировалось: 1 раз (Последний: 11 ноября 2014 в 22:17)
Посетитель
small user social cms
МедальКубок зрительских симпатийАвторитет форума
Сообщений: 6473
stealthdebuger:
Видимо только у вас. Обратите внимание на пост со скриншотом oll здесь http://instantcms.ru/forum/thread16288-11.html
равно, как и ваш пост на той же странице, где вы говорите:

Да, в итоге что то подвело у меня и не заработало. Но раз решение рабочее - было обещание Р2 встроить рабочее решение. Возможно пока он занят и встроит. Я пока в 2 мало, тогда побарахтался, надоело время тратить, пока на первой делаю.
Хостинг и ВПС Халява тексты Стартапы Instantcms в Telegram
Посетитель
small user social cms
МедальКубок зрительских симпатийАвторитет форума
Сообщений: 6473
Сегодня добрался до 2 Инстанта. Настроил поле html в контенте - поставил редактор Live - не работает. Зато редактор Р2 работает конечно. Такая недружественность удивляет. Ну неужели так надо делать? Каждый вебмастер сам определит какой ему редактор использовать. Теперь даже в контенте не работает ><
Хостинг и ВПС Халява тексты Стартапы Instantcms в Telegram
Посетитель
small user social cms
Медаль
Сообщений: 366
letsgo, что именно у вас не получилось и в каком браузере проверяли?

P.S. практически закончена работа над сабжем данной темы. Погодите чуть.
InstantCMS Team
small user social cms
МедальКубок зрительских симпатийАвторитет форума
Сообщений: 1343
letsgo:
было обещание Р2 встроить рабочее решение
Было обещание встроить решение по переключению редакторов, а не тупо замене одного другим. Это важно.
letsgo:
Теперь даже в контенте не работает
Все работает прекрасно. Пример проблемы покажите где смотреть.
letsgo:
Такая недружественность удивляет.
При чем здесь недружественность, что за бред.
Редактировалось: 2 раз (Последний: 12 ноября 2014 в 20:09)
Посетитель
small user social cms
МедальКубок зрительских симпатийАвторитет форума
Сообщений: 6473
stealthdebuger:
letsgo, что именно у вас не получилось и в каком браузере проверяли?

Создал тип контента, создал тестовую запись, redactor видится в поле html контента, включаю Live - пустое место вместо редактора. Любой может протестировать у себя. Для чистоты эксперимента включил маркитантку, работает тоже. В общем redactor и маркит работают, Live нет. Инстант 2.1.2 последний.

Поставил на другом домене, создал по быстрому также - работает. Пока сам ищу проблему.
Редактировалось: 1 раз (Последний: 12 ноября 2014 в 21:23)
Хостинг и ВПС Халява тексты Стартапы Instantcms в Telegram
Посетитель
small user social cms
МедальАвторитет форумаКубок зрительских симпатийПочетный донор проекта
Сообщений: 2928
letsgo:
Создал тип контента, создал тестовую запись, redactor видится в поле html контента, включаю Live - пустое место вместо редактора.
У меня несколько сайтов на двойке и на все Live работает ... версии 2.1.2

ps: с нуля не проверял (лень ставить) а на всех обновленных пашет...
Посетитель
small user social cms
МедальКубок зрительских симпатийАвторитет форума
Сообщений: 6473
reload:
У меня несколько сайтов на двойке и на все Live работает ... версии 2.1.2

Да погорячился. Видимо где то был глюк, перекачал файлы, стал работать. Работает ли у тебя вставка видео из контакта? Кто вставлял уже видео в статью, поделитесь каким редактором можно вставить. Попробовал всеми тремя и безрезультатно пока.
Хостинг и ВПС Халява тексты Стартапы Instantcms в Telegram
Посетитель
small user social cms
Медаль
Сообщений: 366
Создаем возможность выбора редактора для текстового виджета. В данной реализации предусмотрена выборка Redactor либо LiveEditor, но ничто не мешает подключить другие редакторы по схожему алгоритму. Протестировано на InstantCMS 2.1.1 в Firefox 33.1, Chrome 38.0.2125.111 m, Opera 12.16.
И так, приступим:

1. файл /templates/default/controllers/admin/widgets.tpl.php
после строк подключения Redactor добавляем две строки
Код PHP:
  1. cmsTemplate::getInstance()->addJS("wysiwyg/live/scripts/language/".cmsConfig::get('language')."/editor_lang.js", 'LiveEditor Lang');
  2. cmsTemplate::getInstance()->addJS('wysiwyg/live/scripts/innovaeditor.js', 'LiveEditor');
  3.  
2. файл /system/widgets/text/options.form.php
заменяем строку
Код PHP:
  1. 'options' => array('editor' => 'redactor'),
на
Код PHP:
  1. 'options' => array('editor' => array('live', 'redactor')),
далее, перед строкой
Код PHP:
  1. new fieldHtml('options:content', array(
вставляем следующий код
Код PHP:
  1. new fieldList('editor', array(
  2. 'title' => LANG_PARSER_HTML_EDITOR,
  3. 'default' => 'live',
  4. 'generator' => function($item){
  5. $items = array();
  6. $editors = array('live', 'redactor');
  7. foreach($editors as $editor){ $items[$editor] = $editor; }
  8. return $items;
  9. },
  10. )),
  11.  
3. файл /wysiwyg/live/wysiwyg.class.php
перед строкой
Код PHP:
  1. <script type="text/javascript">
пишем
Код PHP:
  1. <div id="myEditor"></div>
заменяем строку
Код PHP:
  1. le_<?php echo $dom_id; ?>.REPLACE('<?php echo $dom_id; ?>');
на
Код PHP:
  1. le_<?php echo $dom_id; ?>.REPLACE('<?php echo $dom_id; ?>', 'myEditor');
4. файл /templates/default/assets/ui/form.tpl.php
перед строкой
Код PHP:
  1. <form action="<?php echo $attributes['action']; ?>"
ставим код
Код PHP:
  1. <script>
  2. $("#editor").change(function() {
  3. switch(true) {
  4. case($("#editor").val() == 'redactor'):
  5. $(".redactor_box").css("display", "block");
  6. $("#myEditor").css("display", "none");
  7. break;
  8. case($("#editor").val() == 'live'):
  9. $(".redactor_box").css("display", "none");
  10. $("#myEditor").css("display", "block");
  11. break;
  12. }
  13. $("#editor").prop("disabled", true);
  14. });
  15. </script>
  16.  
и строку
Код PHP:
  1. onsubmit="return icms.forms.submitAjax(this)"
заменяем на
Код PHP:
  1. onsubmit="return icms.forms.submitAjax(this, $('#editor').val())"
5. файл /system/controllers/admin/actions/widgets_update.php
после строки
Код PHP:
  1. $widget = $form->parse($this->request, true);
указываем
Код PHP:
  1. unset($widget['editor']);
6. файл /system/libs/html.helper.php
после строки
Код PHP:
  1. function html_textarea($name='', $value='', $attributes=array()){
пишем
Код PHP:
  1. if(defined('MULTI_EDITOR')) return;
7. файл /templates/default/js/core.js
меняем строки
Код PHP:
  1. this.submitAjax = function(form){
  2.  
  3. var form_data = this.toJSON($(form));
  4.  
  5. var url = $(form).attr('action');
на такой вариант
Код PHP:
  1. this.submitAjax = function(form, editor){
  2. if(editor !== undefined){
  3. var form_content = $("#options_content").val();
  4. if(editor == 'redactor') {form_content = $(".redactor_textarea").html();}
  5. var form_data = 'csrf_token='+document.getElementsByName('csrf_token')[0].value
  6. +'&id='+document.getElementsByName('id')[0].value
  7. +'&title='+encodeURI(document.getElementById('title').value)
  8. +'&options%5Bcontent%5D='+encodeURI(form_content);
  9. var url = document.forms[0].action;
  10. }
  11. else{
  12. var form_data = this.toJSON($(form));
  13. var url = $(form).attr('action');
  14. }
  15.  
8. файл /templates/default/assets/fields/html.tpl.php
строку
Код PHP:
  1. <?php echo html_wysiwyg($field->element_name, $value, $field->getOption('editor')); ?>
заменяем следующей магией
Код PHP:
  1. <?php if(is_array($field->getOption('editor'))) {foreach($field->getOption('editor') as $n => $editor) {echo html_wysiwyg($field->element_name, $value, $editor); if(!defined('MULTI_EDITOR')){define('MULTI_EDITOR', true);}} echo '<script>
  2. switch(true) {
  3. case($("#editor").val() == "redactor"):
  4. $("#myEditor").css("display", "none");
  5. break;
  6. case($("#editor").val() == "live"):
  7. $(".redactor_box").css("display", "none");
  8. break;
  9. }
  10. </script>';} else echo html_wysiwyg($field->element_name, $value, $field->getOption('editor')); ?>
  11.  
9. Радуемся жизни.
Посетитель
small user social cms
Сообщений: 2
для 2.2.1 актуально?
В начало страницы
Предыдущая темаСледующая тема Перейти на форум:
Быстрый ответ
Чтобы писать на форуме, зарегистрируйтесь или авторизуйтесь.