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

  • Beim Aufruf einiger Inhalte erhalte ich folgende Fehlermeldung
  • Neuinstallation: vermutlich ein rewrite-Problem
  • 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
Weiter

Neue Kommentare

  • Gefunden
    vor 21 Stunden 19 Minuten
  • Vielen Dank für die ausführlichen Hinweise...
    vor 4 Tagen 17 Stunden
  • Mögliche Ursachen und nächste Schritte
    vor 4 Tagen 22 Stunden
  • Was für einen Server benutzt
    vor 3 Wochen 23 Stunden
  • Wenn die Subdomain auf
    vor 3 Wochen 2 Tagen
  • ordnerstruktur
    vor 3 Wochen 3 Tagen
  • Die Subdomain muß auf den
    vor 3 Wochen 5 Tagen
  • Verwende doch das Tag dafür,
    vor 7 Wochen 13 Stunden
  • Guckst du hier: step by step
    vor 7 Wochen 3 Stunden
  • Guckst du hier: step by step
    vor 7 Wochen 3 Stunden

Statistik

Beiträge im Forum: 250293
Registrierte User: 20532

Neue User:

  • fsnet
  • Ramesh Naik Pat...
  • Wolf Dab

» Alle User anzeigen

User nach Punkten sortiert:
wla9466
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 27 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