Веб-формы для маркетологов (WFFM) Тип поля RTF

Мне нужно создать настраиваемый тип поля в WFFM, чтобы принимать форматированный текст, и предоставить редактор Sitecore WYSIWYG для пользователя во внешнем интерфейсе. Форма будет использоваться для создания элемента содержимого, а поле форматированного текста будет сопоставлено с полем в шаблоне этого элемента. Кто-нибудь сделал это? Можно ли использовать для этого редактор Telerik?


person Jason Davidson    schedule 08.06.2015    source источник
comment
Если вы можете использовать The Telerik, поставляемый с Sitecore, я не знаю, как насчет лицензии? По умолчанию в формах есть проверка формы — оценка риска безопасности, которую следует удалить, чтобы разрешить форматированный текст.   -  person Jan Bluemink    schedule 09.06.2015
comment
Как заявляет Ян, убедитесь, что у вас есть лицензия Telerik для использования во внешнем интерфейсе, иначе нет причин, по которым вы не можете использовать какой-либо другой (с открытым исходным кодом) WYSIWYG-редактор. В любом случае вам, вероятно, не нужна сложность редактора Sitecore.   -  person jammykam    schedule 09.06.2015
comment
Любые идеи о том, как на самом деле создать тип настраиваемого поля?   -  person Jason Davidson    schedule 09.06.2015


Ответы (1)


Если вам нужен простой редактор WYSISYG для внешнего интерфейса, вы можете использовать любой из многочисленных редакторов с открытым исходным кодом, доступных в Интернете. Я бы с осторожностью относился к использованию редактора Telerik, входящего в состав Sitecore, если у вас нет соответствующих лицензий.

Если вы используете поле Multi-Line Text в форме, Sitecore выводит обычный <textarea> во внешнем интерфейсе. Я предлагаю вам добавить пользовательский класс CSS в /sitecore/system/Modules/Web Forms for Marketers/Settings/Meta data/Css Classes и выбрать его из раскрывающегося списка классов CSS слева, когда вы выбираете свое поле в дизайнере форм, чтобы вы могли нацеливать определенные поля на WYSIYG.

Добавьте ссылку на файл javascript, а затем создайте экземпляр своего редактора, передав класс css, определенный выше, чтобы настроить таргетинг только на эти конкретные текстовые области.

Если вы используете ASP.Net MVC и CKEditor (например):

  • Добавьте ссылку на javascript в /Views/Form/Index.cshtml. Возможно, вам потребуется добавить это в Visual Studio из пакета модуля WFFM.
  • Или добавьте ссылку в <head>: <script src="/path-to/ckeditor/ckeditor.js"></script>
  • Добавьте нижнюю часть Index.cshtml (или непосредственно перед закрывающим тегом </body>), создайте экземпляр своего редактора, ориентируясь только на те <textarea> с определенными классами css.

e.g.

<!-- markup generated by WFFM -->
<textarea class="wffm-rte" data-val="true" data-val-length="..." data-val-required="..." id="wffm-generated" name="wffm-generated"></textarea>
<script>
    // Replace all <textarea class="wffm-rte"> elements with CKEditor instances.
    CKEDITOR.replaceAll('wffm-rte');
</script>

Убедитесь, что вы очищаете входящие данные, вам не нужны таблицы бобби.

person jammykam    schedule 11.06.2015
comment
Я могу заставить редактор загружаться в текстовую область, но я не могу передать значение моему элементу. Я удалил Assess Security Risk из действий проверки, и сообщение возвращает успех, но значение удаляется где-то по пути. - person Jason Davidson; 16.06.2015