Redactor: Pourquoi Redactor essaie-t-il de commander mes plugins ?

Créé le 12 avr. 2020  ·  10Commentaires  ·  Source: craftcms/redactor

Pour quelques-uns des plugins ajoutés automatiquement, ils disent à Redactor de addButtonBefore ou addButtonAfter un autre bouton spécifique ...

Il semble que le plugin Craft ne devrait pas prendre de décisions quant à l'ordre d'affichage de nos plugins Redactor. Idéalement, ils apparaîtraient simplement dans l'ordre dans lequel je les ai répertoriés dans le fichier JSON.

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

Ω 2020-04-11 at 3 33 56 PM

Parce que le plugin Craft prend ces décisions, cela entraîne un comportement étrange dans ma barre d'outils personnalisée. Lorsque j'ajoute un plugin (par exemple table ), il se place automatiquement dans la barre d'outils dans une position _spécifique_. C'est déroutant car le bouton du plugin ne se retrouve pas là où je l'ai placé .

Pouvons-nous supprimer les préférences de commande prédéfinies ? Ou les rendre d'une manière ou d'une autre remplaçables ?

enhancement

Commentaire le plus utile

Cela m'a pris quelques mois, mais la solution est enfin là sous la forme d'une toute nouvelle option de configuration enforceButtonOrder Redactor !

Tous les 10 commentaires

Ce sont des plugins fournis par Redactor, donc je ne sais pas à quel point il serait intelligent de falsifier ce code.

Huh, j'ai supposé que c'était juste l'implémentation de ces bibliothèques par Craft. Il est étrange que Redactor soit si strict sur l'endroit où ces boutons apparaîtront... l'intérêt de Redactor n'est-il pas sa flexibilité ?

Existe-t-il un moyen de remplacer cela? J'ai du mal à croire qu'un bouton Table _doit_ aller à côté d'un bouton Lien, sans exception. 😕

Il est probablement possible de remplacer cela avec du code JS, mais si nous voulons altérer cela, faisons-le correctement.

Si vous _vouliez_ insérer le bouton de tableau au milieu, comment vous attendriez-vous à le définir dans la configuration ?

Hmm ... c'est une excellente question, car Redactor est déjà très au courant de la façon dont vous organisez les boutons.

Idéalement, nous pourrions utiliser les méthodes before et after pour les placer où nous voulons...

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

Mais dans le pire des cas, je m'attendrais à ce qu'il atterrisse exactement là où je l'ai mis dans le tableau plugins ...

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

@lindseydiloreto ce que je voulais dire, c'est comment l'inséreriez-vous entre les boutons gras et italique, par exemple ?

Demandez-vous "comment puis-je imaginer que cela fonctionne?" Peut-être quelque chose comme ça...

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

... ou peut-être comme ça...

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

Je n'ai aucune idée de la facilité avec laquelle cela s'accorde avec ce que Redactor et/ou le plugin Craft font déjà. En jetant un coup d'œil à ce commit , il semble que le plugin Craft ait parfois besoin d'utiliser la force brute avec Redactor de toute façon.

Faites-moi part de vos réflexions, ou si j'ai complètement mal compris la question ! 😄

C'est vraiment bizarre que le rédacteur ne puisse pas simplement ordonner les boutons comme ils sont définis dans le tableau. C'est le comportement par défaut auquel je m'attendrais lors de la définition des boutons. Considérant que redactor est un outil payant, je souhaiterais plus de flexibilité et de prévisibilité.

Cela m'a pris quelques mois, mais la solution est enfin là sous la forme d'une toute nouvelle option de configuration enforceButtonOrder Redactor !

(Avec la prochaine version)

Ahh, génial @andris-sevcenko ! Merci beaucoup d'avoir compris cela, mon TOC en sera beaucoup plus heureux. 😄

J'ai hâte de le prendre pour un tour! 🍺

Cette page vous a été utile?
0 / 5 - 0 notes