NAVIGATION
This is an old revision of the document!
Darstellung von Quelltext im FE mit dem CP Code und dem JavaScript SyntaxHighlighter.
Syntax Highlighting ab Version V1.5 r461
Die wichtigsten Highlighter:
Forum: CP Code - Syntax Highlighting PHP
Template: template/inc_cntpart/code/JavaScript-SyntaxHighLighter.tmpl
Bsp.: Darstellung PHP-Code.
JavaScript-SyntaxHighLighter.tmpl
[TITLE]<h3>{TITLE}</h3>[/TITLE] [SUBTITLE]<h4>{SUBTITLE}</h4>[/SUBTITLE] [CODE]<pre class="brush: php; ruler: true;"> {CODE} </pre> <!-- CSS: {TEMPLATE}lib/syntaxhighlighter/styles/shCoreDefault.css --> <!-- JS: {TEMPLATE}lib/syntaxhighlighter/shCore.js --> <!-- JS: {TEMPLATE}lib/syntaxhighlighter/shBrushPhp.js --> <!-- JS: SyntaxHighlighter.all(); --> [/CODE]
Die verschiedenen HighLighter werden über das JS eingestellt.
Z.B. für JavaScript:
<pre class="brush: jscript; ruler: true;"> . . <!-- JS: {TEMPLATE}lib/syntaxhighlighter/shBrushJscript.js -->
Die unterschiedlichen HighLighter können im Verzeichnis template/lib/syntaxhighlighter/*.js eingesehen werden.
Der CP Code setzt für jeden Zeilenumbruch automatisch ein <br /> ein. Das JS greift auch diesen nicht zum darzustellenden Quellcode gehörende HTML TAG auf und interpretiert diesen.
Um das zu vermeiden muss dieses <br /> für die Ausgabe im FE entfernt werden. Dazu kann folgender CP-Trigger (PHP-Script) verwendet werden.
Datei: template/inc_script/frontend_init/cp_trigg_code_no_br.php
<?php // ------------------------------------------------------------------------------------------- // obligate check for phpwcms constants if (!defined('PHPWCMS_ROOT')) { die("You Cannot Access This Script Directly, Have a Nice Day."); } // ------------------------------------------------------------------------------------------- /** ********************************************************************************************* * Simple Version 1.0 * 10.02.12 KH: Delete all <br /> from source text in CP code * * File: CP trigger in template/inc_Script/frontend_init/cp_trigg_code_no_br.php * TAG in template for processing: [%NoBR%] ********************************************************************************************* */ function TRIGG_CP_CODE_NO_BR_V1($text, & $data) { // Der richtige CP: code (11) // and Tag available? if ( ($data['acontent_type'] == 11) AND // cp code ( strpos($text, '[%NoBR%]') !== FALSE) ) // TAG is set ? // TAG vorhanden? { // dumpVar($text); $text = str_replace('<br />', '', $text); $text = str_replace('[%NoBR%]', '', $text); } return $text; } register_cp_trigger('TRIGG_CP_CODE_NO_BR_V1'); ?>