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

  • Netx360
  • Dynamische Ansicht von Seiteninhalt (als Tabelle?)
  • Vergabe von Berechtigungen für bestimmte Rollen; mir fehlt der Haken bzw. das „Veröffentlicht“
  • Ich brauche dringen Hilfe zu Updates oder ggf. wwie geht Composer?
  • 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
  • Wie erlaubt man neuen Benutzern auf die Resetseite zugreifen zu dürfen.
  • [gelöst] Anzeigeformat Text mit Bild in einem Artikel, Drupal 11
  • Social Media Buttons um Insteragram erweitern
Weiter

Neue Kommentare

  • Arrrrg. Nix Tabelle :-D /*
    vor 2 Wochen 3 Tagen
  • Textboxen mit Tabelle
    vor 2 Wochen 3 Tagen
  • Du sollst ja auch keine
    vor 2 Wochen 3 Tagen
  • Theme
    vor 2 Wochen 3 Tagen
  • Welches Theme benutzt du
    vor 2 Wochen 4 Tagen
  • Mit Responsive Raster hatte
    vor 2 Wochen 4 Tagen
  • Hallo Alex,um das Häkchen
    vor 2 Wochen 5 Tagen
  • Modul view_unpublished
    vor 2 Wochen 6 Tagen
  • Modul "override node options"
    vor 2 Wochen 6 Tagen
  • Im Grunde ist dass ein
    vor 3 Wochen 2 Tagen

Statistik

Beiträge im Forum: 250271
Registrierte User: 20479

Neue User:

  • Floydphymn
  • Stevebok
  • Robertnobia

» Alle User anzeigen

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