折腾一个下午,把smarty和html_QuikForm联结到一起了源码:
test.php
require_once "HTML/QuickForm.php";
require_once 'HTML/QuickForm/Renderer/ArraySmarty.php';
require_once 'link/myload.php';
$form = new HTML_QuickForm('frmTest', 'get');
$form->addElement('header', 'hdrTesting', 'Smarty&HTML/QuickForm联合编程实验');
$form->addElement('text', 'txtFirstName', '贵姓?');
$form->addElement('text', 'txtLastName', '尊名?');
$form->addElement('text', 'txtAge', '年龄?');
$form->addElement('text', 'txtTelephone', '电话?');
$form->addElement('reset', 'btnClear', '复位');
$form->addElement('submit', 'btnSubmit', '提交');
if ($form->validate()) {
# If the form validates then freeze the data
$form->freeze();
}
// Create the template object
$tpl =$smarty=& new Smarty_my;
$tpl->compile_check = true;
// Create the renderer object
$renderer =& new HTML_QuickForm_Renderer_ArraySmarty($tpl);
// build the HTML for the form
$form->accept($renderer);
// assign array with form data
$tpl->assign('form_data', $renderer->toArray());
// parse and display the template
$tpl->display('my.tpl');
?>
mylink.php
// load Smarty library
define('myclude',/usr/share/php/smarty');
require(myinclude.'/libs/Smarty.class.php');
//setup.php是一个很好的加载应用程序的类库文件(就是扩展类)
//例如你可以在index文件里包含它
class Smarty_my extends Smarty {
function Smarty_my() {
// Class Constructor. These automatically get set with each new instance.
//类构造函数.创建实例的时候自动配置
$this->Smarty();
$this->template_dir = '/var/www/apache2-default/smarty/xsgl/templates/';
$this->compile_dir = '/var/www/apache2-default/smarty/xsgl/templates_c/';
$this->config_dir = '/var/www/apache2-default/smarty/xsgl/configs/';
$this->cache_dir = '/var/www/apache2-default/smarty/xsgl/cache/';
$this->caching = true;
$this->assign('app_name','xsgl');
}
}
模板文件my.tpl
< ;!-- $Id:smarty-guide.tpl,v 1.1 2005/03/03 19:26:54 kae Exp $ -->