Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Benutzerhandbuch › Drupal 6 Module › WYSIWYG / Filter › BUEditor ›

4. Eigene Buttons erstellen

Eingetragen von wenamun@drupal.org (148) am 25.01.2009 - 17:31 Uhr in
  • Drupal 5.x oder neuer

Eine der Stärken des BUEditor sind die umfangreichen Konfigurationsmöglichkeiten: Nahezu alles kann nach Wunsch angepasst und erweitert werden. Voraussetzung hierfür sind Kenntnisse in HTML, JavaScript und/oder PHP.

Um sich mit der Materie vertraut zu machen, sollte man sich folgendes anschauen:

[1] Readme.txt des Moduls
[2] Projekt-Website: http://ufku.com/drupal/bueditor/buttons (dort insbesondere die API-Dokumentation)
[3] Button-Sammlung: http://drupal.org/node/334109 (als Beispielsammlung)

In den Editor-Einstellungen (/admin/settings/bueditor/) können eigene Buttons erstellt werden, der dafür nötige Code wird in der Spalte "Content" eines jeden Buttons eingetragen.

Hierbei ist zwischen den folgenden Button-Typen zu unterscheiden:

HTML Buttons
Dies ist der einfachste Button Typ, bei dem einfacher Text oder HTML-Tags in das Drupal Textfeld eingefügt wird. Der Platzhalter %TEXT% beinhaltet den vom Benutzer vor dem Klick auf den Button im Drupal Textfeld markierten Text.

JavaScript Buttons
Der Inhalt eines JavaScript Buttons wird als JavaScript Code interpretiert, der Code muss mit der Zeichenfolge "js:" beginnen.

PHP Buttons
Der Inhalt eines PHP Buttons wird serverseitig ausgeführt und muss Code zurückliefern (HTML Code oder JavaScript), der Inhalt des PHP Buttons muss mit der Zeichenfolge "php:" beginnen.

Theme Buttons
Über Theme Buttons wird das Aussehen des Editos angepasst, beispielsweise kann ein Zeilenwechsel oder ein Trennzeichen zwischen Buttons eingefügt werden. Der Inhalt eines Theme Buttons muss mit der Zeichenfolge "tpl:" beginnen.

Beispiel

Auf Basis vom eleganten Tabellen-Button von [3] kann man beispielsweise leicht einen komfortablen Listen-Button erstellen: Im Default-Editor wird eine Liste mit nur einem einzigen Listeneintrag erstellt, mit dem folgenden Code dagegen kann man mit der Maus die gewünschte Anzahl an Listeneinträgen festlegen (für eine Aufzählungsliste):

js:
BUE.quickPop.open('<table id="bue-quick-table" style="width: auto; height: auto;"><tr><td> </td></tr><tr><td> </td></tr><tr><td> </td></tr></table>','fadeIn');

quickTableY = -1;

quickTableTd = function () {
  $(this).css(
  {width: '16px', height: '16px', border: '1px solid #ddd', padding: '5px', backgroundColor: 'white', cursor: 'pointer'}
  ).html('&nbsp;').mouseover(quickTableTdOver).click(quickTableTdClick);
};

quickTableTdOver = function () {
  var row = this.parentNode, table = row.parentNode, Y = row.rowIndex;
  if (Y == table.rows.length - 1) {
    var _row = table.insertRow(Y+1);
    for (var i = 0, t = row.cells.length; i < t; i++) quickTableTd.apply(_row.insertCell(i));
  } 
  var aY = Y < quickTableY ? [quickTableY, Y, 0, 'white'] : [Y, quickTableY, 0, 'blue'];
  for (var i = aY[0]; i > aY[1]; i--) for (var j = aY[2]; j > -1; j--) {
    table.rows[i].cells[j].style.backgroundColor = aY[3];
  }
  quickTableY = Y;
};

quickTableTdClick = function () {
  var rows = '';
  for (var i = quickTableY; i > -1 ; i--) {
    rows += '\n<li>'+ '</li>';
  }
  BUE.dialog.close();
  BUE.active.replaceSelection('<ul>'+ rows +'\n</ul>', 'end');
};

$('#bue-quick-table td').each(quickTableTd);

Für eine nummerierte Liste ist einfach der als Parameter übergebene HTML-Code der Methode BUE.active.replaceSelection entsprechend anzupassen.

