smarty和html_QuikForm联合编程

  折腾一个下午,把smarty和html_QuikForm联结到一起了源码:

test.php

<?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

<?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

<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.0 Transitional//EN”>
  <!–  $Id: smarty-guide.tpl,v 1.1 2005/03/03 19:26:54 kae Exp $ –>
 <head>
<link rel=”stylesheet” type=”text/css” href=”css/my.css” />
<meta http-equiv=”Content-Type” content=”text/html; charset=UTF-8″ >
 
  </head>

  <body>
  <h2>
   
  </h2>
  <form >
    <!– Display the fields –>
    <table>
      <tr>
        <th></th>
        <td></td>
        <th></th>
        <td></td>
      </tr>
      <tr>
        <th></th>
        <td></td>
        <th></th>
        <td></td>
      </tr>
      <!– Display the buttons –>
      <tr>
        <td align=”center” colspan=”4″>
          &nbsp;
        </td>
      </tr>
      <!– Display the copyright –>
      <tr>
        <td style=”font-size:11px; color: navy; text-align: center” colspan=”4″>
          &copy;2005 陈刚 实验
        </td>
      </tr>
    </table>

  层叠式样表文件my.css

body {
    background-color: #10F2E7;
}

 table  
n {
    font-size: small;
    font-family: arial, helvetica, sans-serif;
}
table {
    overflow: scroll;
    margin: 0.1px;
    font-weight: lighter;
    font-family: arial, helvetica, sans-serif;
}