Redactor: Warum versucht Redactor, meine Plugins zu bestellen?

Erstellt am 12. Apr. 2020  ·  10Kommentare  ·  Quelle: craftcms/redactor

Für einige der Plugins, die automatisch hinzugefügt werden, weisen sie Redactor an, addButtonBefore oder addButtonAfter eine andere spezifische Schaltfläche zu verwenden ...

Es fühlt sich an, als ob das Craft-Plugin keine Entscheidungen darüber treffen sollte, in welcher Reihenfolge unsere Redactor-Plugins angezeigt werden. Idealerweise würden sie einfach in der Reihenfolge erscheinen, in der ich sie in der JSON-Datei aufgelistet habe.

  "buttons": [
    "bold",
    "italic",
    "underline",
    "link",
    "lists"
  ],
  "plugins": [
    "alignment",
    "table"   <--- Table is at the end
  ],

Ω 2020-04-11 at 3 33 56 PM

Da das Craft-Plugin diese Entscheidungen trifft, führt dies zu einem seltsamen Verhalten in meiner benutzerdefinierten Symbolleiste. Wenn ich ein Plugin hinzufüge (zum Beispiel table ), platziert es sich automatisch in der Symbolleiste an einer _bestimmten_ Position. Es ist verwirrend, weil die Plugin-Schaltfläche nicht dort landet, wo ich sie platziert habe .

Können wir bitte die voreingestellten Bestelleinstellungen entfernen? Oder irgendwie überschreibbar machen?

enhancement

Hilfreichster Kommentar

Ich habe ein paar Monate gebraucht, aber die Lösung ist endlich da in Form einer brandneuen enforceButtonOrder Redactor-Konfigurationsoption!

Alle 10 Kommentare

Das sind Plugins, die von Redactor bereitgestellt werden, also bin ich mir nicht sicher, wie schlau es wäre, diesen Code zu manipulieren.

Huh, ich nahm an, dass dies nur Crafts Implementierung dieser Bibliotheken war. Es ist seltsam, dass Redactor so streng ist, wo diese Schaltflächen erscheinen ... ist nicht der ganze Sinn von Redactor seine Flexibilität?

Gibt es eine Möglichkeit das zu überschreiben? Ich finde es schwer zu glauben, dass ein Tabellen-Button _muss_ neben einem Link-Button stehen muss, ausnahmslos. 😕

Es ist wahrscheinlich möglich, das mit etwas JS-Code zu überschreiben, aber wenn wir daran herumhantieren wollen, machen wir es richtig.

Wenn Sie dort den Tabellen-Button in der Mitte einfügen _wollten_ - wie würden Sie dies in der Konfiguration definieren?

Hmm... das ist eine gute Frage, denn Redactor beschäftigt sich bereits mit der Anordnung der Schaltflächen.

Idealerweise könnten wir die Methoden before und after verwenden, um sie an einer beliebigen Stelle zu platzieren ...

https://imperavi.com/redactor/docs/settings/button/#s -buttonsaddafter

Aber im schlimmsten Fall würde ich einfach erwarten, dass es genau dort landet, wo ich es in das plugins -Array eingefügt habe ...

  "plugins": [
    "alignment",
    "fontcolor",
    "table",   <--- Table should be in the middle
    "fullscreen",
    "clips"
  ]

@lindseydiloreto , was ich meinte, ist, wie würdest du es zum Beispiel zwischen den Schaltflächen Fett und Kursiv einfügen?

Fragst du "wie stelle ich mir vor, dass es funktioniert?" Vielleicht so etwas...

  "buttonsAddAfter": {
    "after": "bold",
    "buttons": ["table"] // Places the plugin button
  },
  "plugins": [
    "table" // Loads the plugin
  ],

... oder vielleicht so ...

  "pluginsAddAfter": {
    "after": "bold",
    "buttons": ["table"] // Loads & places the button
  },

Ich habe keine Ahnung, wie einfach das mit dem zusammenpasst, was Redactor und/oder das Craft-Plugin bereits tun. Wenn man sich diesen Commit ansieht, scheint es, dass das Craft-Plugin gelegentlich ohnehin Brute Force mit Redactor anwenden muss.

Teilen Sie mir Ihre Meinung mit, oder wenn ich die Frage völlig falsch verstanden habe! 😄

Es ist wirklich seltsam, dass Redactor die Schaltflächen nicht einfach so anordnen kann, wie sie im Array definiert sind. Dies ist das Standardverhalten, das ich beim Definieren von Schaltflächen erwarten würde. In Anbetracht dessen, dass Redactor ein kostenpflichtiges Tool ist, würde ich mir mehr Flexibilität und Vorhersehbarkeit wünschen.

Ich habe ein paar Monate gebraucht, aber die Lösung ist endlich da in Form einer brandneuen enforceButtonOrder Redactor-Konfigurationsoption!

(Mit der nächsten Version)

Ahh, brillanter @andris-sevcenko! Vielen Dank, dass Sie das festgenagelt haben, meine Zwangsstörung wird viel glücklicher darüber sein. 😄

Ich kann es kaum erwarten, eine Runde damit zu drehen! 🍺

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen