Dieser RT bietet die Möglichkeit innerhalb eines Artikels zu CP-Ankern und selbst gesetzten Ankern zu springen.
Voraussetzung:
TAG:
* {GO-A:CP-ID,Linktext}
Bedingungen im TAG:
Ist eine Bedingung nicht erfüllt wird ein Fehlertext im FE ausgegeben.
<note> Der RT überprüft nicht das Vorhandensein von gültigen Sprungzielen! </note>
Beispiel:
{GO-A:149,Linktext}
<a href="#cpid149" class="phpwcmsAnchorLink-GO" title="Linktext">Linktext</a>
{GO-A:MyAnchorName,Linktext}
<a href="#MyAnchorName" class="phpwcmsAnchorLink-GO" title="Linktext">Linktext</a>
rt_goto_anchor V1.0 16.08.2011
Docu: –
Forum: http://forum.phpwcms.org/viewtopic.php?p=131995
Autor: K.Heermann (flip-flop) http://planmatrix.de
CMS Version: >= 1.3
Version: V1.0
Tag: – {GO-A:CP-ID, Linktext} oder {GO-A:Ankertext, Linktext}
Dateiname: rt_goto_anchor.php
Verzeichnis: template/inc_script/frontend_render/
Bedingung: → /config/phpwcms/conf.inc.php
Datei: template/inc_script/frontend_render/rt_goto_anchor.php
<?php /** * ***************************************************************************** * 16.08.2011 V1.0 K.Heermann http://planmatrix.de * * GoTo anchor link * * Tags v1.0: * - {GO-A:CP-ID,Link text} * - {GO-A:Anchor_name,Link text} * *CP-ID: * - Only numeric values * * Anchor_name: * - One word, no spaces * - No special characters and umlauts. * * Link text: * - If there is no link text an error occures * - Minimum word length is three characters * ***************************************************************************** */ // ----------------------------------------------------------------------------- // obligate check for phpwcms constants if (!defined('PHPWCMS_ROOT')) { die("You Cannot Access This Script Directly, Have a Nice Day."); } // ----------------------------------------------------------------------------- if (strpos($content["all"],'{GO-A:') !== false) { // Is there any anchor jump? // cp anchor is available IF (strpos($content["all"],'<a name="cpid') !== false) { $mySearch = '/\{GO-A:(\d+),([\x20-\x7F]{3,})\}/is'; $myReplace = '<a href="#cpid$1" class="phpwcmsAnchorLink-GO" title="$2">$2</a>'; $content['all'] = preg_replace($mySearch, $myReplace, $content['all']); } // TAG anchor is available IF (strpos($content["all"],'class="phpwcmsAnchorLink"') !== false) { $mySearch = '/\{GO-A:([^\x7B-\xFF\s\W]+?),([\x20-\x7F]{3,})\}/is'; $myReplace = '<a href="#$1" class="phpwcmsAnchorLink-GO" title="$2">$2</a>'; $content['all'] = preg_replace($mySearch, $myReplace, $content['all']); } // Error output $mySearch = '/\{GO-A:(.*?)\}/is'; $myReplace = '<b style="color:red">Anchor error:</b> "$1"'; $content['all'] = preg_replace($mySearch, $myReplace, $content['all']); $content['all'] = str_replace('\'', ''', $content['all']); $content['all'] = str_replace('&quot;', '"', $content['all']); } ?>