Для некоторых плагинов, добавляемых автоматически, они сообщают Redactor addButtonBefore
или addButtonAfter
другую конкретную кнопку...
Похоже, что плагин Craft не должен принимать решения о том, в каком порядке появляются наши плагины Redactor. В идеале они должны просто появляться в том порядке, в котором они указаны в файле JSON.
"buttons": [
"bold",
"italic",
"underline",
"link",
"lists"
],
"plugins": [
"alignment",
"table" <--- Table is at the end
],
Поскольку плагин Craft принимает эти решения, это приводит к странному поведению моей пользовательской панели инструментов. Когда я добавляю плагин (например, table
), он автоматически размещается на панели инструментов в _специфической_ позиции. Это сбивает с толку, потому что кнопка плагина оказывается не там, где я ее разместил .
Можем ли мы удалить предустановленные параметры заказа? Или как-то сделать их переопределяемыми?
Это плагины, предоставляемые Redactor, поэтому не уверен, насколько умно было бы вмешиваться в этот код.
Ха, я предположил, что это просто реализация этих библиотек Craft. Странно, что Redactor так строг в отношении того, где должны появляться эти кнопки... разве весь смысл Redactor не в его гибкости?
Есть ли способ переопределить это? Мне трудно поверить, что кнопка «Таблица» _должна_ располагаться рядом с кнопкой «Ссылка», без исключений. 😕
Вероятно, это можно переопределить с помощью некоторого JS-кода, но если мы собираемся вмешиваться в это, давайте сделаем это правильно.
Если бы вы _хотели_ вставить туда кнопку таблицы посередине - как бы вы хотели определить это в конфиге?
Хм... это отличный вопрос, потому что Redactor уже скупится на то, как вы расположите кнопки.
В идеале мы могли бы использовать методы before
и after
, чтобы размещать их в любом месте...
https://imperavi.com/redactor/docs/settings/button/#s -buttonsaddafter
Но в худшем случае я просто ожидаю, что он приземлится именно там, где я поместил его в массив plugins
...
"plugins": [
"alignment",
"fontcolor",
"table", <--- Table should be in the middle
"fullscreen",
"clips"
]
@lindseydiloreto, что я имел в виду, например, как бы вы вставили его между кнопками, выделенными жирным шрифтом и курсивом?
Вы спрашиваете: «Как я себе это представляю?» Может быть, что-то вроде этого...
"buttonsAddAfter": {
"after": "bold",
"buttons": ["table"] // Places the plugin button
},
"plugins": [
"table" // Loads the plugin
],
... или, возможно, вот так ...
"pluginsAddAfter": {
"after": "bold",
"buttons": ["table"] // Loads & places the button
},
Я понятия не имею, насколько легко это сочетается с тем, что Redactor и/или плагин Craft уже делают. Глядя на этот коммит , кажется, что плагину Craft все равно иногда приходится использовать грубую силу с Redactor.
Дайте мне знать ваши мысли, или если я совершенно неправильно понял вопрос! 😄
Действительно странно, что редактор не может просто расположить кнопки так, как они определены в массиве. Это поведение по умолчанию, которое я ожидаю при определении кнопок. Учитывая, что редактор платный, хотелось бы большей гибкости и предсказуемости.
У меня ушло несколько месяцев, но решение, наконец, здесь в виде совершенно новой опции конфигурации enforceButtonOrder
Redactor!
(Со следующим выпуском)
Ааа, молодец @andris-sevcenko! Большое спасибо за то, что зафиксировали это, мое ОКР будет намного счастливее. 😄
Не могу дождаться, чтобы взять его на спину! 🍺
Самый полезный комментарий
У меня ушло несколько месяцев, но решение, наконец, здесь в виде совершенно новой опции конфигурации
enforceButtonOrder
Redactor!