BBcode tauschen

  • Affected Version
    WoltLab Suite 5.4

    Hallo zusammen,


    kann man eigentlich einen BBcode tauschen?

    Laut diesem Wunsch RE: Reihenfolge zweier Buttons im WYSIWYG-Editor tauschen soll das funktionieren, da der Wunsch abgeschlossen wurde, aber wie funktioniert das ganze?


    Ich möchte den img-Bbcode mit einem installierten bbcode ändern. Zum einen, da er diesen ersetzt und zum anderen soll der BBcode auch mobil sofort sichtbar sein und nicht erst nach dem Klick auf dem arrow.


    Hat jemand ein Workaround dafür?

    Mit freundlichen Grüßen

    Sunny Cuewitzki

  • Hast du evtl. einen Workaround dafür ?


    Es wäre wirklich hilfreich, denn einige wichtige BBCodes werden in der mobilen Ansicht leider im Arrow versteckt, welche ich aber sehr gerne direkt anzeigen möchte.

    Mit freundlichen Grüßen

    Sunny Cuewitzki

  • Wie es scheint, reicht es data-show-on-mobile= zu ändern.


    Ich habe mir da was zusammengebastelt, aber ich weiß nicht wie ich das im WSC nutzen kann: http://jsfiddle.net/3q67ntyu/4/

    Mit freundlichen Grüßen

    Sunny Cuewitzki

    • Official Post

    SunnyC.

    JavaScript
    (() => {
      const toolbar = document.querySelector(".redactor-toolbar");
    
      const image = toolbar.querySelector('[rel="woltlabImage]');
      if (image) image.dataset.showOnMobile = "false";
    
      const telegram = toolbar.querySelector('[rel="revocodeTelegram"]');
      if (telegram) telegram.dataset.showOnMobile = "true";
    })();
  • Ich habe zu Danken, unglaublich wie sich alles unterscheidet und jemand sowas beruflich macht. Danke für die Zeit und bereitstellen.


    Alexander Ebert weder im Header als auch Footer scheint es zu funktionieren.



    Habe es auch so einmal Probiert

    Mit freundlichen Grüßen

    Sunny Cuewitzki

    Edited 2 times, last by SunnyC. ().

    • Official Post

    Oh, mir ist ein Fehler unterlaufen, es fehlt ein .parentElement, denn das Attribut steht auf dem Eltern-Element:

    JavaScript
    (() => {
      const toolbar = document.querySelector(".redactor-toolbar");
    
      const image = toolbar.querySelector('[rel="woltlabImage"]');
      if (image) image.parentElement.dataset.showOnMobile = "false";
    
      const telegram = toolbar.querySelector('[rel="revocodeTelegram"]');
      if (telegram) telegram.parentElement.dataset.showOnMobile = "true";
    })();
  • Vielen Dank dafür nochmal.

    Habe das ganze im Footer eingebaut.


    Die Konsole meldet:

    Quote

    Uncaught TypeError: toolbar is null
    <anonymous> ...../forum/thread/6-auch-test/?postID=49#post49:3471
    <anonymous> ...../forum/thread/6-auch-test/?postID=49#post49:3476

    Mittels Quelltext untersuchen, finde ich auch

    Im Seitenquelltext widerum nicht, liegt das daran oder muss das Javascript generell woanders eingebunden werden?

    Mit freundlichen Grüßen

    Sunny Cuewitzki

  • Wenn die Toolbar erst nachgeladen wird, wird der Code vermutlich zu früh ausgeführt. Zudem fehlt hier imho die Prüfung, ob das Element überhaupt existiert, d.h. selbst wenn der Code pünktlich geladen werden würde, würdest du vermutlich auf allen Seiten ohne Editor diesen Fehler erhalten.

  • Bedeutet, dass das dann generell nicht funktioniert?

    Kann man kein Template dafür beariten? Wahrscheinlich wird das ganze via Javascript generiert oder?

    Mit freundlichen Grüßen

    Sunny Cuewitzki

    Edited once, last by SunnyC. ().

  • So scheint es möglich, allerdings ist es nicht zuverlässig. Mal klappt es, mal nicht.

    Mit freundlichen Grüßen

    Sunny Cuewitzki

    • Official Post

    Als "Footer-Code" eintragen:

    Der Editor basiert noch auf jQuery und dies wird erst etwas verzögert ausgeführt.

  • Der Editor basiert noch auf jQuery und dies wird erst etwas verzögert ausgeführt.

    Das scheint noch mehr Fehler zu verursachen:

    Diese Variante verursacht komischerweise keine Fehler, aber ist ebenso unzuverlässig.

    So scheint es möglich, allerdings ist es nicht zuverlässig. Mal klappt es, mal nicht.

    Gibt es eine Möglichkeit die Button direkt zu editieren, in einer speziellen Datei?

    Mit freundlichen Grüßen

    Sunny Cuewitzki

  • Das Ganze hat in den bisher genannten Varianten sowieso ein Problem: Es funktioniert nur einmal beim Laden der Seite, aber z.B. nicht beim Nachladen einer neuen Editor-Instanz. Daher mein Vorschlag: