Настраиваемое раскрывающееся меню RTE в Sitecore 7.0

Мой клиент хочет, чтобы раскрывающийся список был похож на раскрывающийся список символов в RTE (sitecore версии 7.0). Клиенту нужны разные раскрывающиеся списки для разных типов символов, например, раскрывающийся список с греческими символами в верхнем регистре, раскрывающийся список с греческими символами в нижнем регистре, раскрывающийся список с математическими символами и раскрывающийся список с символами других / разных типов.

Я попытался понять, как работают RadControls и как добавить это в Telerik RadControl, но я не могу сопоставить эту концепцию с редактором форматированного текста sitecore. Кроме того, я попытался понять, как работает существующий раскрывающийся список символов в RTE, но поскольку его код встроен в dll Sitecore.Client, я мало что могу понять из него.

Кто-нибудь может подробно описать шаги для этого?

Спасибо, Вайбхав.


person Vaibhav    schedule 16.06.2014    source источник
comment
Этот другой вопрос может быть полезен: stackoverflow.com/questions/21485295/   -  person Patrick Jones    schedule 16.06.2014


Ответы (1)


Вы можете добавить свой собственный выпадающий список или кнопку перетаскивания в RTE.

Переключитесь на базу данных core и добавьте новую кнопку на панели инструментов профиля RTE, который вы используете (например, /sitecore/system/Settings/Html Editor Profiles/Rich Text Full/Toolbar 1)

Убедитесь, что шаблон кнопки относится к типу Html Editor Custom Drop Down или Html Editor Custom Drop Down Button, их можно найти в /sitecore/templates/System/Html Editor Profiles. Дайте имя в поле "Нажмите", например InsertCustomSymbols

Добавьте дочерние элементы к вашей кнопке, чтобы создать «символы» или текст, которые вам нужны, используя шаблон Html Editor List Item. Значение «Заголовок» - это то, что будет отображаться в раскрывающемся списке, а «Значение» - это то, что будет вставлено (например, ваши греческие символы).

Профиль Sitecore RTE

Теперь вам нужно обработать событие нажатия кнопки, создать файл со следующим JS:

RadEditorCommandList["InsertCustomSymbols"] = function(commandName, editor, args) {
  var val = args.get_value();
  editor.pasteHtml(val);
  args.set_cancel(true);
}

Создайте конфигурацию патча, чтобы добавить файл JS:

<clientscripts>
   <htmleditor>
     <script src="/location/to/custom.js" language="javascript" key="customJs" />
   </htmleditor>
</clientscripts>

Если вы использовали кнопку раскрывающегося списка, а затем добавили стиль css для установки значка, он также должен иметь то же имя, что и поле «Щелкните».

<style type="text/css">                        
  span.InsertCustomSymbols
  {
    background-image:url('/path/to/icon.gif');                                                                
  }
</style>

Пользовательский список RTE

Я не стилизовал его, но идею вы поняли. Добавьте столько, сколько вам нужно, убедитесь, что вы установили правильный профиль RTE.

Дополнительную информацию можно найти в этой демонстрации Telerik Custom Dropdown < / а>

person jammykam    schedule 16.06.2014
comment
Отлично. Это выглядит исчерпывающим. Фактически, большая часть информации, которую вы вводите, - это та, которую я уже прошел; но я не смог соединить все точки. Позвольте мне попробовать это, и я обновлю этот пост, указав статус успеха / неудачи. - person Vaibhav; 17.06.2014
comment
Отлично, я написал сообщение в блоге с дополнительной информацией. - person jammykam; 17.06.2014
comment
Быстрый вопрос, я выполнил указанные вами шаги и смог получить раскрывающийся список на RTE. Но я не вижу никаких элементов (дочерних элементов на нем). Вы что-то пропустили, или я что-то упустил? Это элементы, которые я создал в своей базе данных RTE-Core. ! [Новая кнопка раскрывающегося списка] [1]! [Введите описание изображения здесь] [2] И это то, что входит в RTE. ! [введите здесь описание изображения] [3] [1]: i.stack.imgur.com/ QRb3q.png [2]: i.stack.imgur.com/oCeym.png [3]: i.stack.imgur.com/HjtnR.png Я определенно что-то упускаю. Пожалуйста, помогите и подтвердите это. - person Vaibhav; 17.06.2014
comment
Позвольте мне попробовать прочитать ваше сообщение в блоге выше. Может я что-то упустил. - person Vaibhav; 17.06.2014
comment
Я все еще застрял. Я проверил все разрешения, а также все пути в конфигах и css. Все выглядит отлично. У меня нет ничего значимого, отображаемого в консоли браузера (хром). Почему не показаны созданные дочерние элементы? Нужно ли мне писать дополнительные строки кода для перебора дочерних элементов, как указано в блоге Telerik? - person Vaibhav; 17.06.2014
comment
Странный. Мой пример кода был написан в 7.0, поэтому он определенно поддерживается (по крайней мере, с 6.6). Дважды проверьте, что дочерний шаблон Html Editor List Item, или вы можете создать свой собственный EditorConfiguration, который позволит вам отлаживать его как минимум pastebin.com/juSTp8qn - person jammykam; 17.06.2014
comment
У меня такая же проблема (элементы списка не отображаются), было ли это когда-либо решено? - person Jason; 16.10.2015