Einrichtung Kontakt-Formular
Aus APF Wiki [de]
Um den Einstieg zu erleichtern, hier ein copy&paste-Rezept für die Einbindung des Kontaktformulars:
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:
- *_empfaenger.ini (Namespace: modules::kontakt4): Konfiguration der Empfänger
- *_language.ini (Namespace: modules::kontakt4): Konfiguration der sprachabängigen Texte
- *_formconfig.ini (Namespace: tools::form::taglib): Konfiguration der abhängigen Konfiguration für die
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:
- http://adventure-php-framework.org/Seite/033-Konfiguration#Chapter-2-Bennenung-Pfade-und-Dateien
- http://adventure-php-framework.org/Seite/098-Pagecontroller
- http://adventure-php-framework.org/Seite/012-Frontcontroller
- http://adventure-php-framework.org/Seite/094-Module-CAPTCHA-Taglib
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.