BbCode Erweiterung 2
Aus DeDi-Help
Version vom 01:38, 6. Jan. 2006 (bearbeiten) MaZderMind (Diskussion | Beiträge) K (Versionswarnung vor die Navigation verschoben und leicht angepasst.) ← Zum vorherigen Versionsunterschied |
Aktuelle Version (10:03, 6. Okt. 2009) (bearbeiten) (Entfernen) Eppi (Diskussion | Beiträge) |
||
Zeile 1: | Zeile 1: | ||
- | <div style="color: red; font-weight: bold; font-size: 150%; text-align: center; margin: 0px">Diese Dokumentation ist veraltet und wurde durch die Dokumentation zur [[bbCode Erweiterung 2 v1.0]] ersetzt. Es wird keinen weiteren Support fr Erweiterungen vor 1.0 geben.</div> | + | <div style="color: red; font-weight: bold; font-size: 150%; text-align: center; margin: 0px">Diese Dokumentation ist veraltet und wurde durch die Dokumentation zur [[bbCode Erweiterung 2 v1.0]] ersetzt. Es wird keinen weiteren Support für Erweiterungen vor 1.0 geben.</div> |
=Einleitung= | =Einleitung= | ||
- | bbCode ist eine Methode, Texte auch ohne HTML-Kenntnisse zu formatieren. Dabei wird eine begrenzter Satz an HTML-hnliche Formatierungselementen angeboten, welche ber einfache Parameter gesteuert werden knnen. Zusammen mit dem [[Dokumentation_ContentFlex|ContentFlex]]- oder [[Dokumentation_DeDi-Flex|DeDiFlex-Modul]] bietet die bbCode-Erweiterung eine Alternative zum hufig verwendeten [[Dokumentation_WYSIWYG|WYSIWYG-Editor]]. | + | bbCode ist eine Methode, Texte auch ohne HTML-Kenntnisse zu formatieren. Dabei wird eine begrenzter Satz an HTML-ähnliche Formatierungselementen angeboten, welche über einfache Parameter gesteuert werden können. Zusammen mit dem [[Dokumentation_ContentFlex|ContentFlex]]- oder [[Dokumentation_DeDi-Flex|DeDiFlex-Modul]] bietet die bbCode-Erweiterung eine Alternative zum häufig verwendeten [[Dokumentation_WYSIWYG|WYSIWYG-Editor]]. |
- | Es gab bereits eine bbCode-Erweiterung fr DeDi, diese hatte jedoch einige entscheidende Nachteile gegenber dem WYSIWYG. Vor allem fehlten Formulare zum einfachen Erstellen von links - man musste jedemal die SeitenID manuell eingeben. Darum gibt es nun eine komplett neue bbCode-Erweiterung, welche diese Nachteile auszugleichen versucht. | + | Es gab bereits eine bbCode-Erweiterung für DeDi, diese hatte jedoch einige entscheidende Nachteile gegenüber dem WYSIWYG. Vor allem fehlten Formulare zum einfachen Erstellen von links - man musste jedemal die SeitenID manuell eingeben. Darum gibt es nun eine komplett neue bbCode-Erweiterung, welche diese Nachteile auszugleichen versucht. |
- | Wenn Sie mit mir Kontakt aufnehmen wollen, knnen Sie mich [http://forum.der-dirigent.de/index.php?act=Msg&CODE=4&MID=989 per PM] oder [mailto:koerner-familie@t-online.de per Mail] benachrichtigen oder mir ein Feedback geben. Fr Bugs und allgemeinere Fragen posten Sie bitte im Diskussionsthread: http://forum.der-dirigent.de/index.php?act=ST&f=30&t=4605 | + | Wenn Sie mit mir Kontakt aufnehmen wollen, können Sie mich [http://forum.der-dirigent.de/index.php?act=Msg&CODE=4&MID=989 per PM] oder [mailto:koerner-familie@t-online.de per Mail] benachrichtigen oder mir ein Feedback geben. Für Bugs und allgemeinere Fragen posten Sie bitte im Diskussionsthread: http://forum.der-dirigent.de/index.php?act=ST&f=30&t=4605 |
=Download & Installation= | =Download & Installation= | ||
Downloaden kann man die aktuelle Version ('''v0.4dev''') der bbCode-Erweiterung hier: http://forum.der-dirigent.de/index.php?act=Attach&type=post&id=40062 | Downloaden kann man die aktuelle Version ('''v0.4dev''') der bbCode-Erweiterung hier: http://forum.der-dirigent.de/index.php?act=Attach&type=post&id=40062 | ||
- | Um die Erweiterung zu installieren, entpacken Sie einfach das komplette Archiv und kopieren Sie den Ordner ''backend'' per FTP in den Ordner der DeDi-Installation. Vorhandene Dateien mssen berschrieben werden. | + | Um die Erweiterung zu installieren, entpacken Sie einfach das komplette Archiv und kopieren Sie den Ordner ''backend'' per FTP in den Ordner der DeDi-Installation. Vorhandene Dateien müssen überschrieben werden. |
=Anwendung & Konfiguration= | =Anwendung & Konfiguration= | ||
- | Die bbCode-Erweiterung ist ein Core-Hack - Sie erweitert die Funktionen des [[Referenz_DeDi-Tags#a_.3Cdedi:mod_type.3D.22textarea.22.2F.3E|textarea-dedi:mod-Tags]] um die Mglichkeit, mittels bbCode formatiert zu werden. Angewendet werden kann diese Technik daher in jedem Modul, das eine Textarea einsetzt. | + | Die bbCode-Erweiterung ist ein Core-Hack - Sie erweitert die Funktionen des [[Referenz_DeDi-Tags#a_.3Cdedi:mod_type.3D.22textarea.22.2F.3E|textarea-dedi:mod-Tags]] um die Möglichkeit, mittels bbCode formatiert zu werden. Angewendet werden kann diese Technik daher in jedem Modul, das eine Textarea einsetzt. |
- | Um eine Textarea mit bbCode-Funktionalitt auszustatten, muss im dedi:mod-Tag der Parameter ''transform'' auf ''bbcode'' gesetzt sein. Dies ist eine funktionsfhige bbCode-Textarea: | + | Um eine Textarea mit bbCode-Funktionalität auszustatten, muss im dedi:mod-Tag der Parameter ''transform'' auf ''bbcode'' gesetzt sein. Dies ist eine funktionsfähige bbCode-Textarea: |
<dedi:mod | <dedi:mod | ||
type = "textarea" | type = "textarea" | ||
Zeile 18: | Zeile 18: | ||
transform = "bbcode" | transform = "bbcode" | ||
/> | /> | ||
- | Mit dieser Konfiguration verwendet die bbCode-Erweiterung Standardeinstellungen. Allerdings lassen sich diese beliebig verndern. Alle Konfigurationen werden ber Parameter im dedi:mod-Tag festgelegt. Folgende Parameter sind mglich: | + | Mit dieser Konfiguration verwendet die bbCode-Erweiterung Standardeinstellungen. Allerdings lassen sich diese beliebig verändern. Alle Konfigurationen werden über Parameter im dedi:mod-Tag festgelegt. Folgende Parameter sind möglich: |
==nl2br== | ==nl2br== | ||
nl2br = "true|false" - Standard: true | nl2br = "true|false" - Standard: true | ||
- | Wenn dieser Parameter auf ''true'' gesetzt ist, werden alle Zeilenumbrche innerhalb der Textarea zu <br /> konvertiert und damit auch im HTML-Output als Zeilenumbrche dargestellt. Eine semantisch korrektere Alternative dazu stellt die [[#a_handleparagraphs|Absatzbehandlung]] dar. | + | Wenn dieser Parameter auf ''true'' gesetzt ist, werden alle Zeilenumbrüche innerhalb der Textarea zu <br /> konvertiert und damit auch im HTML-Output als Zeilenumbrüche dargestellt. Eine semantisch korrektere Alternative dazu stellt die [[#a_handleparagraphs|Absatzbehandlung]] dar. |
==handleparagraphs== | ==handleparagraphs== | ||
handleparagraphs = "true|false" - Standard: false | handleparagraphs = "true|false" - Standard: false | ||
- | (De-)Aktiviert die Absatzbehandlung. Ist die Absatzbehandlung aktiviert wird [[#a_nl2br|nl2br]] deaktiviert, da sich diese beiden Optionen gegenseitig ausschlieen. Bei aktivierter Absatzbehandlung werden Textteile, welche als eigenstndiger Absatz erkannt werden, automatisch mit <p></p> umschlossen. | + | (De-)Aktiviert die Absatzbehandlung. Ist die Absatzbehandlung aktiviert wird [[#a_nl2br|nl2br]] deaktiviert, da sich diese beiden Optionen gegenseitig ausschließen. Bei aktivierter Absatzbehandlung werden Textteile, welche als eigenständiger Absatz erkannt werden, automatisch mit <p></p> umschlossen. |
- | Zu einem Absatz zusammengefasst werden Zeilen, wenn sie nur einen Zeilenumbruch enthalten. Ist eine Leerzeile zwischen zwei Zeilen, werden diese in getrennte Abtze gepackt. | + | Zu einem Absatz zusammengefasst werden Zeilen, wenn sie nur einen Zeilenumbruch enthalten. Ist eine Leerzeile zwischen zwei Zeilen, werden diese in getrennte Absätze gepackt. |
Dies ist ein Absatz | Dies ist ein Absatz | ||
der immer noch weiter geht | der immer noch weiter geht | ||
Hier beginnt dann ein neuer | Hier beginnt dann ein neuer | ||
- | Dies wrde zu folgendem HTML-Code: | + | Dies würde zu folgendem HTML-Code: |
<p>Dies ist ein Absatz | <p>Dies ist ein Absatz | ||
der immer noch weiter geht</p> | der immer noch weiter geht</p> | ||
Zeile 40: | Zeile 40: | ||
htmltags = "convert|allow|strip" - Standard: convert | htmltags = "convert|allow|strip" - Standard: convert | ||
Gibt an, wie mit HTML-Tags verfahren werden soll, die innerhalb der Textarea eingegeben wurden. | Gibt an, wie mit HTML-Tags verfahren werden soll, die innerhalb der Textarea eingegeben wurden. | ||
- | * ''convert'': HTML-und PHP-Tags werden in darstellbaren HTML-Code umgewandelt. Nheres dazu unter [http://de2.php.net/manual/de/function.htmlspecialchars.php PHP-Manual: htmlspecialchars()]. | + | * ''convert'': HTML-und PHP-Tags werden in darstellbaren HTML-Code umgewandelt. Näheres dazu unter [http://de2.php.net/manual/de/function.htmlspecialchars.php PHP-Manual: htmlspecialchars()]. |
- | * ''stript'': HTML- und PHP-Tags werden, wenn mglich, aus dem eingegebenen Code entfernt. Mehr Informationen unter [http://de2.php.net/manual/de/function.strip-tags.php PHP-Manual: strip_tags()]. | + | * ''stript'': HTML- und PHP-Tags werden, wenn möglich, aus dem eingegebenen Code entfernt. Mehr Informationen unter [http://de2.php.net/manual/de/function.strip-tags.php PHP-Manual: strip_tags()]. |
- | * ''allow'': HTML-Tags werden erlaubt, sodass Sie den Text sowohl mit HTML-Tags als auch mit bbCode gestallten knnen. PHP-Code wird jedoch weiterhin umgewandelt. Die Ausfhrung von PHP-Code ist nur innerhalb von [[#a_source|[source]]] mglich. | + | * ''allow'': HTML-Tags werden erlaubt, sodass Sie den Text sowohl mit HTML-Tags als auch mit bbCode gestallten können. PHP-Code wird jedoch weiterhin umgewandelt. Die Ausführung von PHP-Code ist nur innerhalb von [[#a_source|[source]]] möglich. |
==features== | ==features== | ||
Zeile 49: | Zeile 49: | ||
anchor, ilink, link, filelink, list, code, hr, | anchor, ilink, link, filelink, list, code, hr, | ||
striptags, charmap, help" | striptags, charmap, help" | ||
- | Mit diesem Parameter steuern Sie, welche Funktionen erlaubt und welche verboten sind. Sie knnen den Parameter weglassen oder ''true'' als Wert angeben, um alle Features zu aktivieren. Wenn Sie nur bestimmte Features aktivieren wollen, knnen Sie dieses kommasepariert angeben. Dabei sind folgende Besonderheiten zu beachten: | + | Mit diesem Parameter steuern Sie, welche Funktionen erlaubt und welche verboten sind. Sie können den Parameter weglassen oder ''true'' als Wert angeben, um alle Features zu aktivieren. Wenn Sie nur bestimmte Features aktivieren wollen, können Sie dieses kommasepariert angeben. Dabei sind folgende Besonderheiten zu beachten: |
- | *Wird link angegeben, ist automatisch auch ilink aktivert, da man ohne Schwierigkeiten auch als ber externen Link auf interne Seiten verweisen knnte. | + | *Wird link angegeben, ist automatisch auch ilink aktivert, da man ohne Schwierigkeiten auch als über externen Link auf interne Seiten verweisen könnte. |
- | *Damit anchor verwendet werden kann, muss link oder ilink angegeben sein. Wenn Sie nur auf Anker verlinken wollen ohne eigene erstellen zu wollen, knnen Sie einfach ''#ankername'' als Linkziel angeben. | + | *Damit anchor verwendet werden kann, muss link oder ilink angegeben sein. Wenn Sie nur auf Anker verlinken wollen ohne eigene erstellen zu wollen, können Sie einfach ''#ankername'' als Linkziel angeben. |
- | Nhere Informationen zu den einzelnen Funktionen finden Sie unter [[#a_Dokumentation_der_Codes|Dokumentation der Codes]] und [[#a_Weitere_Funktionen|Weitere Funktionen]]. Die Liste kann auch ber mehrere Zeilen verteilt sein. | + | Nähere Informationen zu den einzelnen Funktionen finden Sie unter [[#a_Dokumentation_der_Codes|Dokumentation der Codes]] und [[#a_Weitere_Funktionen|Weitere Funktionen]]. Die Liste kann auch über mehrere Zeilen verteilt sein. |
==notarget== | ==notarget== | ||
notarget = "false|true" | notarget = "false|true" | ||
- | Gibt an, dass im Link-Dialog das Target-Feld ausgeblendet werden soll. Auerdem wird in der Frontendausgabe die Ausgabe des target-Attributes unterdrckt. | + | Gibt an, dass im Link-Dialog das Target-Feld ausgeblendet werden soll. Außerdem wird in der Frontendausgabe die Ausgabe des target-Attributes unterdrückt. |
==notext== | ==notext== | ||
notext = "true|false" | notext = "true|false" | ||
- | Gibt an, dass in den Formularen zu [[#a_.5Bemail.5D|[email]]], [[#a_.5Banchor.5D|[anchor]]], [[#a_.5Blink.5D|[link]]] und [[#a_.5Bfilelink.5D|[filelink]]] eine Checkbox 'Kein Text' angezeigt wird, welche die bbCode-Erweiterung dazu veranlasst, die bbCode-Tags in der Form <nowiki>[link]http://www.google.de[/link]</nowiki> einzufgen, welche den Code sauberer hlt, jedoch keinen Linktext ermglicht. Diese Form ist identisch zu [link=http://www.google.de][/link]. Dieser Schalter hat nur Auswirkung auf die (nicht-)Anzeige der Checkbox. Die Tags werden trotzdem interpretiert. | + | Gibt an, dass in den Formularen zu [[#a_.5Bemail.5D|[email]]], [[#a_.5Banchor.5D|[anchor]]], [[#a_.5Blink.5D|[link]]] und [[#a_.5Bfilelink.5D|[filelink]]] eine Checkbox 'Kein Text' angezeigt wird, welche die bbCode-Erweiterung dazu veranlasst, die bbCode-Tags in der Form <nowiki>[link]http://www.google.de[/link]</nowiki> einzufügen, welche den Code sauberer hält, jedoch keinen Linktext ermöglicht. Diese Form ist identisch zu [link=http://www.google.de][/link]. Dieser Schalter hat nur Auswirkung auf die (nicht-)Anzeige der Checkbox. Die Tags werden trotzdem interpretiert. |
==filelinktpl== | ==filelinktpl== | ||
filelinktpl = "{file}" | filelinktpl = "{file}" | ||
- | Gibt ein Template vor, das verwendet wird, um den Linktext fr Downloadlinks zu definieren, wenn keiner explizit angegeben wurde. Damit ist z. B. das automatische Einfgen der Downloadgre nach dem Dateinamen oder (in naher Zukunft) das Einfgen eines Icons mittels [[#a_.5Bimg.5D|[img]]] mglich. Dazu stehen folgende Variablen im Template zur Verfgung: | + | Gibt ein Template vor, das verwendet wird, um den Linktext für Downloadlinks zu definieren, wenn keiner explizit angegeben wurde. Damit ist z. B. das automatische Einfügen der Downloadgröße nach dem Dateinamen oder (in naher Zukunft) das Einfügen eines Icons mittels [[#a_.5Bimg.5D|[img]]] möglich. Dazu stehen folgende Variablen im Template zur Verfügung: |
*{file} gibt den Dateinamen incl. Erwiterung an | *{file} gibt den Dateinamen incl. Erwiterung an | ||
- | *{size} gibt die Dateigre in Byte, KB oder MB an (wird je nach Dateigre umgerechnet). | + | *{size} gibt die Dateigröße in Byte, KB oder MB an (wird je nach Dateigröße umgerechnet). |
*{type} gibt die Datei-Erweiterung, also 'gif', 'jpg', 'zip' etc. an. Ideal um Icons anzuzeigen. | *{type} gibt die Datei-Erweiterung, also 'gif', 'jpg', 'zip' etc. an. Ideal um Icons anzuzeigen. | ||
Das Template kann mit folgenden Basis-Tags verwendet werden: [[#a_.5Bb.5D|[b]]], [[#a_.5Bi.5D|[i]]], [[#a_.5Bu.5D|[u]]], [[#a_.5Bs.5D|[s]]], [[#a_.5Bsub.5D|[sub]]], [[#a_.5Bsup.5D|[sup]]], [[#a_.5Bsize.5D|[size]]], [[#a_.5Bfont.5D|[font]]], [[#a_.5Bbackcol.5D|[backcol]]], [[#a_.5Bforecol.5D|[forecol]]]. | Das Template kann mit folgenden Basis-Tags verwendet werden: [[#a_.5Bb.5D|[b]]], [[#a_.5Bi.5D|[i]]], [[#a_.5Bu.5D|[u]]], [[#a_.5Bs.5D|[s]]], [[#a_.5Bsub.5D|[sub]]], [[#a_.5Bsup.5D|[sup]]], [[#a_.5Bsize.5D|[size]]], [[#a_.5Bfont.5D|[font]]], [[#a_.5Bbackcol.5D|[backcol]]], [[#a_.5Bforecol.5D|[forecol]]]. | ||
Zeile 73: | Zeile 73: | ||
filefolders = "true|[iddirectorys]" - Standard: true | filefolders = "true|[iddirectorys]" - Standard: true | ||
filesubfolders ="true|false" - Standard: true | filesubfolders ="true|false" - Standard: true | ||
- | Mit diesen beiden Parametern kann gesteuert werden, welche Ordner im [[#a_.5Bfilelink.5D|Filelink]-Dialog auftauchen. Fr ''imagefolders'' knnen sie kommasepariert eine Liste von OrdnerIDs angeben. Diese bekommt man am bequemsten ber phpMyAdmin, Tabelle &lp;prefix>_directories, Feld ''iddirectory''. Es werden dann nur Dateien aus dieser Ordner (und mit imagesubfolders auch Dateien aus deren Unterordnernern) angezeigt. Werden hier Ordner angegwbwn, die nicht auf der obersten Ebene stehen, werden diese trotzdem als solche angezeigt. So knnen dem Redateur auch tatschlich nur Ordner angezeigt werden, welche fr ihn Relevant sind. Wird der Parameter weggelassen oder mit ''true'' angegeben, werden alle Ordner angezeigt. Egal ob alle oder nur ausgewhlte Ordner angezeigt werden sollen, werden nur Ordner gezeigt fr die der Benutzer auch Rechte hat. | + | Mit diesen beiden Parametern kann gesteuert werden, welche Ordner im [[#a_.5Bfilelink.5D|Filelink]-Dialog auftauchen. Für ''imagefolders'' können sie kommasepariert eine Liste von OrdnerIDs angeben. Diese bekommt man am bequemsten über phpMyAdmin, Tabelle &lp;prefix>_directories, Feld ''iddirectory''. Es werden dann nur Dateien aus dieser Ordner (und mit imagesubfolders auch Dateien aus deren Unterordnernern) angezeigt. Werden hier Ordner angegwbwn, die nicht auf der obersten Ebene stehen, werden diese trotzdem als solche angezeigt. So können dem Redateur auch tatsächlich nur Ordner angezeigt werden, welche für ihn Relevant sind. Wird der Parameter weggelassen oder mit ''true'' angegeben, werden alle Ordner angezeigt. Egal ob alle oder nur ausgewählte Ordner angezeigt werden sollen, werden nur Ordner gezeigt für die der Benutzer auch Rechte hat. |
==filefiletypes== | ==filefiletypes== | ||
Zeile 82: | Zeile 82: | ||
sizemin = "75|$PERCENT$" | sizemin = "75|$PERCENT$" | ||
sizemax = "125|$PERCENT$" | sizemax = "125|$PERCENT$" | ||
- | Diese beiden Parameter geben die minimale bzw. Maximale Schriftgre an. Schriftgren knnen ausschlielich in Prozentangaben definiert werden. Die Auswahlbox im Bearbeitungsbereich zeigt zwar nur die Prozemtwerte zwischen diesen beiden Grenzen in fnferschritten an, jedoch knnen in den Tags auch Numerischen Werte dazwischen angegeben werden. Standardmig sind Schriftgren von 75% nis 125% erlaubt. | + | Diese beiden Parameter geben die minimale bzw. Maximale Schriftgröße an. Schriftgrößen können ausschließlich in Prozentangaben definiert werden. Die Auswahlbox im Bearbeitungsbereich zeigt zwar nur die Prozemtwerte zwischen diesen beiden Grenzen in fünferschritten an, jedoch können in den Tags auch Numerischen Werte dazwischen angegeben werden. Standardmäßig sind Schriftgrößen von 75% nis 125% erlaubt. |
==fonts== | ==fonts== | ||
fonts = "[Font #1], [Font #2], [Font #n], ..." | fonts = "[Font #1], [Font #2], [Font #n], ..." | ||
- | Mittels dieser kommaseparierten Liste knnen die Schriftarten, welche dem Redakteur zur Auswahl angeboten werden, nach belieben Fllen. Die angegeben Schriftartennamen knnen auch Leerzeichen enthalten. Andere als die hier angezeigten Schriftarten knnen nicht verwendet werden. | + | Mittels dieser kommaseparierten Liste können die Schriftarten, welche dem Redakteur zur Auswahl angeboten werden, nach belieben Füllen. Die angegeben Schriftartennamen können auch Leerzeichen enthalten. Andere als die hier angezeigten Schriftarten können nicht verwendet werden. |
==classes== | ==classes== | ||
classes = "[Class #1]=[Classname #1], [Class #2]=[Classname #2], [Class #n]=[Classname #n]" | classes = "[Class #1]=[Classname #1], [Class #2]=[Classname #2], [Class #n]=[Classname #n]" | ||
- | Diese kommaseparierte Zuordnungsliste definiert die mglichen Klassen, welche ber den [[#a_.5Bclass.5D|[class]]]-Tag eingebunden werden. Zustzlich zu den Klassennamen kann ein Anzeigename angegeben werden, welcher in der Auswahlbox angezeigt wird. | + | Diese kommaseparierte Zuordnungsliste definiert die möglichen Klassen, welche über den [[#a_.5Bclass.5D|[class]]]-Tag eingebunden werden. Zusätzlich zu den Klassennamen kann ein Anzeigename angegeben werden, welcher in der Auswahlbox angezeigt wird. |
==classescontainer== | ==classescontainer== | ||
Zeile 96: | Zeile 96: | ||
Dieser Konfigurationsparameter gibt an, in welcher Umgebung die Klassen des [[#a_.5Bclass.5D|[class]]]-Tag ausgegeben werden. | Dieser Konfigurationsparameter gibt an, in welcher Umgebung die Klassen des [[#a_.5Bclass.5D|[class]]]-Tag ausgegeben werden. | ||
''inline'' bedeutet, dass ein Inlineelement mit der Klasse belegt wird, genauergesagt ein <span>-Element. | ''inline'' bedeutet, dass ein Inlineelement mit der Klasse belegt wird, genauergesagt ein <span>-Element. | ||
- | ''block'' erzeugt ein Blocklevel-Element (<span>-Element) und weit ihm die angegeben Klasse zu. | + | ''block'' erzeugt ein Blocklevel-Element (<span>-Element) und weißt ihm die angegeben Klasse zu. |
=Beispiele= | =Beispiele= | ||
Zeile 128: | Zeile 128: | ||
=Anpassung vorhandener Module= | =Anpassung vorhandener Module= | ||
- | Es ist zwar mglich, mit nur einer bbCode-Textarea eine komplette Seite zu erstellen, jedoch halte ich das nicht fr besonders elegant. Darum ist es natrlich interessant, die bbCode-Textarea mit anderen Modulen wie z. B. [[Dokumentation_ContentFlex|ContentFlex]] oder [[Dokumentation_DeDi-Flex|DeDiFlex]] zu kombinieren. Derzeit lsst sich die bbCode-Erweiterung im ContentFlex durch einen einfachen Schalter in der Modulkonfiguration aktivieren. Zum Konfigurieren ist jedoch noch ein Sourcecode-Eingriff ntig. Im DeDiFlex ist bbCode standardmig aktiviert und kann auch nicht ohne Sourcecode-Eingriff deaktiviert werden. Auch eine Konfiguration ist aufgrund der Struktur des DeDiFlex nicht ohne weiteres mglich. '''Ich empfehle daher dazu, das ContentFlex-Modul dem DeDi-Flex vorzuziehen. | + | Es ist zwar möglich, mit nur einer bbCode-Textarea eine komplette Seite zu erstellen, jedoch halte ich das nicht für besonders elegant. Darum ist es natürlich interessant, die bbCode-Textarea mit anderen Modulen wie z. B. [[Dokumentation_ContentFlex|ContentFlex]] oder [[Dokumentation_DeDi-Flex|DeDiFlex]] zu kombinieren. Derzeit lässt sich die bbCode-Erweiterung im ContentFlex durch einen einfachen Schalter in der Modulkonfiguration aktivieren. Zum Konfigurieren ist jedoch noch ein Sourcecode-Eingriff nötig. Im DeDiFlex ist bbCode standardmäßig aktiviert und kann auch nicht ohne Sourcecode-Eingriff deaktiviert werden. Auch eine Konfiguration ist aufgrund der Struktur des DeDiFlex nicht ohne weiteres möglich. '''Ich empfehle daher dazu, das ContentFlex-Modul dem DeDi-Flex vorzuziehen. |
- | Um den bbCode im ContentFlex zu konfigurieren, suchen Sie dazu im Moduloutput nach den entsprechenden <dedi:mod />-Tags und fgen Sie die gewnschten [[#a_Anwendung_.26_Konfiguration|Konfigurationsparameter]] ein. | + | Um den bbCode im ContentFlex zu konfigurieren, suchen Sie dazu im Moduloutput nach den entsprechenden <dedi:mod />-Tags und fügen Sie die gewünschten [[#a_Anwendung_.26_Konfiguration|Konfigurationsparameter]] ein. |
- | Es ist geplant das [[#Dokumentation_Textarea|Textarea]] sowie das [[#Dokumentation_ContentFlex|ContentFlex]] so anzupassen, dass die komplette Konfiguration ber die Modulkonfiguration mglich ist. Da ich jedoch mit der Weiterentwicklung der Erweiterung selbst, eingen anderen Projekten und der Schule mehr als ausgelastet bin, '''wre ich froh wenn sich jemand um diese Module kmmern wrde'''. | + | Es ist geplant das [[#Dokumentation_Textarea|Textarea]] sowie das [[#Dokumentation_ContentFlex|ContentFlex]] so anzupassen, dass die komplette Konfiguration über die Modulkonfiguration möglich ist. Da ich jedoch mit der Weiterentwicklung der Erweiterung selbst, eingen anderen Projekten und der Schule mehr als ausgelastet bin, '''wäre ich froh wenn sich jemand um diese Module kümmern würde'''. |
- | Die bbCode-Erweiterung untersttzt auch mehrere bbCode-Textareas in einer Typegroup. | + | Die bbCode-Erweiterung unterstützt auch mehrere bbCode-Textareas in einer Typegroup. |
=Notation der bbCode-Tags= | =Notation der bbCode-Tags= | ||
- | Die bbCode-Erweiterung 2 kennt mehrere Mglichkeiten bbCodes zu definieren. Folgende Mglichkeiten stehen zur Auswahl: | + | Die bbCode-Erweiterung 2 kennt mehrere Möglichkeiten bbCodes zu definieren. Folgende Möglichkeiten stehen zur Auswahl: |
[tag]text[/tag] | [tag]text[/tag] | ||
Zeile 141: | Zeile 141: | ||
Ein Tag mit nur einem Parameter (dem Standardparameter). Dieser Parameter darf keine Leerzeichen beinhalten. | Ein Tag mit nur einem Parameter (dem Standardparameter). Dieser Parameter darf keine Leerzeichen beinhalten. | ||
[tag=value]text[/tag] | [tag=value]text[/tag] | ||
- | Identisch zu oberer Notation. Ohne Anfhrungszeichen darf der Wert dieses Paramerers kein Leerzeichen enthalten. | + | Identisch zu oberer Notation. Ohne Anführungszeichen darf der Wert dieses Paramerers kein Leerzeichen enthalten. |
[tag="value value"]text[/tag] | [tag="value value"]text[/tag] | ||
- | Wie oben, nur diesmal mit Anfhrungszeichen. Hier sind auch Leerzeichen kein Problem. Anfhrungszeichen mssen mit \" escaped werden. | + | Wie oben, nur diesmal mit Anführungszeichen. Hier sind auch Leerzeichen kein Problem. Anführungszeichen müssen mit \" escaped werden. |
[tag='value value']text[/tag] | [tag='value value']text[/tag] | ||
- | Wie oben, nur diesmal mit einfachen Anfhrungszeichen. | + | Wie oben, nur diesmal mit einfachen Anführungszeichen. |
- | [tag par1=value1 par2=value2]text[/tag] - Ein Tag mit benannten Parametern. Auf diese Art knnen auch mehrere Parameter bergeben werden. Selbstverstndlich knnen auch hier beide Arten von Anfhrungszeichen gesetzt werden, um Leerzeichen in Parameterwerten zu ermglichen. | + | [tag par1=value1 par2=value2]text[/tag] - Ein Tag mit benannten Parametern. Auf diese Art können auch mehrere Parameter übergeben werden. Selbstverständlich können auch hier beide Arten von Anführungszeichen gesetzt werden, um Leerzeichen in Parameterwerten zu ermöglichen. |
=Dokumentation der Codes= | =Dokumentation der Codes= | ||
- | Der mit (Standard) markierte Parameter ist der Standardparameter, welcher auch ohne Parametername direkt mit einem Gleichzeichen an den Tag angehngt werden kann (s. [[#a_Notation_der_bbCode-Tags|Notation der bbCode-Tags]]). | + | Der mit (Standard) markierte Parameter ist der Standardparameter, welcher auch ohne Parametername direkt mit einem Gleichzeichen an den Tag angehängt werden kann (s. [[#a_Notation_der_bbCode-Tags|Notation der bbCode-Tags]]). |
- | Die Tags [[#a_.5Bemail.5D|[email]]], [[#a_.5Banchor.5D|[anchor]]], [[#a_.5Blink.5D|[linl]]] und [[#a_.5Bfilelink.5D|[filelink]]] untersttzen noch eine besondere Notation, bei der der Standardparameter zwischen die beiden Tags gesetzt wird. Nheres dazu in den Beschreibungen der Tags. | + | Die Tags [[#a_.5Bemail.5D|[email]]], [[#a_.5Banchor.5D|[anchor]]], [[#a_.5Blink.5D|[linl]]] und [[#a_.5Bfilelink.5D|[filelink]]] unterstützen noch eine besondere Notation, bei der der Standardparameter zwischen die beiden Tags gesetzt wird. Näheres dazu in den Beschreibungen der Tags. |
- | Nahezu alle Konfigurationsmglichkeiten, die hier aufgelistet sind, knnen auch ber die Formularfelder der bbCode-Eingabe eingestellt werden. | + | Nahezu alle Konfigurationsmöglichkeiten, die hier aufgelistet sind, können auch über die Formularfelder der bbCode-Eingabe eingestellt werden. |
- | Wenn das help-Feature gesetzt ist, kann diese Hilfe ber einen Hilfebutten vom Redakteur aufgerufen werden. | + | Wenn das help-Feature gesetzt ist, kann diese Hilfe über einen Hilfebutten vom Redakteur aufgerufen werden. |
==[b]== | ==[b]== | ||
Zeile 160: | Zeile 160: | ||
==[i]== | ==[i]== | ||
- | Formatiert den enthaltenen Text kursiv (schrg). | + | Formatiert den enthaltenen Text kursiv (schräg). |
==[u]== | ==[u]== | ||
- | Formatiert den enthaltenen Text unterstrichen. Sparsam verwenden da die Darstellung u.U. mit der Standarddarstellung von Links verwechslt werden knnte. | + | Formatiert den enthaltenen Text unterstrichen. Sparsam verwenden da die Darstellung u.U. mit der Standarddarstellung von Links verwechslt werden könnte. |
==[s]== | ==[s]== | ||
- | Formatiert den enthaltenen Text durchgestrichen. Ideal um gelschte oder berarbeitete Textteile als solche deutlich zu machen, ohne sie ganz lschen zu mssen. | + | Formatiert den enthaltenen Text durchgestrichen. Ideal um gelöschte oder überarbeitete Textteile als solche deutlich zu machen, ohne sie ganz löschen zu müssen. |
==[size]== | ==[size]== | ||
Parameter: | Parameter: | ||
- | *percent (Standard)</i> - Gibt die Gre des Textes relativ zur ursprnglichen Textgre in Prozent an. | + | *percent (Standard)</i> - Gibt die Größe des Textes relativ zur ursprünglichen Textgröße in Prozent an. |
- | Stellt Text in einer bestimmten Schriftgre dar. | + | Stellt Text in einer bestimmten Schriftgröße dar. |
==[font]== | ==[font]== | ||
Parameter: | Parameter: | ||
*family (Standard) - Gibt den Namen der Schriftart an, welche dem aktuellen Text zugewiesen werden soll. | *family (Standard) - Gibt den Namen der Schriftart an, welche dem aktuellen Text zugewiesen werden soll. | ||
- | Stellt den enthaltenen Text in einer anderen Schriftart dar. Die mglichen Schriftarten sind vom Administrator vorgegeben. | + | Stellt den enthaltenen Text in einer anderen Schriftart dar. Die möglichen Schriftarten sind vom Administrator vorgegeben. |
==[class]== | ==[class]== | ||
Parameter: | Parameter: | ||
- | *class (Standard) - Gibt eine Klasse fr den enthaltenen Text an. | + | *class (Standard) - Gibt eine Klasse für den enthaltenen Text an. |
- | Stellt den enthaltenen Text mit einer anderen Klasse dar. Mit Klassen knnen verschiedene besondere Stile fr Texte mglich. Die genaue bedeutung der einzelnen Klassen sprechen sie bitte direkt mit dem Administrator ab. Diese Klassen werden vom Administrator vorgegeben. | + | Stellt den enthaltenen Text mit einer anderen Klasse dar. Mit Klassen können verschiedene besondere Stile för Texte möglich. Die genaue bedeutung der einzelnen Klassen sprechen sie bitte direkt mit dem Administrator ab. Diese Klassen werden vom Administrator vorgegeben. |
==[sub] & [sup]== | ==[sub] & [sup]== | ||
- | Stellt den enthaltenen Text mit Tief- (sub = unter) bzw. Hochgestellt (sup = super = ber) dar. Sparsam verwednen! | + | Stellt den enthaltenen Text mit Tief- (sub = unter) bzw. Hochgestellt (sup = super = über) dar. Sparsam verwednen! |
==[forecol] & [backcol]== | ==[forecol] & [backcol]== | ||
Parameter: | Parameter: | ||
- | * color (Standard) - Gibt eine Farbreferenz im Hex-Format (#RRGGBB) an oder eine benannte Farbe (black, red, green, blue, ...). Fr mehr Informationen siehe hier: [http://de.selfhtml.org/html/allgemein/farben.htm SelfHTML: Farben definieren in HTML]. | + | * color (Standard) - Gibt eine Farbreferenz im Hex-Format (#RRGGBB) an oder eine benannte Farbe (black, red, green, blue, ...). Für mehr Informationen siehe hier: [http://de.selfhtml.org/html/allgemein/farben.htm SelfHTML: Farben definieren in HTML]. |
Stellt den enthaltenen Text mit einer anderen Vorder- bzw. Hintergrundfarbe dar. | Stellt den enthaltenen Text mit einer anderen Vorder- bzw. Hintergrundfarbe dar. | ||
Zeile 196: | Zeile 196: | ||
*adress (Standard) - Gibt eine eMail-Adresse an. | *adress (Standard) - Gibt eine eMail-Adresse an. | ||
*name - Gibt einen optionalen Namen an. | *name - Gibt einen optionalen Namen an. | ||
- | *subject - Gibt einen optionalen Betreff an, welcher als Voreinstellung an das Mailprogramm bergeben wird. | + | *subject - Gibt einen optionalen Betreff an, welcher als Voreinstellung an das Mailprogramm übergeben wird. |
- | Macht aus dem enthaltenen Text einen eMail-Link. ber den adress-Parameter kann eine beliebige Mailadresse angegeben werden. Der name-Parameter bietet zustzlich die Mglichkeit, einen Namen mit dieser Adresse zu verknpfen. Mithilfe des subject-Parameters kann sogar ein Betreff vorgegeben werden. | + | Macht aus dem enthaltenen Text einen eMail-Link. über den adress-Parameter kann eine beliebige Mailadresse angegeben werden. Der name-Parameter bietet zusätzlich die Möglichkeit, einen Namen mit dieser Adresse zu verknüpfen. Mithilfe des subject-Parameters kann sogar ein Betreff vorgegeben werden. |
==[anchor]== | ==[anchor]== | ||
Parameter: | Parameter: | ||
- | *id (Standard) - Gibt eine eindeutige ID fr den Anker an. | + | *id (Standard) - Gibt eine eindeutige ID für den Anker an. |
- | Markiert den enthaltenen Text als einen Verweisanker. Dies ndert an der Darstellung des Textes nichts, erlaubt jedoch diesen Anker mithilfe des [link]-Tags anzuspringen. Dies bedeutet, dass beim anklicken des Verweises zu der durch den Anker markierten Stelle im Dokument zu springen. | + | Markiert den enthaltenen Text als einen Verweisanker. Dies ändert an der Darstellung des Textes nichts, erlaubt jedoch diesen Anker mithilfe des [link]-Tags anzuspringen. Dies bedeutet, dass beim anklicken des Verweises zu der durch den Anker markierten Stelle im Dokument zu springen. |
Wird der Tag ohne id-Parameter aufgerufen, wird der Inhalt des Tags als Ankernamen angenommen und der Anker selbst nicht angezeigt: [anchor]i_am_an_id[/anchor] | Wird der Tag ohne id-Parameter aufgerufen, wird der Inhalt des Tags als Ankernamen angenommen und der Anker selbst nicht angezeigt: [anchor]i_am_an_id[/anchor] | ||
Zeile 208: | Zeile 208: | ||
Parameter: | Parameter: | ||
*dest (Standard) - Gibt das Ziel des Verweises an. Erlaubt sind URLs, SeitenIDs und Anker. | *dest (Standard) - Gibt das Ziel des Verweises an. Erlaubt sind URLs, SeitenIDs und Anker. | ||
- | *target - Gibt an, in welchem Fenster sich das Linkziel ffnen soll. Bei ankerverweisen nicht erlaubt. | + | *target - Gibt an, in welchem Fenster sich das Linkziel öffnen soll. Bei ankerverweisen nicht erlaubt. |
- | Der link-Tag ist ein sehr mchtiges Instrument um Verweise zu anderen Seiten zu definieren. Wenn kein Text zwischen den Tags angegeben wird, wird das Verweisziel (bei SeitenIDs der Seitenname) als Linktext eingesetzt. | + | Der link-Tag ist ein sehr mächtiges Instrument um Verweise zu anderen Seiten zu definieren. Wenn kein Text zwischen den Tags angegeben wird, wird das Verweisziel (bei SeitenIDs der Seitenname) als Linktext eingesetzt. |
- | Um zu externen Seiten zu verweisen, gengt es deren Adresse ("http://" beachten!) als dest anzugeben. Alerdings kann der Administrator externe Links sperren. In diesem Fall werden nur SeitenIDs und Anker angenommen. Optional kann mit target angegeben werden, in welchem Fenster sich das Ziel ffnet: | + | Um zu externen Seiten zu verweisen, genügt es deren Adresse ("http://" beachten!) als dest anzugeben. Alerdings kann der Administrator externe Links sperren. In diesem Fall werden nur SeitenIDs und Anker angenommen. Optional kann mit target angegeben werden, in welchem Fenster sich das Ziel öffnet: |
* _self - Im eigenen Fenster (voreinstellung) | * _self - Im eigenen Fenster (voreinstellung) | ||
- | * _blank - In einem neuen, eigenstndigen Fenster | + | * _blank - In einem neuen, eigenständigen Fenster |
- | * _parent - Besteht die Seite aus mehreren Frames, ffnet sich der Link im bergeordneten Frame | + | * _parent - Besteht die Seite aus mehreren Frames, öffnet sich der Link im übergeordneten Frame |
- | * _top - Ebenfalls bei Frames: der verweis sprengt das Frameset und ffnet eine komplett neue Seite (im aktuellen Fenster) | + | * _top - Ebenfalls bei Frames: der verweis sprengt das Frameset und öffnet eine komplett neue Seite (im aktuellen Fenster) |
- | * [anderes] - Ein anderer Name wirkt wie _blank, mit dem Unterschied dass sich ein weiterer Link, dem das selbe target zugeteilt wurde, in dem selben Fenster ffnet und die vorher geffnete Seite berschreibt. | + | * [anderes] - Ein anderer Name wirkt wie _blank, mit dem Unterschied dass sich ein weiterer Link, dem das selbe target zugeteilt wurde, in dem selben Fenster öffnet und die vorher geöffnete Seite überschreibt. |
- | Um einen Verweis zu DeDi-Internen Seiten zu erstellen, gengt es die SeitenID als dest einzutragen. Die SeitenID kann man ermitteln, in dem man in der Seitenliste mit der maus ber das Symbol der Seite fhrt. Auch hierbei kann ein target nach der selben Methode wie oben angegeben werden. | + | Um einen Verweis zu DeDi-Internen Seiten zu erstellen, genügt es die SeitenID als dest einzutragen. Die SeitenID kann man ermitteln, in dem man in der Seitenliste mit der maus über das Symbol der Seite führt. Auch hierbei kann ein target nach der selben Methode wie oben angegeben werden. |
Um Ankerverweise zu definieren, geben sie als dest ein Gattersymbol (#) gefolgt von der AnkerID an. | Um Ankerverweise zu definieren, geben sie als dest ein Gattersymbol (#) gefolgt von der AnkerID an. | ||
- | Auch dieser Tag lsst dich ohne dest-Parameter aufrufen, dann wird der Inhalt des Tags als Verweisziel angenommen. Ist der Inhalt ein SeitenID wird als Linktext der Seitenname verwendet, bei Anchor- oder externen Links wird das Ziel ohne umwandlung als Linktext genommen. | + | Auch dieser Tag lässt dich ohne dest-Parameter aufrufen, dann wird der Inhalt des Tags als Verweisziel angenommen. Ist der Inhalt ein SeitenID wird als Linktext der Seitenname verwendet, bei Anchor- oder externen Links wird das Ziel ohne umwandlung als Linktext genommen. |
==[filelink]== | ==[filelink]== | ||
Parameter: | Parameter: | ||
*id (Standard) - Gibt die DatenbankID der Datei an. | *id (Standard) - Gibt die DatenbankID der Datei an. | ||
- | Markiert den enthaltenen Text als einen Downloadverweis zu einer Datei im Dateimanager. Als ID muss eine gltige Datenbank-ID angegeben werden. Leider ist mir keine Mglichkeit bekannt nur mit DeDi an diese ID zu kommen. Der einfachste Weg diese ID einzufgen, ist ber den das "Dateilink einfgen"-Dialog in der Bearbeitunsansicht. | + | Markiert den enthaltenen Text als einen Downloadverweis zu einer Datei im Dateimanager. Als ID muss eine gültige Datenbank-ID angegeben werden. Leider ist mir keine Möglichkeit bekannt nur mit DeDi an diese ID zu kommen. Der einfachste Weg diese ID einzufügen, ist über den das "Dateilink einfügen"-Dialog in der Bearbeitunsansicht. |
Wird dieser Tag ohne id-Parameter oder ohne Text zwischen den Tags definiert, wird der Dateiname (zusammen mit vom Administrator vorgegebenen anderen Texten) als Downloadlink verwendet. | Wird dieser Tag ohne id-Parameter oder ohne Text zwischen den Tags definiert, wird der Dateiname (zusammen mit vom Administrator vorgegebenen anderen Texten) als Downloadlink verwendet. | ||
Zeile 229: | Zeile 229: | ||
Parameter: | Parameter: | ||
*style (Standard) - Kann entweder "numbered" oder einfach leer sein. | *style (Standard) - Kann entweder "numbered" oder einfach leer sein. | ||
- | Erzeugt eine normale oder eine numerierte Liste (wird mithilfe des style-Parameters festgelegt). Innterhalb des list-Tags knnen mithilfe von [*] einzelne Listenelemente festgelegt werden. | + | Erzeugt eine normale oder eine numerierte Liste (wird mithilfe des style-Parameters festgelegt). Innterhalb des list-Tags können mithilfe von [*] einzelne Listenelemente festgelegt werden. |
[list] | [list] | ||
[*]Element 1 | [*]Element 1 | ||
Zeile 239: | Zeile 239: | ||
==[code]== | ==[code]== | ||
- | Der enthaltene Text wird als Code dargestellt, d.H. dickengleich Vorformatiert. Auerdem werden andere bbCode-Angaben innerhalb des Codebereiches nicht interpretiert. | + | Der enthaltene Text wird als Code dargestellt, d.H. dickengleich Vorformatiert. Außerdem werden andere bbCode-Angaben innerhalb des Codebereiches nicht interpretiert. |
==[hr]== | ==[hr]== | ||
- | Fgt eine horizontale Linie ein. | + | Fügt eine horizontale Linie ein. |
=Weitere Funktionen= | =Weitere Funktionen= | ||
==Strip-Tags== | ==Strip-Tags== | ||
- | Die Strip-Tags-Funktion soll es erleichtern, einen bereits formatierten Text wieder von bbCode-Formatierungen zu befreien. Dazu werden nach einer Sicherheitsabfrage innerhalb des markierten Textes alle bbCodes entfernt. Es werden jedoch nur bekannte Codes entfernt, sodass nicht zufllig anderer Text in Eckigen klammern verlorengeht, Sollten sie dennoch ein fehlerhaftes Verhalten feststellen, schreiben bitte einen Beitrag im aktuellen Diskussionsthread. Den Link dorthin finden sie am Ende der [[#a_Einleitung|Einleitung]]. | + | Die Strip-Tags-Funktion soll es erleichtern, einen bereits formatierten Text wieder von bbCode-Formatierungen zu befreien. Dazu werden nach einer Sicherheitsabfrage innerhalb des markierten Textes alle bbCodes entfernt. Es werden jedoch nur bekannte Codes entfernt, sodass nicht zufällig anderer Text in Eckigen klammern verlorengeht, Sollten sie dennoch ein fehlerhaftes Verhalten feststellen, schreiben bitte einen Beitrag im aktuellen Diskussionsthread. Den Link dorthin finden sie am Ende der [[#a_Einleitung|Einleitung]]. |
==Charmap== | ==Charmap== | ||
- | Die Zeichentabelle soll dem Benutzer ermglichen, bequem Sonderzeichen einzufgen. Die Zeichen werden derzeit '''nicht als Entitten sondern als normale Zeichencodes''' in den Quelltext eingefgt, da dies in den von mir getesteten Browsern fehlerfrei funktionierte und mir irgendwie eleganter erschien. Allerdings musste ich nun feststellen, dass einige Symbole in aus der Zeichentabelle nicht XHTML-Valid sind. Ich werde demnchst eine Funktion einbauen, die diese Zeichen in ihre Entitten zurckverwandelt. Sollten sie noch andere Probleme feststellen, knnen sie mich gerne Kontaktieren. | + | Die Zeichentabelle soll dem Benutzer ermöglichen, bequem Sonderzeichen einzufügen. Die Zeichen werden derzeit '''nicht als Entitäten sondern als normale Zeichencodes''' in den Quelltext eingefügt, da dies in den von mir getesteten Browsern fehlerfrei funktionierte und mir irgendwie eleganter erschien. Allerdings musste ich nun feststellen, dass einige Symbole in aus der Zeichentabelle nicht XHTML-Valid sind. Ich werde demnächst eine Funktion einbauen, die diese Zeichen in ihre Entitäten zurückverwandelt. Sollten sie noch andere Probleme feststellen, können sie mich gerne Kontaktieren. |
==Help== | ==Help== | ||
- | Die Hilfe gibt dem Redakteur einen berblick ber die vorhandenen Codes, ihre Parameter und deren Verwendung, sowie eine Liste der von Administrator werlaubten Tags. | + | Die Hilfe gibt dem Redakteur einen Überblick über die vorhandenen Codes, ihre Parameter und deren Verwendung, sowie eine Liste der von Administrator werlaubten Tags. |
=Geplante Erweiterungen= | =Geplante Erweiterungen= | ||
==[img]== | ==[img]== | ||
- | Es soll mittels dieses Tags mglich sein, Bilder aus dem Dateimanaer oder von externen Quellen einzubeinden sowie deren Gre- und Alttag zu bestimmen. | + | Es soll mittels dieses Tags möglich sein, Bilder aus dem Dateimanaer oder von externen Quellen einzubeinden sowie deren Größe- und Alttag zu bestimmen. |
==[abbr] & [acronym]== | ==[abbr] & [acronym]== | ||
- | Tags fr Abkrzungen und Kurzwrter, die jeweils mit einem Title-Attribut ausgestattet werden knnen. | + | Tags für Abkürzungen und Kurzwörter, die jeweils mit einem Title-Attribut ausgestattet werden können. |
==[code=php]== | ==[code=php]== | ||
- | Es soll mglich sein, PHP & HTML-Sources Formatiert darzustellen. Dazu wird eine [http://de3.php.net/highlight-string#48742 leicht vernderte highlight_string-Funktion] zum einsatz kommen. | + | Es soll möglich sein, PHP & HTML-Sources Formatiert darzustellen. Dazu wird eine [http://de3.php.net/highlight-string#48742 leicht veränderte highlight_string-Funktion] zum einsatz kommen. |
==[php]== | ==[php]== | ||
- | Innerhalb dieses Tags wird es mglich sein PHP-Code direkt auszufhren und damit auch auf DeDi-Variabeln u.. zuzugreifen | + | Innerhalb dieses Tags wird es möglich sein PHP-Code direkt auszuführen und damit auch auf DeDi-Variabeln u.U. zuzugreifen |
- | =Browserkompatibilitt= | + | =Browserkompatibilität= |
- | <!-- Es wre schn wenn auch span als Tag erlaubt wre... --> | + | <!-- Es wäre schön wenn auch span als Tag erlaubt wäre... --> |
*Firefox 1.0.4 / WinXP Prof [SP2]: <div style="color: green; display: inline;">OK</div> | *Firefox 1.0.4 / WinXP Prof [SP2]: <div style="color: green; display: inline;">OK</div> | ||
*IE 6.0 / WinXP Prof [SP2]: <div style="color: green; display: inline;">OK</div> | *IE 6.0 / WinXP Prof [SP2]: <div style="color: green; display: inline;">OK</div> | ||
Zeile 274: | Zeile 274: | ||
=Weitere Informationen= | =Weitere Informationen= | ||
- | *Zugrundeliegende bbCode-Klasse: [http://christian-seiler.de/projekte/php/bbcode/ BBCode-Parserklasse fr PHP] | + | *Zugrundeliegende bbCode-Klasse: [http://christian-seiler.de/projekte/php/bbcode/ BBCode-Parserklasse für PHP] |
- | *Zugrundeliegender JS-Code zum einfgen der bbCodes in die Textarea: [http://aktuell.de.selfhtml.org/tippstricks/javascript/bbcode/ SelfHTML: Text an Cursorposition einfgen] | + | *Zugrundeliegender JS-Code zum einfügen der bbCodes in die Textarea: [http://aktuell.de.selfhtml.org/tippstricks/javascript/bbcode/ SelfHTML: Text an Cursorposition einfügen] |
- | *Die fnc.type.php basiert auf der im [http://forum.der-dirigent.de/index.php?act=ST&f=30&t=4212&hl=fix#entry35798 ContentFlex-Fix] ausgelieferten Datei, ist also aktuell. Da der Fix auch die fnc.type_common.php ndert, habe ich die ins Packet mit aufgenommen, um keinen "halben Fix" auszuliefern, jedoch habe ich seit dem Fix an dieser Datei nichts verndert. | + | *Die fnc.type.php basiert auf der im [http://forum.der-dirigent.de/index.php?act=ST&f=30&t=4212&hl=fix#entry35798 ContentFlex-Fix] ausgelieferten Datei, ist also aktuell. Da der Fix auch die fnc.type_common.php ändert, habe ich die ins Packet mit aufgenommen, um keinen "halben Fix" auszuliefern, jedoch habe ich seit dem Fix an dieser Datei nichts verändert. |
[[Category:Moduldokumentationen|B]] | [[Category:Moduldokumentationen|B]] |
Aktuelle Version
Inhaltsverzeichnis |
[bearbeiten] Einleitung
bbCode ist eine Methode, Texte auch ohne HTML-Kenntnisse zu formatieren. Dabei wird eine begrenzter Satz an HTML-ähnliche Formatierungselementen angeboten, welche über einfache Parameter gesteuert werden können. Zusammen mit dem ContentFlex- oder DeDiFlex-Modul bietet die bbCode-Erweiterung eine Alternative zum häufig verwendeten WYSIWYG-Editor. Es gab bereits eine bbCode-Erweiterung für DeDi, diese hatte jedoch einige entscheidende Nachteile gegenüber dem WYSIWYG. Vor allem fehlten Formulare zum einfachen Erstellen von links - man musste jedemal die SeitenID manuell eingeben. Darum gibt es nun eine komplett neue bbCode-Erweiterung, welche diese Nachteile auszugleichen versucht. Wenn Sie mit mir Kontakt aufnehmen wollen, können Sie mich per PM oder per Mail benachrichtigen oder mir ein Feedback geben. Für Bugs und allgemeinere Fragen posten Sie bitte im Diskussionsthread: http://forum.der-dirigent.de/index.php?act=ST&f=30&t=4605
[bearbeiten] Download & Installation
Downloaden kann man die aktuelle Version (v0.4dev) der bbCode-Erweiterung hier: http://forum.der-dirigent.de/index.php?act=Attach&type=post&id=40062 Um die Erweiterung zu installieren, entpacken Sie einfach das komplette Archiv und kopieren Sie den Ordner backend per FTP in den Ordner der DeDi-Installation. Vorhandene Dateien müssen überschrieben werden.
[bearbeiten] Anwendung & Konfiguration
Die bbCode-Erweiterung ist ein Core-Hack - Sie erweitert die Funktionen des textarea-dedi:mod-Tags um die Möglichkeit, mittels bbCode formatiert zu werden. Angewendet werden kann diese Technik daher in jedem Modul, das eine Textarea einsetzt. Um eine Textarea mit bbCode-Funktionalität auszustatten, muss im dedi:mod-Tag der Parameter transform auf bbcode gesetzt sein. Dies ist eine funktionsfähige bbCode-Textarea:
<dedi:mod type = "textarea" id = "3" transform = "bbcode" />
Mit dieser Konfiguration verwendet die bbCode-Erweiterung Standardeinstellungen. Allerdings lassen sich diese beliebig verändern. Alle Konfigurationen werden über Parameter im dedi:mod-Tag festgelegt. Folgende Parameter sind möglich:
[bearbeiten] nl2br
nl2br = "true|false" - Standard: true
Wenn dieser Parameter auf true gesetzt ist, werden alle Zeilenumbrüche innerhalb der Textarea zu <br /> konvertiert und damit auch im HTML-Output als Zeilenumbrüche dargestellt. Eine semantisch korrektere Alternative dazu stellt die Absatzbehandlung dar.
[bearbeiten] handleparagraphs
handleparagraphs = "true|false" - Standard: false
(De-)Aktiviert die Absatzbehandlung. Ist die Absatzbehandlung aktiviert wird nl2br deaktiviert, da sich diese beiden Optionen gegenseitig ausschließen. Bei aktivierter Absatzbehandlung werden Textteile, welche als eigenständiger Absatz erkannt werden, automatisch mit <p></p> umschlossen. Zu einem Absatz zusammengefasst werden Zeilen, wenn sie nur einen Zeilenumbruch enthalten. Ist eine Leerzeile zwischen zwei Zeilen, werden diese in getrennte Absätze gepackt.
Dies ist ein Absatz der immer noch weiter geht Hier beginnt dann ein neuer
Dies würde zu folgendem HTML-Code:
<p>Dies ist ein Absatz der immer noch weiter geht</p> <p>Hier beginnt dann ein neuer</p>
[bearbeiten] htmltags
htmltags = "convert|allow|strip" - Standard: convert
Gibt an, wie mit HTML-Tags verfahren werden soll, die innerhalb der Textarea eingegeben wurden.
- convert: HTML-und PHP-Tags werden in darstellbaren HTML-Code umgewandelt. Näheres dazu unter PHP-Manual: htmlspecialchars().
- stript: HTML- und PHP-Tags werden, wenn möglich, aus dem eingegebenen Code entfernt. Mehr Informationen unter PHP-Manual: strip_tags().
- allow: HTML-Tags werden erlaubt, sodass Sie den Text sowohl mit HTML-Tags als auch mit bbCode gestallten können. PHP-Code wird jedoch weiterhin umgewandelt. Die Ausführung von PHP-Code ist nur innerhalb von [source] möglich.
[bearbeiten] features
features = "true|bold, italic, underline, strike, sub, sup, size, font, class, backcol, forecol, email, anchor, ilink, link, filelink, list, code, hr, striptags, charmap, help"
Mit diesem Parameter steuern Sie, welche Funktionen erlaubt und welche verboten sind. Sie können den Parameter weglassen oder true als Wert angeben, um alle Features zu aktivieren. Wenn Sie nur bestimmte Features aktivieren wollen, können Sie dieses kommasepariert angeben. Dabei sind folgende Besonderheiten zu beachten:
- Wird link angegeben, ist automatisch auch ilink aktivert, da man ohne Schwierigkeiten auch als über externen Link auf interne Seiten verweisen könnte.
- Damit anchor verwendet werden kann, muss link oder ilink angegeben sein. Wenn Sie nur auf Anker verlinken wollen ohne eigene erstellen zu wollen, können Sie einfach #ankername als Linkziel angeben.
Nähere Informationen zu den einzelnen Funktionen finden Sie unter Dokumentation der Codes und Weitere Funktionen. Die Liste kann auch über mehrere Zeilen verteilt sein.
[bearbeiten] notarget
notarget = "false|true"
Gibt an, dass im Link-Dialog das Target-Feld ausgeblendet werden soll. Außerdem wird in der Frontendausgabe die Ausgabe des target-Attributes unterdrückt.
[bearbeiten] notext
notext = "true|false"
Gibt an, dass in den Formularen zu [email], [anchor], [link] und [filelink] eine Checkbox 'Kein Text' angezeigt wird, welche die bbCode-Erweiterung dazu veranlasst, die bbCode-Tags in der Form [link]http://www.google.de[/link] einzufügen, welche den Code sauberer hält, jedoch keinen Linktext ermöglicht. Diese Form ist identisch zu [link=http://www.google.de][/link]. Dieser Schalter hat nur Auswirkung auf die (nicht-)Anzeige der Checkbox. Die Tags werden trotzdem interpretiert.
[bearbeiten] filelinktpl
filelinktpl = "{file}"
Gibt ein Template vor, das verwendet wird, um den Linktext für Downloadlinks zu definieren, wenn keiner explizit angegeben wurde. Damit ist z. B. das automatische Einfügen der Downloadgröße nach dem Dateinamen oder (in naher Zukunft) das Einfügen eines Icons mittels [img] möglich. Dazu stehen folgende Variablen im Template zur Verfügung:
- {file} gibt den Dateinamen incl. Erwiterung an
- {size} gibt die Dateigröße in Byte, KB oder MB an (wird je nach Dateigröße umgerechnet).
- {type} gibt die Datei-Erweiterung, also 'gif', 'jpg', 'zip' etc. an. Ideal um Icons anzuzeigen.
Das Template kann mit folgenden Basis-Tags verwendet werden: [b], [i], [u], [s], [sub], [sup], [size], [font], [backcol], [forecol].
[bearbeiten] filefolders & filesubfolders
filefolders = "true|[iddirectorys]" - Standard: true filesubfolders ="true|false" - Standard: true
Mit diesen beiden Parametern kann gesteuert werden, welche Ordner im [[#a_.5Bfilelink.5D|Filelink]-Dialog auftauchen. Für imagefolders können sie kommasepariert eine Liste von OrdnerIDs angeben. Diese bekommt man am bequemsten über phpMyAdmin, Tabelle &lp;prefix>_directories, Feld iddirectory. Es werden dann nur Dateien aus dieser Ordner (und mit imagesubfolders auch Dateien aus deren Unterordnernern) angezeigt. Werden hier Ordner angegwbwn, die nicht auf der obersten Ebene stehen, werden diese trotzdem als solche angezeigt. So können dem Redateur auch tatsächlich nur Ordner angezeigt werden, welche für ihn Relevant sind. Wird der Parameter weggelassen oder mit true angegeben, werden alle Ordner angezeigt. Egal ob alle oder nur ausgewählte Ordner angezeigt werden sollen, werden nur Ordner gezeigt für die der Benutzer auch Rechte hat.
[bearbeiten] filefiletypes
filefiletypes = "true|[filetypes]"
Hier kann eine Liste an Dateierweiterungen angegeben werden, welche im [[#a_.5Bfilelink.5D|Filelink]-Dialog angezeigt werden sollen. Falls der Parameters fehlt oder mit true angegeben wurde, werden alle vorhandene Dateien angezeigt, sofern der Benutzer die entsprechendn Rechte hat.
[bearbeiten] sizemin & sizemax
sizemin = "75|$PERCENT$" sizemax = "125|$PERCENT$"
Diese beiden Parameter geben die minimale bzw. Maximale Schriftgröße an. Schriftgrößen können ausschließlich in Prozentangaben definiert werden. Die Auswahlbox im Bearbeitungsbereich zeigt zwar nur die Prozemtwerte zwischen diesen beiden Grenzen in fünferschritten an, jedoch können in den Tags auch Numerischen Werte dazwischen angegeben werden. Standardmäßig sind Schriftgrößen von 75% nis 125% erlaubt.
[bearbeiten] fonts
fonts = "[Font #1], [Font #2], [Font #n], ..."
Mittels dieser kommaseparierten Liste können die Schriftarten, welche dem Redakteur zur Auswahl angeboten werden, nach belieben Füllen. Die angegeben Schriftartennamen können auch Leerzeichen enthalten. Andere als die hier angezeigten Schriftarten können nicht verwendet werden.
[bearbeiten] classes
classes = "[Class #1]=[Classname #1], [Class #2]=[Classname #2], [Class #n]=[Classname #n]"
Diese kommaseparierte Zuordnungsliste definiert die möglichen Klassen, welche über den [class]-Tag eingebunden werden. Zusätzlich zu den Klassennamen kann ein Anzeigename angegeben werden, welcher in der Auswahlbox angezeigt wird.
[bearbeiten] classescontainer
classescontainer = "inline|block"
Dieser Konfigurationsparameter gibt an, in welcher Umgebung die Klassen des [class]-Tag ausgegeben werden. inline bedeutet, dass ein Inlineelement mit der Klasse belegt wird, genauergesagt ein <span>-Element. block erzeugt ein Blocklevel-Element (<span>-Element) und weißt ihm die angegeben Klasse zu.
[bearbeiten] Beispiele
Typische bbCode-Textarea ohne Absatzbehandlung
<dedi:mod type="textarea" transform="bbcode" id = "1" title = "Typisch" nl2br = "true" notext = "true" filelinktpl = "Download: [b]{file}[/b] [[i]{size}[/i]]" filefolders = "3, 9" filesubfolders ="true" filefiletypes = "gif" sizemin = "75" sizemax = "225" fonts = "Arial,Microsoft Sans Serif,Comic Sans MS,Times New Roman" classes = "waring=Warnung, adress=Adresse" >
Miminale bbCode-Textarea mit Absatzbehandlung
<dedi:mod type = "textarea" transform = "bbcode" id = "2" features = "bold, italic, underline" title = "Absatzbehandlung" handleparagraphs = "true" />
[bearbeiten] Anpassung vorhandener Module
Es ist zwar möglich, mit nur einer bbCode-Textarea eine komplette Seite zu erstellen, jedoch halte ich das nicht für besonders elegant. Darum ist es natürlich interessant, die bbCode-Textarea mit anderen Modulen wie z. B. ContentFlex oder DeDiFlex zu kombinieren. Derzeit lässt sich die bbCode-Erweiterung im ContentFlex durch einen einfachen Schalter in der Modulkonfiguration aktivieren. Zum Konfigurieren ist jedoch noch ein Sourcecode-Eingriff nötig. Im DeDiFlex ist bbCode standardmäßig aktiviert und kann auch nicht ohne Sourcecode-Eingriff deaktiviert werden. Auch eine Konfiguration ist aufgrund der Struktur des DeDiFlex nicht ohne weiteres möglich. Ich empfehle daher dazu, das ContentFlex-Modul dem DeDi-Flex vorzuziehen. Um den bbCode im ContentFlex zu konfigurieren, suchen Sie dazu im Moduloutput nach den entsprechenden <dedi:mod />-Tags und fügen Sie die gewünschten Konfigurationsparameter ein. Es ist geplant das Textarea sowie das ContentFlex so anzupassen, dass die komplette Konfiguration über die Modulkonfiguration möglich ist. Da ich jedoch mit der Weiterentwicklung der Erweiterung selbst, eingen anderen Projekten und der Schule mehr als ausgelastet bin, wäre ich froh wenn sich jemand um diese Module kümmern würde. Die bbCode-Erweiterung unterstützt auch mehrere bbCode-Textareas in einer Typegroup.
[bearbeiten] Notation der bbCode-Tags
Die bbCode-Erweiterung 2 kennt mehrere Möglichkeiten bbCodes zu definieren. Folgende Möglichkeiten stehen zur Auswahl:
[tag]text[/tag]
Ein einfacher Tag ohne weitere Parameter.
[tag: value]text[/tag]
Ein Tag mit nur einem Parameter (dem Standardparameter). Dieser Parameter darf keine Leerzeichen beinhalten.
[tag=value]text[/tag]
Identisch zu oberer Notation. Ohne Anführungszeichen darf der Wert dieses Paramerers kein Leerzeichen enthalten.
[tag="value value"]text[/tag]
Wie oben, nur diesmal mit Anführungszeichen. Hier sind auch Leerzeichen kein Problem. Anführungszeichen müssen mit \" escaped werden.
[tag='value value']text[/tag]
Wie oben, nur diesmal mit einfachen Anführungszeichen. [tag par1=value1 par2=value2]text[/tag] - Ein Tag mit benannten Parametern. Auf diese Art können auch mehrere Parameter übergeben werden. Selbstverständlich können auch hier beide Arten von Anführungszeichen gesetzt werden, um Leerzeichen in Parameterwerten zu ermöglichen.
[bearbeiten] Dokumentation der Codes
Der mit (Standard) markierte Parameter ist der Standardparameter, welcher auch ohne Parametername direkt mit einem Gleichzeichen an den Tag angehängt werden kann (s. Notation der bbCode-Tags). Die Tags [email], [anchor], [linl] und [filelink] unterstützen noch eine besondere Notation, bei der der Standardparameter zwischen die beiden Tags gesetzt wird. Näheres dazu in den Beschreibungen der Tags. Nahezu alle Konfigurationsmöglichkeiten, die hier aufgelistet sind, können auch über die Formularfelder der bbCode-Eingabe eingestellt werden. Wenn das help-Feature gesetzt ist, kann diese Hilfe über einen Hilfebutten vom Redakteur aufgerufen werden.
[bearbeiten] [b]
Formatiert den enthaltenen Text fett.
[bearbeiten] [i]
Formatiert den enthaltenen Text kursiv (schräg).
[bearbeiten] [u]
Formatiert den enthaltenen Text unterstrichen. Sparsam verwenden da die Darstellung u.U. mit der Standarddarstellung von Links verwechslt werden könnte.
[bearbeiten] [s]
Formatiert den enthaltenen Text durchgestrichen. Ideal um gelöschte oder überarbeitete Textteile als solche deutlich zu machen, ohne sie ganz löschen zu müssen.
[bearbeiten] [size]
Parameter:
- percent (Standard)</i> - Gibt die Größe des Textes relativ zur ursprünglichen Textgröße in Prozent an.
Stellt Text in einer bestimmten Schriftgröße dar.
[bearbeiten] [font]
Parameter:
- family (Standard) - Gibt den Namen der Schriftart an, welche dem aktuellen Text zugewiesen werden soll.
Stellt den enthaltenen Text in einer anderen Schriftart dar. Die möglichen Schriftarten sind vom Administrator vorgegeben.
[bearbeiten] [class]
Parameter:
- class (Standard) - Gibt eine Klasse für den enthaltenen Text an.
Stellt den enthaltenen Text mit einer anderen Klasse dar. Mit Klassen können verschiedene besondere Stile för Texte möglich. Die genaue bedeutung der einzelnen Klassen sprechen sie bitte direkt mit dem Administrator ab. Diese Klassen werden vom Administrator vorgegeben.
[bearbeiten] [sub] & [sup]
Stellt den enthaltenen Text mit Tief- (sub = unter) bzw. Hochgestellt (sup = super = über) dar. Sparsam verwednen!
[bearbeiten] [forecol] & [backcol]
Parameter:
- color (Standard) - Gibt eine Farbreferenz im Hex-Format (#RRGGBB) an oder eine benannte Farbe (black, red, green, blue, ...). Für mehr Informationen siehe hier: SelfHTML: Farben definieren in HTML.
Stellt den enthaltenen Text mit einer anderen Vorder- bzw. Hintergrundfarbe dar.
[bearbeiten] [email]
Parameter:
- adress (Standard) - Gibt eine eMail-Adresse an.
- name - Gibt einen optionalen Namen an.
- subject - Gibt einen optionalen Betreff an, welcher als Voreinstellung an das Mailprogramm übergeben wird.
Macht aus dem enthaltenen Text einen eMail-Link. über den adress-Parameter kann eine beliebige Mailadresse angegeben werden. Der name-Parameter bietet zusätzlich die Möglichkeit, einen Namen mit dieser Adresse zu verknüpfen. Mithilfe des subject-Parameters kann sogar ein Betreff vorgegeben werden.
[bearbeiten] [anchor]
Parameter:
- id (Standard) - Gibt eine eindeutige ID für den Anker an.
Markiert den enthaltenen Text als einen Verweisanker. Dies ändert an der Darstellung des Textes nichts, erlaubt jedoch diesen Anker mithilfe des [link]-Tags anzuspringen. Dies bedeutet, dass beim anklicken des Verweises zu der durch den Anker markierten Stelle im Dokument zu springen. Wird der Tag ohne id-Parameter aufgerufen, wird der Inhalt des Tags als Ankernamen angenommen und der Anker selbst nicht angezeigt: [anchor]i_am_an_id[/anchor]
[bearbeiten] [link]
Parameter:
- dest (Standard) - Gibt das Ziel des Verweises an. Erlaubt sind URLs, SeitenIDs und Anker.
- target - Gibt an, in welchem Fenster sich das Linkziel öffnen soll. Bei ankerverweisen nicht erlaubt.
Der link-Tag ist ein sehr mächtiges Instrument um Verweise zu anderen Seiten zu definieren. Wenn kein Text zwischen den Tags angegeben wird, wird das Verweisziel (bei SeitenIDs der Seitenname) als Linktext eingesetzt. Um zu externen Seiten zu verweisen, genügt es deren Adresse ("http://" beachten!) als dest anzugeben. Alerdings kann der Administrator externe Links sperren. In diesem Fall werden nur SeitenIDs und Anker angenommen. Optional kann mit target angegeben werden, in welchem Fenster sich das Ziel öffnet:
- _self - Im eigenen Fenster (voreinstellung)
- _blank - In einem neuen, eigenständigen Fenster
- _parent - Besteht die Seite aus mehreren Frames, öffnet sich der Link im übergeordneten Frame
- _top - Ebenfalls bei Frames: der verweis sprengt das Frameset und öffnet eine komplett neue Seite (im aktuellen Fenster)
- [anderes] - Ein anderer Name wirkt wie _blank, mit dem Unterschied dass sich ein weiterer Link, dem das selbe target zugeteilt wurde, in dem selben Fenster öffnet und die vorher geöffnete Seite überschreibt.
Um einen Verweis zu DeDi-Internen Seiten zu erstellen, genügt es die SeitenID als dest einzutragen. Die SeitenID kann man ermitteln, in dem man in der Seitenliste mit der maus über das Symbol der Seite führt. Auch hierbei kann ein target nach der selben Methode wie oben angegeben werden. Um Ankerverweise zu definieren, geben sie als dest ein Gattersymbol (#) gefolgt von der AnkerID an. Auch dieser Tag lässt dich ohne dest-Parameter aufrufen, dann wird der Inhalt des Tags als Verweisziel angenommen. Ist der Inhalt ein SeitenID wird als Linktext der Seitenname verwendet, bei Anchor- oder externen Links wird das Ziel ohne umwandlung als Linktext genommen.
[bearbeiten] [filelink]
Parameter:
- id (Standard) - Gibt die DatenbankID der Datei an.
Markiert den enthaltenen Text als einen Downloadverweis zu einer Datei im Dateimanager. Als ID muss eine gültige Datenbank-ID angegeben werden. Leider ist mir keine Möglichkeit bekannt nur mit DeDi an diese ID zu kommen. Der einfachste Weg diese ID einzufügen, ist über den das "Dateilink einfügen"-Dialog in der Bearbeitunsansicht. Wird dieser Tag ohne id-Parameter oder ohne Text zwischen den Tags definiert, wird der Dateiname (zusammen mit vom Administrator vorgegebenen anderen Texten) als Downloadlink verwendet.
[bearbeiten] [list]
Parameter:
- style (Standard) - Kann entweder "numbered" oder einfach leer sein.
Erzeugt eine normale oder eine numerierte Liste (wird mithilfe des style-Parameters festgelegt). Innterhalb des list-Tags können mithilfe von [*] einzelne Listenelemente festgelegt werden.
[list] [*]Element 1 [*]Element 2 [*]Element n [/list] [list=numbered] . . .
[bearbeiten] [code]
Der enthaltene Text wird als Code dargestellt, d.H. dickengleich Vorformatiert. Außerdem werden andere bbCode-Angaben innerhalb des Codebereiches nicht interpretiert.
[bearbeiten] [hr]
Fügt eine horizontale Linie ein.
[bearbeiten] Weitere Funktionen
[bearbeiten] Strip-Tags
Die Strip-Tags-Funktion soll es erleichtern, einen bereits formatierten Text wieder von bbCode-Formatierungen zu befreien. Dazu werden nach einer Sicherheitsabfrage innerhalb des markierten Textes alle bbCodes entfernt. Es werden jedoch nur bekannte Codes entfernt, sodass nicht zufällig anderer Text in Eckigen klammern verlorengeht, Sollten sie dennoch ein fehlerhaftes Verhalten feststellen, schreiben bitte einen Beitrag im aktuellen Diskussionsthread. Den Link dorthin finden sie am Ende der Einleitung.
[bearbeiten] Charmap
Die Zeichentabelle soll dem Benutzer ermöglichen, bequem Sonderzeichen einzufügen. Die Zeichen werden derzeit nicht als Entitäten sondern als normale Zeichencodes in den Quelltext eingefügt, da dies in den von mir getesteten Browsern fehlerfrei funktionierte und mir irgendwie eleganter erschien. Allerdings musste ich nun feststellen, dass einige Symbole in aus der Zeichentabelle nicht XHTML-Valid sind. Ich werde demnächst eine Funktion einbauen, die diese Zeichen in ihre Entitäten zurückverwandelt. Sollten sie noch andere Probleme feststellen, können sie mich gerne Kontaktieren.
[bearbeiten] Help
Die Hilfe gibt dem Redakteur einen Überblick über die vorhandenen Codes, ihre Parameter und deren Verwendung, sowie eine Liste der von Administrator werlaubten Tags.
[bearbeiten] Geplante Erweiterungen
[bearbeiten] [img]
Es soll mittels dieses Tags möglich sein, Bilder aus dem Dateimanaer oder von externen Quellen einzubeinden sowie deren Größe- und Alttag zu bestimmen.
[bearbeiten] [abbr] & [acronym]
Tags für Abkürzungen und Kurzwörter, die jeweils mit einem Title-Attribut ausgestattet werden können.
[bearbeiten] [code=php]
Es soll möglich sein, PHP & HTML-Sources Formatiert darzustellen. Dazu wird eine leicht veränderte highlight_string-Funktion zum einsatz kommen.
[bearbeiten] [php]
Innerhalb dieses Tags wird es möglich sein PHP-Code direkt auszuführen und damit auch auf DeDi-Variabeln u.U. zuzugreifen
[bearbeiten] Browserkompatibilität
- Firefox 1.0.4 / WinXP Prof [SP2]: OK
- IE 6.0 / WinXP Prof [SP2]: OK
Bitte tragen sie ihre Testergebnisse mit Fehlerbeschreibung hier ein.
[bearbeiten] Weitere Informationen
- Zugrundeliegende bbCode-Klasse: BBCode-Parserklasse für PHP
- Zugrundeliegender JS-Code zum einfügen der bbCodes in die Textarea: SelfHTML: Text an Cursorposition einfügen
- Die fnc.type.php basiert auf der im ContentFlex-Fix ausgelieferten Datei, ist also aktuell. Da der Fix auch die fnc.type_common.php ändert, habe ich die ins Packet mit aufgenommen, um keinen "halben Fix" auszuliefern, jedoch habe ich seit dem Fix an dieser Datei nichts verändert.