Redactor: Mengapa Redactor mencoba memesan plugin saya?

Dibuat pada 12 Apr 2020  ·  10Komentar  ·  Sumber: craftcms/redactor

Untuk beberapa plugin yang ditambahkan secara otomatis, mereka memberi tahu Redactor untuk addButtonBefore atau addButtonAfter tombol spesifik lainnya...

Sepertinya plugin Craft seharusnya tidak membuat keputusan tentang urutan kemunculan plugin Redactor kami. Idealnya, mereka hanya akan muncul dalam urutan apa pun yang saya daftarkan di file JSON.

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

Ω 2020-04-11 at 3 33 56 PM

Karena plugin Craft membuat keputusan ini, itu mengarah ke perilaku aneh di bilah alat khusus saya. Ketika saya menambahkan sebuah plugin (misalnya table ), plugin itu secara otomatis menempatkan dirinya di bilah alat dalam posisi _spesifik_. Ini membingungkan karena tombol plugin berakhir tidak di tempat saya meletakkannya .

Bisakah kami menghapus preferensi pesanan yang telah ditetapkan sebelumnya? Atau entah bagaimana membuat mereka bisa ditimpa?

enhancement

Komentar yang paling membantu

Butuh beberapa bulan, tetapi solusinya akhirnya ada di sini dalam bentuk opsi konfigurasi Redactor enforceButtonOrder baru!

Semua 10 komentar

Itu adalah plugin yang disediakan oleh Redactor, jadi tidak yakin seberapa pintar untuk mengutak-atik kode itu.

Huh, saya berasumsi itu hanya implementasi Craft dari perpustakaan itu. Aneh bahwa Redactor akan sangat ketat tentang di mana tombol-tombol itu akan muncul ... bukankah inti dari Redactor adalah fleksibilitasnya?

Apakah ada cara untuk menimpanya? Saya merasa sulit untuk percaya bahwa tombol Tabel _harus_ berada di sebelah tombol Tautan, tanpa pengecualian. 😕.

Mungkin saja untuk menimpanya dengan beberapa kode JS, tetapi, jika kita ingin mengutak-atik ini, mari kita lakukan dengan benar.

Jika Anda _ingin_ menyisipkan tombol tabel di tengah - bagaimana Anda berharap untuk mendefinisikannya dalam konfigurasi?

Hmm... pertanyaan yang bagus, karena Redactor sudah squirrely tentang bagaimana Anda mengatur tombol.

Idealnya, kita dapat menggunakan metode before dan after untuk menempatkannya di mana pun kita inginkan...

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

Tapi skenario terburuk, saya hanya berharap itu mendarat persis di tempat saya meletakkannya di array plugins ...

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

@lindseydiloreto yang saya maksud adalah bagaimana Anda memasukkannya di antara tombol tebal dan miring, misalnya?

Apakah Anda bertanya "bagaimana saya membayangkannya bekerja?" Mungkin ada yang seperti ini...

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

... atau mungkin seperti ini ...

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

Saya tidak tahu betapa mudahnya itu cocok dengan apa yang sudah dilakukan Redactor dan/atau plugin Craft. Melirik commit ini , tampaknya plugin Craft terkadang perlu menggunakan brute force dengan Redactor.

Beri tahu saya pendapat Anda, atau jika saya benar-benar salah memahami pertanyaannya! 😄.

Sungguh aneh bahwa redaktur tidak dapat hanya memesan tombol seperti yang didefinisikan dalam array. Ini adalah perilaku default yang saya harapkan saat mendefinisikan tombol. Mempertimbangkan bahwa redaktur adalah alat berbayar, saya mengharapkan lebih banyak fleksibilitas dan prediktabilitas.

Butuh beberapa bulan, tetapi solusinya akhirnya ada di sini dalam bentuk opsi konfigurasi Redactor enforceButtonOrder baru!

(Dengan rilis berikutnya)

Ahh, brilian @andris-sevcenko! Terima kasih banyak telah menyelesaikannya, OCD saya akan jauh lebih bahagia karenanya. 😄.

Tidak sabar untuk mengambilnya untuk putaran! 🍺.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat