Einrichtung Kontakt-Formular

Aus APF Wiki [de]

Wechseln zu: Navigation, Suche

Um den Einstieg zu erleichtern, hier ein copy&paste-Rezept für die Einbindung des Kontaktformulars:

Inhaltsverzeichnis

Herunterladen und entpacken eines Releases

[root@centos53 apftut]# pwd
/var/www/html/apftut
[root@centos53 apftut]# ll
total 0
[root@centos53 apftut]# mkdir apps
[root@centos53 apftut]# cd apps
[root@centos53 apps]# wget http://files.adventure-php-framework.org/1.11/download/apf-codepack-1.11-2010-02-10-2026-php5.tar.bz2
[root@centos53 apps]# tar -xjf apf-codepack-1.11-2010-02-10-2026-php5.tar.bz2
[root@centos53 apps]# ll
total 308
-rw-r--r--  1 root root 251079 Jan 13 22:38 apf-codepack-1.11-2010-02-10-2026-php5.tar.bz2
drwxr-xr-x 16  500  513   4096 Jan 13 22:25 core
-rwxr-xr-x  1  500  513  35821 Jan  9 22:16 gpl-3.0.txt
-rwxr-xr-x  1  500  513   7802 Jan  9 22:16 lgpl-3.0.txt
drwxr-xr-x 11  500  513   4096 Jan 13 22:25 modules
drwxr-xr-x 15  500  513   4096 Jan 13 22:25 tools


Herunterladen der Beispiel-Konfigurationsdateien

[root@centos53 apps]# pwd
/var/www/html/apftut/apps
[root@centos53 apps]# mkdir config
[root@centos53 apps]# cd config/
[root@centos53 config]# wget http://files.adventure-php-framework.org/1.11/download/apf-configpack-1.11-2010-02-10-2026-noarch.tar.bz2
[root@centos53 config]# tar -xjf apf-configpack-1.11-2010-02-10-2026-noarch.tar.bz2


Erstellen eines Start-Templates

[root@centos53 apps]# pwd
/var/www/html/apftut/apps
[root@centos53 apps]# ll
total 312
-rw-r--r--  1 root root 251079 Jan 13 22:38 apf-codepack-1.11-2010-02-10-2026-php5.tar.bz2
drwxr-xr-x  5 root root   4096 Apr 12 15:57 config
drwxr-xr-x 16  500  513   4096 Jan 13 22:25 core
-rwxr-xr-x  1  500  513  35821 Jan  9 22:16 gpl-3.0.txt
-rwxr-xr-x  1  500  513   7802 Jan  9 22:16 lgpl-3.0.txt
drwxr-xr-x 11  500  513   4096 Jan 13 22:25 modules
drwxr-xr-x 15  500  513   4096 Jan 13 22:25 tools
[root@centos53 apps]# mkdir -p tut/site/pres/templates/ tut/site/pres/controller/
[root@centos53 apps]# vim tut/site/pres/templates/start.html
[root@centos53 apps]# cat tut/site/pres/templates/start.html
Hallo Welt!


Erstellen einer Boostrap-Datei

In der Boostrap-Datei wird das zuvor erstellte Template geladen uns ausgegeben. Dies passiert wie folgt:

[root@centos53 apps]# cd ..
[root@centos53 apftut]# pwd
/var/www/html/apftut
[root@centos53 apftut]# vim index.php
[root@centos53 apftut]# cat index.php
<?php
   require('./apps/core/pagecontroller/pagecontroller.php');
 
   $page = new Page();
   $page->set('Context','dev');
   $page->loadDesign('tut::site::pres::templates','start');
   echo $page->transform();
?>

Anschließend kann die index.php im Browser aufgerufen werden und es sollte ein

Hallo Welt!

erscheinen.


Konfigurieren des Kontaktformulars

Das Kontaktformular benötigt folgende Konfigurationen:

Formular-TagLibs

