Anpassungen

Letzte Änderung: 19. Dezember, 2016

Markdown in eigenen Klassen verwenden

Die Erweiterung "Markdown & Shortcodes" ergänzt die Klasse oxutils um die neue Funktion markdown($text='').

Möchten Sie nun Markdown auch für Textfelder ihrer eigenen OXID-Erweiterung nutzen so ist dies sehr einfach umzusetzen.

1. Sie müssen ein Objekt der Klasse oxutils erzeugen:


	$oUtils = oxRegistry::getUtils(); // Klasse oxutils instanziieren					
										
2. Dann müssen Sie nur noch Ihre Daten an die Funktion markdown übergeben:

   ...
   $oYourTextfield = $oUtils->markdown($oYourTextfield);
   return $oYourTextfield;
   ...
										

Eigene Shortcodes erstellen

Sie können selbst individuelle Shortcodes erstellen und so einen Baukasten für ihre Produktpfleger bzw. Autoren erstellen.

Dafür müssen Sie zwei Dateien anpassen:
1. /modules/tmedia/oxcmarkdown/application/models/ParsedownShortcodes.php
2. /modules/tmedia/oxcmarkdown/application/models/Shortcode_Functions.php

Anhand eines Beispiel möchte ich Ihnen zeigen wie einfach es ist eigene Shortcodes zu integrieren.
In Bootstrap gibt es das Element "Progress bars", welches wir nun als Shortcode umsetzen. Die einfachste Variante sieht im HTML Quelltext wie folgt aus:


<div class="progress">
	<div class="progress-bar" role="progressbar" aria-valuenow="70" aria-valuemin="0" aria-valuemax="100" style="width:70%">
		<span class="sr-only">70% Complete</span>
	</div>
</div>																										
									
HTML-Ausgabe:
70% Complete

Das es hier nur darum geht zu veranschaulichen wie Shortcodes erstellt werden, belassen wir es bei diesem einfachen Beispiel und verwenden als einzige Parameter die Prozentzahl des Farbbalkens und der Parameter notext um die Labelanzeige zu unterdrücken oder anzuzeigen.

Die Funktion dafür sieht wie folgt aus:


function sc_progress($attributes, $content) {
    extract($attributes);
	
    if (!isset($percent)) $percent = "100";	
    if (isset($notext)) $notext = ' class="sr-only"';	

	return '<div class="progress"> <div class="progress-bar" role="progressbar" aria-valuenow="'.$percent.'" aria-valuemin="0" aria-valuemax="100" style="width:'.$percent.'%"> <span '.$notext.'>'.$content.'</span> </div> </div>';
}																										
									
Diese Funktion fügen Sie nun der Datei Shortcode_Functions.php an.
In der Datei Shortcode_Functions.php wird nun der Shortcode un die dafür entwickelte Funktion definiert.

		...
        $this->sc->add('button', 'sc_bootstrap_button');						
        $this->sc->add('alert', 'sc_bootstrap_alert');								
        $this->sc->add('icon', 'sc_icon');										
        $this->sc->add('progress', 'sc_progress');												
		
		// Parse Shortcodes
		$text = $this->sc->parse($text);																									
									

Ab sofort ist der Shortcode nun einsatzbereit! Beispiel: {progress percent="70" notext="1"} Dieser Text ist unsichtbar... {/progress}