RexMarkitup Dokumentation
Anwendung im Modul
Aufruf per CSS Klasse
<textarea class="rex-markitup"></textarea>
Data Attribute
<textarea class="rex-markitup" data-buttonset="full"></textarea>
<textarea class="rex-markitup" data-buttons="h1,h2,h3,|,…"></textarea>
Eigene Buttons/Buttonsets definieren
Button CSS Beispiel:
.markItUpButton.markitup-example a {
background-image: url('path/to/my/example.png');
}
rex_markitup.buttondefinitions Beispiel: (siehe auch MarkItUp Doku)
examplebutton:
{
name: 'Example Button',
openWith: '[foobar]',
closeWith: '[/foobar]',
beforeInsert: function(h) {
text = "You've just click the "+h.name+" button ";
text+= "which will wrap '"+h.selection+"' ";
text+= "with "+h.openWith+" and "+h.closeWith+".";
alert(text);
},
afterInsert: function(h) {
text = "The result is now:\n";
text+= $(h.textarea).val();
alert(text);
},
placeHolder: 'Placeholder Text..'
}
rex_markitup.buttonsets Beispiel:
exampleset:
'h1,h2,h3,|,bold,italic,examplebutton'
Frontend Preview
rex_markitup.options {…}
...,
previewfrontend: true,
previewAutoRefresh: false
Modul Out:
// rex_markitup preview ..
$textile = rex_markitup_preview('REX_SLICE_ID', 'VALUE[1]', 'REX_VALUE[1]');
$textile = rex_a79_textile($textile);
Erläuterungen/Hinweise
- Die Preview Funktion von RexMarkitup bedient sich nicht der internen (auf POST basierenden) Funktion von MarkItUp!, sondern einer eigenen, welche die preview Daten via SESSION ins frontend überträgt. Aus diesem Grund muß sichergestellt sein, daß im frontend auch wirklich eine Session vorhanden ist
- Der 2. param von
rex_markitup_preview()
muß demname
Attribut der Textarea im Modul Input entsprechen - Bei aktiver frontend preview sollte die Option
previewAutoRefresh
i.d.R. auf false gestellt werden, da ansonsten jeder Return in der Textarea oder button-click einen erneuten Aufruf der preview triggert was – da eben Aufruf der kompletten frontend page – meist den Arbeitsfluß wg. Wartezeiten hemmen würde. rex_markitup_preview()
erledigt per default das üblichehtmlspecialchars_decode()
des textile markups, sowie dieErsetzung.. beides kann über params aber geändert/unterbunden werden:
rex_markitup_preview($slice_id, $instance, $textile, $decode = true, $replace = array( '<br />' => '' ) )