header-xh-01 header-xh-02 header-xh-03 header-xh-04 header-xh-05 header-xh-06 header-xh-07 header-xh-08 header-xh-09 header-xh-10 header-xh-11 header-xh-12 header-xh-13 header-xh-14
Templates für CMSimple_XH von
KRL Software-Development
private, nicht kommerzielle Website
by Karl Richard Lembach
Sie sind hier: Startseite > Template krl-3col-flex > Dateien des Templates > scriptimporter.php
Letzte Bearbeitung:

scriptimporter.php

Bitte auch dort lesen.

Mit der scriptimporter.php können gezielt einzelne oder mehrere Funktionen/Scripte im Bereich <head> - </head> eingebunden werden, die nur bei einzelnen Seiten mitgeladen werden sollen. In der Regel sind dies externe Scripte und PHP-Dateien, die nicht Bestandteil des CMS sind. Insbesondere ist das interessant, wenn sich einzelne Scripte als gegenseitig unverträglich erweisen. Außerdem wird dadurch vermieden unnötigen Code mit der Seite zu laden. Ein weiterer ganz wichtiger Vorteil: Es müssen keine Änderungen am eigentlichen Template-Code vorgenommen werden! Bringen Änderungen an der scriptimporter.php die Website zum Absturz, dann braucht man nur diese Datei umzubenennen (per FTP-Client) und die Seite läuft wieder. Dann kann man in Ruhe den Fehler suchen. 

Welche externen Dateien oder Codeschnipsel mit der Seite geladen werden, entscheidet die Bit-Maske, die im Reiter Mehr des Editorfensters eingestellt wird. Dabei gibt es wie bei einem Mäuseklavier für jede Stelle nur 1 oder 0 als möglichen Zustand. Zurzeit ist die Breite des Steuerausdruckes auf 16 Bit begrenzt (kann jedoch bei Bedarf vergrößert werden = Änderung in der scriptimporter.php notwendig).
Wird ein anderes Zeichen als 1 oder 0 in diesem Steuerausdruck verwendet, wird eine Fehlermeldung als Kommentar im Quellcode der erzeugten Webseite ausgegeben und die weitere Verarbeitung der Datei scriptimporter.php abgebrochen. Auf diese Weise wird die Darstellung der Webseite nicht durch Fehlermeldungen zerstört, der Webmaster kann dennoch erkennen was schiefgelaufen ist, wenn er sich den Quellcode der Website anzeigen lässt.

Für jede Stelle des Steuerausdruckes wird geprüft, ob der Wert des Bits gleich 1 ist. Wenn ja, wird der an entsprechender Stelle eingefügte Code ausgeführt. Dies muss nicht unbedingt ein Include-Befehl sein. Kleine Codeschnipsel können auch direkt in der scriptimporter.php eingefügt werden. Weil dieser Code innerhalb einer PHP-If-Anweisung steht, wird er nur dann ausgeführt und das HTML-Ergebnis nur dann an den Browser ausgeliefert, wenn dieser Bereich ausgeführt werden soll. Die an den Browser ausgelieferte Seite wird also nicht unnötig durch nicht relevanten Code aufgebläht.

Um bei unerwartetem Verhalten des eingefügten Codes schneller erkennen zu können welcher Code-Bereich gerade in die aktuelle Seite eingeflossen ist, wird für jeden Bereich ein HTML-Kommentar vor und nach dem einzubindenden Code mit einer Nummer des Bereiches an die erzeugte Website ausgegeben. In der Quellcode-Darstellung der Seite ist also genau zu sehen welcher der eingebundenen Bereiche evtl. fehlerhaften Code erzeugt oder zumindest aktiv war, als der Fehler auftrat. So sollte eine Fehlersuche erleichtert werden.

Wichtig:

Die Lücken, in die der Code (Scriptet, PHP oder andere Sprachen) eingefügt werden soll, sind auf der Ebene von HTML!

if ($flagger[$i] == 1):?> Hier endet PHP!
<!-- HTML-Code für Style und Script 1 --> Ab hier ist es HTML


<!-- Ende des Codes von Script 1 --> Hier endet HTML
<?php  Ab hier ist es wieder PHP

Das bedeutet, dass der Code, der eingefügt wird, auch immer seine eigene Deklaration der verwendeten Sprache und auch die passende Ende-Deklaration haben muss!

Also etwas so:

<script> .... </script>
<?php .... ?>

 

 

Dateiname: templates/krl-3col-flex/scriptimporter.php

<?php
/*
* @category Template for CMSimple_XH Version 1.7+
* @package krl-3col-flex
* @version 3.2
* @file scriptimporter.php
* @last_modified 17.12.2021
* @author Karl Richard Lembach | https://lembach-cmsimple.de/?Home
* @copyright 2021 - 2024 Karl Richard Lembach <https://lembach-cmsimple.de>
* @license https://www.gnu.org/licenses/gpl-3.0 GNU GPLv3
* @link https://template.lembach-cmsimple.de/?Template-krl-3col-flex
* @contact https://lembach-cmsimple.de/?Home/Kontakt-Formular | webmaster@lembach-cmsimple.de

Dieses Programm ist freie Software.
Sie können es unter den Bedingungen der GNU General Public License, wie von der Free Software Foundation veröffentlicht,
weitergeben und/oder modifizieren, entweder gemäß Version 3 der Lizenz oder (nach Ihrer Option) jeder späteren Version.

Die Veröffentlichung dieses Programms erfolgt in der Hoffnung, daß es Ihnen von Nutzen sein wird, aber OHNE IRGENDEINE GARANTIE,
sogar ohne die implizite Garantie der MARKTREIFE oder der VERWENDBARKEIT FÜR EINEN BESTIMMTEN ZWECK. Details finden Sie in der GNU General Public License.

Sie sollten ein Exemplar der GNU General Public License zusammen mit diesem Programm erhalten haben. Falls nicht, siehe <https://www.gnu.org/licenses/gpl-3.0>.
Deutsche Übersetzung (kein rechtskräftiger Ersatz des Originals): http://www.gnu.de/documents/gpl.de.html

*/

