Table of Contents

Code

Darstellung von Quelltext im FE mit dem CP Code und dem JavaScript SyntaxHighlighter.

Syntax Highlighting ab Version V1.5 r461

Die wichtigsten Highlighter:

  • Css
  • Delphi
  • Java
  • JScript
  • Perl
  • Php
  • Python
  • Ruby
  • Sql
  • Vb
  • Xml

Forum: CP Code - Syntax Highlighting PHP



Template

Template: template/inc_cntpart/code/JavaScript-SyntaxHighLighter.tmpl

Bsp.: Darstellung PHP-Code.

[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.


PHP

Der CP Code setzt für jeden Zeilenumbruch automatisch ein <br /> ein. Das JS greift auch diesen nicht zum darzustellenden Quellcode gehörenden 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

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');
 
?>

Irgendwo im Template zwischen <code>....</code> wird der TAG [%NoBR%] eingetragen, damit der Trigger weiß dass er gemeint ist.


deutsch/phpwcms-system/artikel/contentparts/code.txt · Last modified: 2018/06/03 18:08 (external edit)
www.planmatrix.de www.chimeric.de Creative Commons License Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0