Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Невозможно ввести текст в Ckeditor
Форумы портала PHP.SU » » Вопросы новичков » Невозможно ввести текст в Ckeditor

Страниц (1): [1]
 

1. Roman25 - 28 Июня, 2015 - 22:17:37 - перейти к сообщению
Здравствуйте, форумчане!
Проблема следующая. У меня на сайте создана древовидная система комментариев.
В текстовое поле для ввода комментария я хочу подключить визуальный редактор "Ckeditor".
Редактор вставляется, но он как бы неактивный - невозможно ввести текст в текстовое поле редактора.
Та же проблема с Tinymce.
Вставляю код сюда.

CODE (htmlphp):
скопировать код в буфер обмена
  1. <ul id = "commentRoot">
  2.    <li id = "newComment">
  3.     <div class = "commentContent">
  4.        <div id = "cancelComment"> X </div>
  5.          <h6>Name <input type = "text" name = "name"> </h6>
  6.            <div class = "comment">
  7.                Comment:
  8.               <textarea name="editor1" id="editor1" cols="45" rows="5"></textarea>
  9. <script type="text/javascript">
  10. CKEDITOR.replace( 'editor1');
  11. </script>
  12.            </div>
  13.           <button> Save</button> <img class = "loader" src = "loader.gif">
  14.        </div>
  15.    </li>
  16. </ul>
  17.  


Если код вставляю в другом месте - все работает, но мне нужно именно там, где я написал.
Подскажите, пожалуйста, в чем может быть проблема и как ее можно решить?
Буду благодарен за ответы.
2. Flash_PR - 28 Июня, 2015 - 23:01:13 - перейти к сообщению
В modx rev как я понимаю. вставлял тут недавно этот редактор, вроде все нормально было. Думаю этих данных недостаточно будет для решения...на первый взгляд вроде все нормально.
ЗЫ: из админки кеш сайта очистить поробуй.
3. Roman25 - 29 Июня, 2015 - 13:47:04 - перейти к сообщению
Да, должно работать, но не работает. Если просто оставить поле <textarea> </textarea> (без подключения редактора) - текст вводится, все работает. Если редактор вставляю в другом месте (не внутри списка, как я показал) - тоже все работает. Если код для вставки редактора беру в теги <li> </li> - тоже работает, но портится структура комментариев.
Не знаю, в чем проблема - может из-за его фреймовой структуры, или через что-то еще..

P.S. Кэш чистил, конечно.
4. Flash_PR - 29 Июня, 2015 - 16:31:10 - перейти к сообщению
Roman25 пишет:
Если код для вставки редактора беру в теги <li> </li> - тоже работает, но портится структура комментариев.


как портится? Скрин или ссылку

Roman25 пишет:
может из-за его фреймовой структуры, или через что-то еще..

Roman25 пишет:
Та же проблема с Tinymce.

Думаю причина все-таки в чем то другом...
5. Viper - 29 Июня, 2015 - 17:25:01 - перейти к сообщению
В чём профит от редактора в списке? Говнокод?
6. Roman25 - 30 Июня, 2015 - 17:28:11 - перейти к сообщению
Посмотрел Firebug-ом. Оказывается, есть две формы. Одна скрытая. Функция создает форму для ответа путем клонирования этой спрятанной формы при нажатии кнопки "Добавить комментарий". Ну и получается, что в этой скрытой форме CKeditor активен, а в клонированной - нет. Как быть?
7. andrewkard - 30 Июня, 2015 - 21:49:08 - перейти к сообщению
При нажатии кнопки "Добавить комментарий" повесить на необходимую форму CKeditor.
8. Flash_PR - 01 Июля, 2015 - 11:13:12 - перейти к сообщению
Roman25 пишет:
Посмотрел Firebug-ом. Оказывается, есть две формы. Одна скрытая. Функция создает форму для ответа путем клонирования этой спрятанной формы при нажатии кнопки "Добавить комментарий". Ну и получается, что в этой скрытой форме CKeditor активен, а в клонированной - нет. Как быть?

Я не знаю зачем так сделано (так как еслиэта форма в html коде, то ушлый пользователь всегда может ее сделать видимой. и отправлять комментарии не авторизовавшись), но если комментарий может оставлять только зарегистрированный пользователь, воспользуйтесь фильтрами (это в чанке).
CODE (html):
скопировать код в буфер обмена
  1.  
  2. [[+modx.user.id:is=0:then=`
  3. ссылку на авторизацию
  4. `else=`
  5. //html код формы
  6. `]]
  7.  


Либо в сниппете, выводите коннтент с формой либо нет, в зависимости от авторизованый пользователь или нет

PHP:
скопировать код в буфер обмена
  1.  
  2. if($modx->user->get('id')==0){
  3.  //пользователь не авторизован, фиг ему а не комментарий. На авторизацию
  4. }else{
  5. //пользователь авторизован, "пущай" пишит...
  6. }
  7.  

 

Powered by ExBB FM 1.0 RC1