zoukankan      html  css  js  c++  java
  • windows上使用smarty模板

    Ok I worked out the bugs. Hopefully this information will help other folks that want to install Smarty on Windows. I wish I had this info when I started, the documentation is geared towards *nix and is confusing but it was a good learning experience. (Thanks to boots for making the whole 'templates' folder click in my head)
    
    Hopefully, Monte or the Smarty folks will include this info on their web or more importantly in the installation documentation in the Smarty download.
    
    John
    
    -----------------------------------------------
    Installing Smarty in Windows
    
    This document assumes that your webserver and php5 is running.
    
    Download Smarty - http://smarty.php.net
    
    Installation - Windows, IIS/Apache, PHP5
    Extract files, rename Smarty.x.x.x to smarty (suggest OUTSIDE of your www root!)
    Example: d:\smarty
    Run phpinfo.php to find out your php.ini location
    Edit php.ini's include_path and add the location of the libs folder. 
    example: include_path = ".;d:\smarty\libs" 
    Restart IIS/Apache
    Setup these two folders INSIDE your www root:
    (wwwroot)/smarty/templates  (this is where your templates will go)
    (wwwroot)/smarty/configs
    
    Setup these two folders OUTSIDE of your www root:
    d:/smarty/templates_c
    d:/smarty/cache
    
    Setup security settings for the webserver to write to these four folders
    
    In (wwwroot) create index.php and in (wwwroot)/smarty/templates/index.tpl with the following code:
    
    index.php:
    <?php
    
    // load Smarty library
    require('Smarty.class.php');
    
    $smarty = new Smarty;
    
    $smarty->template_dir = 'd:/inetpub/wwwroot/smarty/templates';
    $smarty->config_dir = ' d:/inetpub/wwwroot/smarty/config';
    $smarty->cache_dir = 'd:/smarty/smarty_cache';
    $smarty->compile_dir = 'd:/smarty/smarty_templates_c';
    
    $smarty->assign('name','fish boy!');
    
    $smarty->display('index.tpl');
    ?>
    
    index.tpl
    <html>
    <body>
    Hello, {$name}!
    </body>
    </html>
    
    Now open index.php in your web browser (requested from your webserver)
    
    http://webserver/index.php
    
    You can work this out to a referenced script/class:
    smarty_connect.php:
    <?php
    
    // load Smarty library
    require('Smarty.class.php');
    
    class smarty_connect extends Smarty 
    {
       function smarty_connect()
       {
            // Class Constructor. 
            // These automatically get set with each new instance.
    
    		$this->Smarty();
    
    		$this->template_dir = ' d:/inetpub/wwwroot/smarty/templates';
    		$this->config_dir = ' d:/inetpub/wwwroot/smarty/config';
    		$this->compile_dir = 'd:/smarty/templates_c';
    		$this->cache_dir = 'd:/smarty/cache';
    
    		$this->assign('app_name', 'Intranet');
       }
    }
    ?>
    
    index.php:
    <?php
    
    require('smarty_connect.php');
    
    $smarty = new smarty_connect;
    
    $smarty->assign('name','Ned');
    
    $smarty->display('index.tpl');
    ?>
    
    index.tpl:
    <html>
    <body>
     Hello, {$name}!
    </body>
    </html>
    
    
    If you are getting an error that Smarty.class.php isn't found chances are that your include_path isn't correct or you didn't edit the one that the webserver is using, check your phpinfo.php!
     
    
  • 相关阅读:
    Webx5 label的取值和赋值(div)
    webx5 复选框的显示
    WebX5 Data遍历以及获取数组最后一个元素(更新)
    API集市--分享API
    WebX5 Data判断当前行的值是否改变,以及改变当前行的状态
    WebX5手机GPS定位,无需开启网络
    JS:var 变量=变量 && 变量
    jQuery的ready ()的几种写法
    .net 微信支付(公众号支付)遇到的问题
    .net中的Dictionary字典类的使用方法
  • 原文地址:https://www.cnblogs.com/buffer/p/1739821.html
Copyright © 2011-2022 走看看