PHP include(); ist ein PHP-Befehl und damit Teil einer Programmiersprache.
PHP include(); ist keine Eigenschaft von ScarFormManager.Die Formulare können problemlos in andere Seiten und Framework's eingebunden werden.
Ein Beispiel wie so eine Einbindung in eine andere PHP-Datei aussehen muss, kann direkt in der mitgelieferten Datei form.php eingesehen werden. Öffnen Sie dazu die Datei form.php und führen Sie die selben Schritte aus.
Sie können durch anpassen des PHP include(); - Befehls selbst entscheiden, ob das Formular sofort ausgegeben oder vorerst in einer Variable zwischengespeichert werden soll. Letzteres ist für CMS Systeme wichtig, sie erwarten ihren Content (also den darzustellenden Seiteninhalt) oft in einer speziellen Variable, die anschließend für das CMS passend ausgegeben wird.
<?php
// ScarFormManager-Bibliothek einbinden
include_once("./acp/lib/class_scarformmanager.inc.php");
// ScarFormManager ausgeben
$scar4u_scarformmanager = new Scar4U_FormManager();
echo $scar4u_scarformmanager->display($_REQUEST["sfm_id"]);
?>Das Beispiel entspricht der mitgelieferten form.php.
Wenn die Ausgabe in einer Variable zwischengespeichert werden soll, muss lediglich die letzte Zeile angepasst werden:
<?php
// ScarFormManager-Bibliothek einbinden
include_once("./acp/lib/class_scarformmanager.inc.php");
// ScarFormManager ausgeben
$scar4u_scarformmanager = new Scar4U_FormManager();
$scarformmanager_variable = $scar4u_scarformmanager->display($_REQUEST["sfm_id"]);
?>Die Ausgabe kann dann zu einem späteren Zeitpunkt erfolgen:
<?php
echo $scarformmanager_variable;
?>Nutzen Sie diese Variante, wenn vor und nach dem PHP include(); HTML direkt ausgegeben wird. Setzen Sie den oberen Teil an den Anfang einer PHP Datei, füllen Sie anschließend den gesamte HTML Bereich ein und an die gewünschte Stelle die Formularausgabe, der zweite Code-Bestandteil. Wird das nicht beachtet, muss die Captcha-Grafik über die Datei captcha.php in die Formularseiten eingebunden werden.
<?php
include_once("./acp/lib/class_scarformmanager.inc.php");
$scar4u_scarformmanager = new Scar4U_FormManager();
echo $scar4u_scarformmanager->display(1);
?>Im Beispiel würde immer das Formular mit der ID 1 ausgegeben werden.
Wenn Skripte oder allgemein Dateien mit PHP über include(); eingebunden werden, wird das häufig durch einen Identifier realisiert. Das folgende URL-Beispiel zeigt einen solchen Kenner. Zum Beispiel muss der Parameter "seite" immer den Inhalt "formular" beinhalten.
http://deinedomain.de/index.php?seite=formularDieser Parameter muss eigenhändig in die Templates eingebunden werden! Das gilt für jeden Link und jedes Formular in den Templates! Für oberes Beispiel müssten die HTML-Formulare wie folgt erweitert werden:
<form ...>
...
<input type="hidden" name="seite" value="formular">
...
</form>Die HTML-Links (sofern vorhanden) müssten wie folgt erweitert werden:
<a href="{$smarty.server.PHP_SELF}?seite=formular&variable1=...Diese Parameter können an den Anfang oder an das Ende einer URL gesetzt werden. {$smarty.server.PHP_SELF}?.. setzt den Link für die aktuelle Seite und kann auch durch: index.php?.. ersetzt werden. Variable Übergabeparameter können z.B. mit: {$smarty.request.uebergabeparameter} eingebunden werden.
siehe auch: http://www.smarty.net
Wenn das Skript über PHP include(); eingebunden wird, ändert sich nicht nur der Name der resultierenden Skript-Datei, sondern evt. auch gleichzeitig der Path zum eigentlichen Formular-Skript. Die Templates sind oft auf gleichliegende Path-Angaben ausgelegt, diese Path-Angaben müssen ebenfalls korrigiert werden.
<img src="{$smarty.server.PHP_SELF}?sfm_id={$form.formid}&sfm_displaycaptcha&seite=formular">Diese Variante funktioniert nur, wenn vor der PHP include(); Anweisung des Skriptes -keine- Ausgabe erfolgt!
<img src="http://example.de/sfm/captcha.php?sfm_id={$form.formid}">Die Captcha Grafik befindet sich auf der letzten Formularseite.
Wenn die Captcha-Grafik nicht wie erwartet angezeigt wird, sollte sie selbstständig aufgerufen werden. Öffnen Sie die URL der Captcha-Grafik in einem neuen Browser-Fenster. Im Fall eines technischen Fehlers wird dieser so direkt ausgegeben.
An die URL der Captcha-Grafik gelangt man in den meisten Browsern durch einen Rechts-Klick auf die Grafik, anschließend entweder "Grafikadresse kopieren" oder "Eigenschaften" wählen.
In der Administration von ScarFormManager befinden sich weitere PHP Include(); Beispiele die zusätzlich den vollständigen Server-Path zum Skript anzeigen.
Funktionstüchtige Formular Vorschau
Wenn die Formulare mit PHP include(); eingebunden werden, ist eine Reduzierung des HTML Layouts notwendig.
Beachten Sie, das nur ein <body .. > . . . </body> Bereich in einer HTML Seite definiert werden darf. Entfernen Sie daher alle überflüssigen HTML Bestandteile.
Alternativ kann das bisher genutzte Templatepack kopiert und reduziert werden. Der Vorteil: alle damit generierten Formulare enthalten automatisch die Änderungen.
PHP include: http://www.php.net/include
HTML Image: http://de.selfhtml.org/html/grafiken/einbinden.htm