Как изменить цветовую палитру шрифта по умолчанию в редакторе TinyMce? - PullRequest
6 голосов
/ 26 марта 2012

У меня есть несколько предустановленных цветов, которые я хотел бы добавить, которые соответствуют теме моего сайта.Как изменить цветовую палитру шрифта по умолчанию в TinyMce?

screenshot-with-shadow.png http://img407.imageshack.us/img407/4526/screenshotwithshadow.png

Ответы [ 4 ]

3 голосов
/ 26 марта 2012

A. Простой, но грязный способ - отредактировать исходный код. Возьмите файл tiny_mce.js и найдите строку "000000,993300,333300," - это начало определения цвета кнопки SplitButton. Теперь вы можете редактировать цвета, как вам нравится. Это отрегулирует настройку цвета для всех экземпляров ColorSplitButton.

B. Другим способом, не настолько грязным, как возиться с исходным кодом, является настройка цветов после инициализации редактора. Вам нужно будет добавить установочный параметр к вашей конфигурации tinymce (или поместить его в один из ваших собственных плагинов tinymce):

   setup : function(ed) {
      ed.onInit.add(function(ed) {

         $('.mceColorSplitMenu').find('#_mce_item_2').get(0).setAttribute('data-mce-color','#0202FF');
         $('.mceColorSplitMenu').find('#_mce_item_3').get(0).setAttribute('data-mce-color','#0203FF');
          ...
         $('.mceColorSplitMenu').find('#_mce_item_41').get(0).setAttribute('data-mce-color','#0241FF');
      });
   }

Имейте в виду, что вы можете изменить и другие атрибуты кнопки SplitButton (т. Е. Заголовок, цвет фона, ...)

C. Самым чистым, но трудоемким решением является разработка собственного плагина с использованием собственного ColorSplitButton содержащий цвета по вашему выбору в настройках для этого элемента управления (взгляните на версию разработчика tinymce), есть файл с именем ColorSplitButton.js. Вот некоторый код, содержащий настройку цвета:

    ColorSplitButton : function(id, s, ed) {
        var t = this;

        t.parent(id, s, ed);

        /**
         * Settings object.
         *
         * @property settings
         * @type Object
         */
        t.settings = s = tinymce.extend({
            colors : '000000,993300,333300,003300,003366,000080,333399,333333,800000,FF6600,808000,008000,008080,0000FF,666699,808080,FF0000,FF9900,99CC00,339966,33CCCC,3366FF,800080,999999,FF00FF,FFCC00,FFFF00,00FF00,00FFFF,00CCFF,993366,C0C0C0,FF99CC,FFCC99,FFFF99,CCFFCC,CCFFFF,99CCFF,CC99FF,FFFFFF',
            grid_width : 8,
            default_color : '#888888'
        }, t.settings);
2 голосов
/ 18 июля 2015

Попробуйте использовать параметр 'textcolor_map' в конфигурации вашего редактора?

tinymce.init({
  textcolor_map: [
    'D7C0D0', 'color1',
    'F7C7DB', 'color2',
  ]
})

Я тоже пытался найти способ изменить цветовую палитру шрифта по умолчанию в Tinymce. В основном ответы, такие как приведенные выше, указывают на использование одного из свойств конфигурации, основанных на 'theme_advanced_'. Однако «продвинутая» тема не поставляется с версией 4, а «современная» тема, используемая версией 4 по умолчанию, не предоставляет такие же свойства. Независимое от темы решение было бы предпочтительнее в любом случае.

И вот! Быстрый просмотр плагина textcolor показывает, что когда плагин настраивает свою цветовую карту, он сначала смотрит на вышеупомянутое свойство в настройках редактора.

1 голос
/ 29 января 2015

Ну, это немного поздно, но мое решение было бы:

1. Предполагая, что вы используете плагин «textcolor», скопируйте папку «textcolor» в каталог «plugins» и дайте ей новое имя (скажем, «mytextcolor»). Это будет название вашего нового плагина (mytextcolor)

2. В папке «mytextcolor» откройте файл plugin.min.js и в строке 12 вы найдете цветовая палитра по умолчанию. измените это новыми названиями цветов и кодами.

3. в вашей конфигурации tinymce переименуйте «textcolor» в параметрах плагинов в «mytextcolor»

Надеюсь, что поможет

0 голосов
/ 21 июля 2014

https://www.youtube.com/watch?v=dySkwdZG9J0

theme_name_text_colors: "#hexhex, #hexhex, #hexhex"

Поместите это в функцию init () и boom, ваша цветовая палитра является пользовательской.И вы все еще получаете кнопку больше цветов.Никаких дополнительных плагинов.Нет сумасшедшей работы.

...