Um die Inbetriebnahme möglichst kurz zu gestalten, bedienen wir uns einfach der Beispiel-Konfigurationsdateien, in dem wir diese in den richtigen Ordner kopieren und korrekt benennen. In der index.php wurde der Context auf dev eingesetellt, das Environment wurde nicht verändert. Diese besitzt damit den Wert DEFAULT. Es sind also folgende Schritte notwendig:

[root@centos53 config]# pwd
/var/www/html/apftut/apps/config
[root@centos53 config]# mkdir -p modules/kontakt4/dev/
[root@centos53 config]# cp modules/kontakt4/EXAMPLE_empfaenger.ini modules/kontakt4/dev/DEFAULT_empfaenger.ini
[root@centos53 config]# cp modules/kontakt4/EXAMPLE_language.ini modules/kontakt4/dev/DEFAULT_language.ini
[root@centos53 config]# mkdir -p tools/mail/dev
[root@centos53 config]# cp tools/mail/EXAMPLE_mailsender.ini tools/mail/dev/DEFAULT_mailsender.ini


Inbetriebnahme / Einbindung des Formulars

Nun können wir das Kontaktformular in das oben angelegte Template - und damit in jedes APF-Template - per TagLib einbinden. Hierzu muss der Inhalt von start.html wie folgt aussehen:

[root@centos53 templates]# pwd
/var/www/html/apftut/apps/tut/site/pres/templates
[root@centos53 templates]# vim start.html
[root@centos53 templates]# cat start.html
<core:importdesign namespace="modules::kontakt4::pres::templates" template="contact" />

Bei Aufruf der index.php im Browser erscheint nun das Formular. Wie dir sicher schnell auffällt, fehlt das CAPTCHA-Bild. Hintergrund dafür ist, dass das Bild dynamisch erzeugt und mit Hilfe einer Frontcontroller-Action ausgeliefert wird. Die Konfiguration desselben erfordert folgende weitere Schritte:


Umbau index.php auf Frontcontroller

Zur Nutzung des Frontcontrollers muss die index.php wie folgt umgestaltet werden:

[root@centos53 apftut]# pwd
/var/www/html/apftut
[root@centos53 apftut]# vim index.php
[root@centos53 apftut]# cat index.php
<?php
   require('./apps/core/pagecontroller/pagecontroller.php');
 
   //$page = new Page();
   //$page->set('Context','dev');
   //$page->loadDesign('tut::site::pres::templates','start');
   //echo $page->transform();
 
   import('core::frontcontroller','Frontcontroller');
 
   $fC = &Singleton::getInstance('Frontcontroller');
   $fC->set('Context','dev');
   $fC->start('tut::site::pres::templates','start');
?>


Konfiguration der CAPTCHA-Bild-Action

Damit das Bild ausgeliefert wird, muss die Action, die dazu genutzt wird noch für den Frontcontroller konfiguriert werden. Dazu kopieren wir auch dieses mal einfach die Beispiel-Konfigurationsdateien:

[root@centos53 config]# pwd
/var/www/html/apftut/apps/config
[root@centos53 config]# mkdir -p modules/captcha/biz/actions/dev/
[root@centos53 config]# cp modules/captcha/biz/actions/EXAMPLE_actionconfig.ini modules/captcha/biz/actions/dev/DEFAULT_actionconfig.ini

Nach einem F5 wird nun auch das CAPTCHA-Bild angezeigt.


Literatur

Folgende Stellen im Tutorial sollten zum weiteren Verständnis helfen:


Einstieg in das APF

Für den Einstieg in das Framework empfiehlt es sich, das demopack-Release herunter zu laden. Dieses kann sehr einfach als "Entwicklungsumgebung" genutzt werden. Zudem ist der Thread Hilfe für APF-Neuling hier im Forum sehr hilfreich, da gerade auf das Thema Konfiguration nochmal in der Tiefe eingegangen wird.

Meine Werkzeuge
Namensräume
Varianten
Aktionen
menü
misc
Werkzeuge