// *** Abhängig vom Wert der Variablen $ScriptImporter2021 werden zusätzliche Code-Zeilen in die Templatedatei importiert. ***
$anzahl = strlen(substr($ScriptImporter2021, 0, 16)); // Anzahl der Stellen
if (!($anzahl > 0)) { // Wenn Anzahl nicht größer 0 ist -> ende
// echo '<!-- keine Bit-Maske vorhanden -->'."\n";
goto ende;
}
$flagger = array();
for ($i = 0; $i < $anzahl; $i++) {
$zeichen = substr($ScriptImporter2021, $i, 1);
if (($zeichen <> "0") and ($zeichen <> "1")) {
echo "<!-- \n ******************************************************************************************************\n
Die Morepagedata-Variable \$ScriptImporter2021 enthaelt mindestens ein Zeichen, das nicht 0 oder 1 ist.\n
Ihr Wert lautet: $ScriptImporter2021\n
******************************************************************************************************\n -->\n";
$ImporterError = 1;
goto ende;
}
$flagger[$i] = $zeichen; // Jede Stelle wird in einem Array-Element gespeichert
}
echo '<!-- Anzahl der Masken-Marker 1 -->'."\n";
$i = 0;
if ($i > $anzahl) {goto ende;}
if ($flagger[$i] == 1):?>
<!-- HTML-Code für Style und Script 1 -->


<!-- Ende des Codes von Script 1 -->
<?php
endif;
$i = $i + 1;
if ($i > $anzahl) {goto ende;}
if ($flagger[$i] == 1):?>
<!-- HTML-Code für Style und Script 2 -->


<!-- Ende des Codes von Script 2 -->
<?php
endif;
$i = $i + 1;
if ($i > $anzahl) {goto ende;}
if ($flagger[$i] == 1):?>
<!-- HTML-Code für Style und Script 3 -->


<!-- Ende des Codes von Script 3 -->
<?php
endif;
$i = $i + 1;
if ($i > $anzahl) {goto ende;}
if ($flagger[$i] == 1):?>
<!-- HTML-Code für Style und Script 4 -->


<!-- Ende des Codes von Script 4 -->
<?php
endif;
$i = $i + 1;
if ($i > $anzahl) {goto ende;}
if ($flagger[$i] == 1):?>
<!-- HTML-Code für Style und Script 5 -->


<!-- Ende des Codes von Script 5 -->
<?php
endif;
$i = $i + 1;
if ($i > $anzahl) {goto ende;}
if ($flagger[$i] == 1):?>
<!-- HTML-Code für Style und Script 6 -->


<!-- Ende des Codes von Script 6 -->
<?php
endif;
$i = $i + 1;
if ($i > $anzahl) {goto ende;}
if ($flagger[$i] == 1):?>
<!-- HTML-Code für Style und Script 7 -->


<!-- Ende des Codes von Script 7 -->
<?php
endif;
$i = $i + 1;
if ($i > $anzahl) {goto ende;}
if ($flagger[$i] == 1):?>
<!-- HTML-Code für Style und Script 8 -->


<!-- Ende des Codes von Script 8 -->
<?php
endif;
$i = $i + 1;
if ($i > $anzahl) {goto ende;}
if ($flagger[$i] == 1):?>
<!-- HTML-Code für Style und Script 9 -->


<!-- Ende des Codes von Script 9 -->
<?php
endif;
$i = $i + 1;
if ($i > $anzahl) {goto ende;}
if ($flagger[$i] == 1):?>
<!-- HTML-Code für Style und Script 10 -->


<!-- Ende des Codes von Script 10 -->
<?php
endif;
$i = $i + 1;
if ($i > $anzahl) {goto ende;}
if ($flagger[$i] == 1):?>
<!-- HTML-Code für Style und Script 11 -->


<!-- Ende des Codes von Script 11 -->
<?php
endif;
$i = $i + 1;
if ($i > $anzahl) {goto ende;}
if ($flagger[$i] == 1):?>
<!-- HTML-Code für Style und Script 12 -->


<!-- Ende des Codes von Script 12 -->
<?php
endif;
$i = $i + 1;
if ($i > $anzahl) {goto ende;}
if ($flagger[$i] == 1):?>
<!-- HTML-Code für Style und Script 13 -->


<!-- Ende des Codes von Script 13 -->
<?php
endif;
$i = $i + 1;
if ($i > $anzahl) {goto ende;}
if ($flagger[$i] == 1):?>
<!-- HTML-Code für Style und Script 14 -->


<!-- Ende des Codes von Script 14 -->
<?php
endif;
$i = $i + 1;
if ($i > $anzahl) {goto ende;}
if ($flagger[$i] == 1):?>
<!-- HTML-Code für Style und Script 15 -->


<!-- Ende des Codes von Script 15 -->
<?php
endif;
$i = $i + 1;
if ($i > $anzahl) {goto ende;}
if ($flagger[$i] == 1):?>
<!-- HTML-Code für Style und Script 16 -->


<!-- Ende des Codes von Script 16 -->
<?php
endif;
ende:
// *** zurück zum Template *** ;?>

 


| Seitenanfang |