Перейти к содержимому


Подключение WYSIWYG редактора к текстовым полям


Сообщений в теме: 7

#1 andibrag

    Прежде, чем задать вопрос, продумайте свое решение.

  • Активный пользователь
  • PipPipPip
  • 1 356 сообщений
  • Пол:Мужчина
  • Город:Санкт-Петербург

Отправлено 28 Ноябрь 2012 - 15:24

После того как Справку к полю стало возможно оформлять тегами HTML к стандартному полю Справка был прикручен wysiwyg-редактор - CKEDITOR. Он уже внедрен в КБ в качестве оного для редактирования шаблонов печати.
Для начала почитайте здесь как работать со своими js файлами.
Поскольку ckeditor подгружается не ко всем страницам программы, а по необходимости, добавьте строку его подключения в файл addscr.js:
IncludeJavaScript("/cb/include/ckeditor/ckeditor.js");
В вашем javascript файле, который тоже подключается через addscr.js, добавьте строку
// ===========================================================================================
//		 ПОДКЛЮЧЕНИЕ WYSIWYG РЕДАКТОРА
// ===========================================================================================

if ($("[name=help]").length){
  CKEDITOR.replace("help");
};
Все, собственно.
Поле справки выглядит вот такПрикрепленный файл  45.jpg   67,28К   60 Количество загрузок:
Если разработчики к полям, которые имеют опцию Отображать HTML теги добавят класс, например class_html, видимый в режиме редактирования, то на его основании wysiwyg редактор можно будет прикрутить ко всем таким полям.
Достаточно просто добавить строку преобразования
CKEDITOR.replace(".class_html");

Творческая группа "ТАВР".

www.TAVR.pro Художественная ковка, металлоконструкции.

www.СтолМет.рф Складные столы, стулья и системы для их хранения


#2 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 761 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 29 Ноябрь 2012 - 18:48

http://clientbase.ru...indpost&p=16114 - относительно редактора в полях.


Цитата

Если разработчики к полям, которые имеют опцию Отображать HTML теги добавят класс, например class_html, видимый в режиме редактирования, то на его основании wysiwyg редактор можно будет прикрутить ко всем таким полям.
Достаточно просто добавить строку преобразования
CKEDITOR.replace(".class_html");

Эта конструкция не работает. Был использован jQuery аддон для ckeditor, он позволяет работать с классами в том числе. Кроме того, пришлось допиливать сам режим редактирования, т.к. с методом submit() ckeditor тоже не всегда работает. Тем не менее редактор заработал.

#3 andibrag

    Прежде, чем задать вопрос, продумайте свое решение.

  • Активный пользователь
  • PipPipPip
  • 1 356 сообщений
  • Пол:Мужчина
  • Город:Санкт-Петербург

Отправлено 29 Ноябрь 2012 - 22:29

Просмотр сообщенияCbCoder (29 Ноябрь 2012 - 18:48) писал:

Эта конструкция не работает. Был использован jQuery аддон для ckeditor, он позволяет работать с классами в том числе.
Да действительно.
Есть другая штатная конструкция.
// Replace all <textarea class="myClassName"> elements in the page.
CKEDITOR.replaceAll( 'myClassName' );
Взято из официальной документации.
За оперативность внедрения - спасибо.

Творческая группа "ТАВР".

www.TAVR.pro Художественная ковка, металлоконструкции.

www.СтолМет.рф Складные столы, стулья и системы для их хранения


#4 andibrag

    Прежде, чем задать вопрос, продумайте свое решение.

  • Активный пользователь
  • PipPipPip
  • 1 356 сообщений
  • Пол:Мужчина
  • Город:Санкт-Петербург

Отправлено 29 Ноябрь 2012 - 22:43

Просмотр сообщенияCbCoder (29 Ноябрь 2012 - 18:48) писал:

Тем не менее редактор заработал.
Не работает если поле является обязательным для заполнения. Видимо textarea нужно заполнить каким-либо временным предопределенным значением, которое будет удаляться при сохранении. Иначе оно пустое, если не задано умолчание.

Творческая группа "ТАВР".

www.TAVR.pro Художественная ковка, металлоконструкции.

www.СтолМет.рф Складные столы, стулья и системы для их хранения


#5 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 761 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 03 Декабрь 2012 - 14:01

Просмотр сообщенияandibrag (29 Ноябрь 2012 - 22:43) писал:

Не работает если поле является обязательным для заполнения

Исправили, теперь сохранение работает. Обошлись без псевдозаполнений условными значениями, просто убрали предупреждение в случае включенного редактора. Минус правда в том что предупреждение теперь не работает всегда, т.е. опция "обязательное" для таких полей не будет работать, из-за невозможности ее реализации. Осталась только "звездочка" для информации.

Также закрепили ширину и высоту редактора, для более удобного вида.

#6 andibrag

    Прежде, чем задать вопрос, продумайте свое решение.

  • Активный пользователь
  • PipPipPip
  • 1 356 сообщений
  • Пол:Мужчина
  • Город:Санкт-Петербург

Отправлено 03 Декабрь 2012 - 17:58

Просмотр сообщенияCbCoder (03 Декабрь 2012 - 14:01) писал:

опция "обязательное" для таких полей не будет работать, из-за невозможности ее реализации. Осталась только "звездочка" для информации.
Может быть банальную javascript проверку включить для таких полей и сделать ее штатной? Какая-никакая защита...

Творческая группа "ТАВР".

www.TAVR.pro Художественная ковка, металлоконструкции.

www.СтолМет.рф Складные столы, стулья и системы для их хранения


#7 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 761 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 04 Декабрь 2012 - 09:49

Просмотр сообщенияandibrag (03 Декабрь 2012 - 17:58) писал:

Может быть банальную javascript проверку включить для таких полей и сделать ее штатной? Какая-никакая защита...

В том-то и дело, что через javascript там нельзя (или достаточно сложно) проверить, есть что-то в редакторе или нет.

Хотя, можно конечно добавить доп. проверку уже на сервере, в php-файле, возможно так и сделаем.

#8 andibrag

    Прежде, чем задать вопрос, продумайте свое решение.

  • Активный пользователь
  • PipPipPip
  • 1 356 сообщений
  • Пол:Мужчина
  • Город:Санкт-Петербург

Отправлено 04 Декабрь 2012 - 13:35

Просмотр сообщенияCbCoder (04 Декабрь 2012 - 09:49) писал:

Хотя, можно конечно добавить доп. проверку уже на сервере, в php-файле, возможно так и сделаем.
хороший вариант

Творческая группа "ТАВР".

www.TAVR.pro Художественная ковка, металлоконструкции.

www.СтолМет.рф Складные столы, стулья и системы для их хранения






Количество пользователей, читающих эту тему: 3

0 пользователей, 3 гостей, 0 анонимных