‹ 3. Editor Einstellungen nach oben Footnotes ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • Drupal CMS installieren
  • [erledigt]MP3 in Drupal 10 einbinden
  • (gelöst)Drupal 11 installieren
  • Titel ausblenden
  • Ich brauche dringen Hilfe zu Updates oder ggf. wwie geht Composer?
  • Dynamische Ansicht von Seiteninhalt (als Tabelle?)
  • Vergabe von Berechtigungen für bestimmte Rollen; mir fehlt der Haken bzw. das „Veröffentlicht“
  • Medien und andere Daten mit Feeds von Drupal 7 auf Drupal 10 migrieren
  • Rolle erstellen nicht zu finden
  • für drupal11 ein Slider Modul
  • [gelöst] W3CSS Paragraphs Views
  • Drupal 11 neu aufsetzen und Bereiche aus 10 importieren
Weiter

Neue Kommentare

  • Verwende doch das Tag dafür,
    vor 2 Tagen 17 Stunden
  • Guckst du hier: step by step
    vor 2 Tagen 7 Stunden
  • Guckst du hier: step by step
    vor 2 Tagen 7 Stunden
  • Ich habe ja keine Angst vor
    vor 1 Woche 4 Tagen
  • Ist grundsätzlichmachbar – aber nichts für „einfach mal schnell“
    vor 1 Woche 6 Tagen
  • Vielen Dank erst einmal, aber
    vor 2 Wochen 1 Tag
  • Du hast die "Trusted host
    vor 2 Wochen 2 Tagen
  • Bitte genauer den aktuellen Lösungs-Ansatz beschreiben
    vor 4 Wochen 21 Stunden
  • Git und rsync sind die wichtigsten Werkzeuge
    vor 4 Wochen 4 Tagen
  • Arrrrg. Nix Tabelle :-D /*
    vor 8 Wochen 6 Tagen

Statistik

Beiträge im Forum: 250284
Registrierte User: 20498

Neue User:

  • Inga GuAph
  • Robertolix
  • DavidBit

» Alle User anzeigen

User nach Punkten sortiert:
wla9464
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 20 Gäste online.

DrupalCenter durchsuchen:

Benutzerhandbuch

  • FAQ - Häufig gestellte Fragen.
  • Links & Downloads
  • Über Drupalcenter.de und das deutschsprachige Benutzerhandbuch
  • Über Drupal
  • Einsteiger
  • Fortgeschrittene
  • Entwicklung von Modulen und Themes
  • Drupalcenters Community
  • Drupal 7 Video-Trainings (Deutsch)
  • Drupal-Testumgebung erstellen
  • Drupal 6 Module
    • Kern-Module
    • Administration
    • Anzeige von Inhalten
    • Benachrichtigungen
    • Benutzer (Zugriff/Authentifizierung)
    • Benutzerverwaltung
    • Bewertung (Rating, Voting usw.)
    • Community
    • Content Construction Kit ( CCK )
    • Dateiverwaltung
    • E-Commerce
    • E-Mail
    • Entwickler
    • Events
    • Geodaten
    • Import/Export
    • Inhalt
    • Integration anderer PHP-Systeme
    • Javascript - JQuery - AJAX -AHAH
    • Kategorien (Taxonomy)
    • Medien
    • Mehrsprachigkeit
    • Organic Groups
    • Paging
    • Sicherheit
    • Statistik
    • Suche
    • Syndication
    • Themes
    • Views (deutsch: Ansichten)
    • WYSIWYG / Filter
      • BUEditor
        • 1. Installation
        • 2. Default Editor Beschreibung
        • 3. Editor Einstellungen
        • 4. Eigene Buttons erstellen
      • Footnotes
      • Quote
      • TinyMCE
    • Weitere Module
    • Werbung (Einbindung von AdSense & Co.)
    • Site Module (Mini Module)
  • Drupal 7 Module
  • Drupal Screencasts auf deutsch
  • Archiv

Das Copyright des deutschsprachigen Drupal-Benutzerhandbuches unterliegt den jeweiligen Autoren. Übersetzungen des englischsprachigen Drupal-Benutzerhandbuches unterliegen der Creative Commons License, Attribution-ShareAlike 2.0.

Hauptmenü

  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche

Quicklinks I

  • Infos
  • Drupal Showcase
  • Installation
  • Update
  • Forum
  • Team
  • Verhaltensregeln

Quicklinks II

  • Drupal Jobs
  • FAQ
  • Drupal-Kochbuch
  • Best Practice - Drupal Sites - Guidelines
  • Drupal How To's

Quicklinks III

  • Tipps & Tricks
  • Drupal Theme System
  • Theme Handbuch
  • Leitfaden zur Entwicklung von Modulen

RSS & Twitter

  • Drupal Planet deutsch
  • RSS Feed News
  • RSS Feed Planet
  • Twitter Drupalcenter
Drupalcenter Team | Impressum & Datenschutz | Kontakt
Angetrieben von Drupal | Drupal is a registered trademark of Dries Buytaert.
Drupal Initiative - Drupal Association