Page 1 of 1

Code in Template einfügen

Posted: Mon May 06, 2019 9:26 pm
by mhz
Hallo zusammen,
ich möchte verschiedene Quizze in meine Seite einfügen, die ich auf der Seite https://felix-riesterer.de/main/seiten/rquiz.html fand. Dazu soll ich "eine zusätzliche JavaScript-Datei einbinden, die nach dem Vorbild von rquiz-uploader.js erstellt wurde, um von einem Besucher erreichte Werte an einen Webserver zu senden."

In einem entsprechend umbenannten Template habe ich den Code aus der beispielhaften rquiz-response.php-Datei, die zur Demonstration beiliegt, in ein die template.htm eingefügt.
Aber leider funktioniert es nicht so einfach, wie ich es mir dachte.

Code: Select all

<?php
// if jQuery4CMSimple is installed, include its jQuery library
if (is_readable($pth['folder']['plugins'].'jquery/jquery.inc.php')) {
    include_once $pth['folder']['plugins'].'jquery/jquery.inc.php';
    include_jQuery();
}
// Plugin FA_XH
if (function_exists('fa_require')) {
    fa_require();
} else {
    die('Das Template "fhs-simple" benötigt das Fa_XH-Plugin.<br>Das Fa_XH-Plugin kann hier heruntergeladen werden: <a href="http://3-magi.net/de/?CMSimple_XH/Fa_XH" target="_blank">Download</a>');
}
// RQUIZ3 von Felix Riesterer
// nach den bereits vorhandenden Aufrufen eingefügt. 

// save submitted data
file_put_contents('./rquizrequest.txt', print_r($_REQUEST, true), FILE_APPEND);

// send response
header('Content-Type: text/plain; charset=utf-8');

// fake slow connection
sleep(1); // wait 4 seconds

// OUTPUT AFTER HEADER() CALL
echo $r;

exit;
?>
<html lang="<?=$sl;?>">
<head>
Was und wie muss es geändert werden, dass es funktioniert?
Ich danke für eure Ideen.

Re: Code in Template einfügen

Posted: Mon May 06, 2019 10:52 pm
by cmb
mhz wrote:
Mon May 06, 2019 9:26 pm
ich möchte verschiedene Quizze in meine Seite einfügen, die ich auf der Seite https://felix-riesterer.de/main/seiten/rquiz.html fand.
Dazu im <head> des Templates etwa folgendes ergänzen (ungetestet):

Code: Select all

<link href="<?php echo $pth['folder']['template']?>rquiz.css" rel="stylesheet" type="text/css">
<script type='text/javascript' src='<?php echo $pth['folder']['template']?>rquiz.js'></script>
(die Dateien rquiz.css und rquiz.js müssen direkt im Templateordner abgelegt werden; ansonsten müssen die Pfade angepasst werden)
mhz wrote:
Mon May 06, 2019 9:26 pm
Dazu soll ich "eine zusätzliche JavaScript-Datei einbinden, die nach dem Vorbild von rquiz-uploader.js erstellt wurde, um von einem Besucher erreichte Werte an einen Webserver zu senden."

In einem entsprechend umbenannten Template habe ich den Code aus der beispielhaften rquiz-response.php-Datei, die zur Demonstration beiliegt, in ein die template.htm eingefügt.
Aber leider funktioniert es nicht so einfach, wie ich es mir dachte.
Das ist auch wirklich nicht so einfach, denn bereits rquiz-uploader.js muss eben angepasst werden, und rquiz-response.php muss überhaupt erst mit sinnvoller Logik versehen werden (das Beispielskript tut wenig Sinnvolles). Und darüberhinaus sollte rquiz-response.php besser kein separates Skript sein, sondern eher ein ?rquiz-response. Das ganze ruft nach einem kleinen Plugin -- Freiwillige vor! :)

Re: Code in Template einfügen

Posted: Tue May 07, 2019 4:45 am
by mhz
Danke für Deine 1. Antwort, Christoph.
Ich habe das mal schnell ausgetestet und es endet in einem fatalen Fehler.
syntax error, unexpected '<', expecting end of file in /home/www/tutor1/templates/cmsimplexh-172-rquiz3/template.htm on line 15
Ich kann das später mal weiter testen und mich mit Deinem Vorschlag der Pfadanpassung befassen.

In der Vorversion zu diesen Quizzen konnte es auch über den NUR Template-Aufruf realisiert werden. Es brauchte kein eigenes Plugin.

Re: Code in Template einfügen

Posted: Tue May 07, 2019 5:28 am
by mhz
P.S.: Wie ist der Aufruf zu erweitern, wenn das Verzeichnis mit den Dateien rquiz.css und rquiz.js u.a. (auch ein Image-Ordner)
rquiz3 heißen soll und im root-Verzeichnis liegt?

Re: Code in Template einfügen

Posted: Tue May 07, 2019 9:17 am
by Holger
mhz wrote:
Tue May 07, 2019 5:28 am
P.S.: Wie ist der Aufruf zu erweitern, wenn das Verzeichnis mit den Dateien rquiz.css und rquiz.js u.a. (auch ein Image-Ordner)
rquiz3 heißen soll und im root-Verzeichnis liegt?
Das sollte so funktionieren:

Code: Select all

<link href="<?php echo $pth['folder']['base']?>rquiz3/rquiz.css" rel="stylesheet" type="text/css">
<script type="text/javascript" src="<?php echo $pth['folder']['base']?>rquiz3/rquiz.js"></script>

Re: Code in Template einfügen

Posted: Tue May 07, 2019 10:52 am
by mhz
Danke !!!
Jetzt funktioniert es schon mal im normalen Browser. Das mit dem Smartphone / Tablet werde ich noch testen.