A. 在php中如调用一个或几个php模板文件
如何应用FastTemplate呢?首先你需要先进行一个简单地调用:
<?php $tpl=new FastTemplate ("path"); ?>
传递给它一个路径,是所有你的模板文件存放的目录。它返回一个对象,你可以用它进行参
数赋值,生成页面等等。
FastTemplate是基于这样一种假设:一个很大的页面是由很多小的部分组成的。每一个部分有一个唯一
的名字。最小的部分是赋值给这样有着唯一名字的一段正常的文本字符串。这个可以通过
<?php
$tpl->assign(NAME, "text");
?>
来完成。现在,如果你的一个模板包含{NAME},FastTemplate 就知道你
的意图了。
另外,FastTemplate需要知道你想如何调用你的模板。你需要通过传递一个相关数组(associative
array)给 <?php $tpl->define(); ?>
来给它一个提示。
以下为引用的内容:
<?php
$tpl->define(array(foo => "foo.tpl",
bar => "bar.tpl"));
?>
这些赋值将分别给foo和bar以不同的文件(名为foo.tpl和bar.tpl)。
现在你想让FastTemplate替换在模板foo中的所有{MACROS}为相应的值。通过发出命令
以下为引用的内容:
<?php
$tpl->parse(PAGECONTENT, "foo");
?>
来实现。 这个命令将把模板"foo"的内容赋给PAGECONTENT。 当然,我们还没有做完,因为模板bar中为主要的页面定义,FastTemplate需要替换其中的
{PAGECONTENT}宏。我们也需要给PAGETITLE赋值,如下所做:
以下为引用的内容:
<?php
$tpl->assign(PAGETITLE, "FooBar test");
$tpl->parse(MAIN, "bar");
?>
容易吧,不是吗?我们现在只需要把它输出: <?php
$tpl->FastPrint(MAIN);
?>
下面三个文件显示了实际练习中的更多的细节描述。我不知道在现实生活了离了这个技术应如何生活 --
你的设计者会高兴,你的老板会微笑,因为你可以在更短的时间内做更多的事情。
以下为引用的内容:
bar.tpl
<!-- bar.tpl -->
<HTML>
<HEAD><TITLE>Feature world - {PAGETITLE}</TITLE></HEAD>
<BODY BGCOLOR=BLACK TEXT=WHITE>
<H1>{PAGETITLE}</H1>
{PAGECONTENT}
</BODY>
</HTML>
foo.tpl <!-- foo.tpl -->
很明显示什么都没做。请看{NAME}.
以下为引用的内容:
demo.php3
<?php
include "class.FastTemplate.php3";
$tpl = new FastTemplate( ".");
$tpl->define(array(foo => "foo.tpl", bar => "bar.tpl"));
$tpl->assign(NAME, "me");
$tpl->assign(PAGETITLE, "Welcome!");
$tpl->parse(PAGECONTENT, "foo");
$tpl->parse(MAIN, "bar");
$tpl->FastPrint(MAIN);
?>
创建整个表格
我也写了一个短的例子,用来演示如何通过单行模板来生成整个表格。它很有效,因为你仍然不需要直
接修改HTML文档。
我们增加一个模板的内容到一个已经定义过的唯一命名的后面来创建HTML表格。这个可以通过在调用
$tpl->parse()时,在模板名前加上一个"."来实现。 <?php
// 将模板foo的内容赋给TPL1
$tpl->parse(TPL1, "foo");
// 在TPL1后附上模板bar的内容
$tpl->parse(TPL1, ".bar");
?>
page.tpl
以下为引用的内容:
<HTML>
<HEAD><TITLE>Feature world - {PAGE_TITLE}</TITLE></HEAD>
<BODY BGCOLOR=BLACK TEXT=WHITE>
<H1>{PAGE_TITLE}</H1>
{PAGE_CONTENT}
</BODY>
</HTML>
table.tpl
以下为引用的内容:
<TABLE>
<TR> <TH>name</TH> <TH>size</TH> </TR>
{TABLE_ROWS}
</TABLE>
table_row.tpl
以下为引用的内容:
<TR>
<TD>{FILENAME}</TD>
<TD>{FILESIZE}</TD>
</TR>
yad.php3
以下为引用的内容:
<?php
include "class.FastTemplate.php3";
function InitializeTemplates() {
global $tpl;
$tpl = new FastTemplate( ".");
$tpl->define( array( page => "page.tpl",
table => "table.tpl",
table_row => "table_row.tpl" ) );
}
function ReadCurrentDirectory() {
global $tpl;
$handle = opendir( ".");
while($filename = readdir($handle)) {
$tpl->assign(FILENAME, $filename);
$tpl->assign(FILESIZE, filesize($filename));
$tpl->parse(TABLE_ROWS, ".table_row");
}
closedir($handle);
$tpl->parse(PAGE_CONTENT, "table");
}
function PrintPage($title) {
global $tpl;
$tpl->assign(PAGE_TITLE, $title);
$tpl->parse(FINAL, "page");
$tpl->FastPrint(FINAL);
}
InitializeTemplates();
ReadCurrentDirectory();
Printpage( "Yet Another Demo");
?>
B. php中,有哪些模板
为了找到一个好的模板引擎,我在互联网上进行搜索,目前已经整理出了以下名单:
Smarty
Smarty的特点是将模板编译成PHP脚本,然后执行这些脚本。很快,非常灵活。
是一个模板类,一般也简称为模板。Smarty里面有专门的模板引擎。模板的主要功能就是逻辑与显示的分离,也就是PHP和HTML的分离。
Heyes Template Class
一个非常容易使用,但功能强大并且快速的模板引擎,它帮助你把页面布局和设计从代码中分离。
FastTemplate
一个简单的变量插值模板类,它分析你的模板,把变量的值从HTML代码中分离处理。
ShellPage
一个简单易用的类,可以让你的整个网站布局基于模板文件,修改模板就能改变整个站点。
STP Simple Template Parser
一个简单、轻量级并且易于使用的模板分析类。它可以从多个模板中组装一个页面,把结果页面输出到浏览器或者文件系统。
OO Template Class
一个你可以用在自己程序中的面向兑现的模板类。
SimpleTemplate
一个可以创建和结构化网站的模板引擎。它可以解析和编译模板。
bTemplate
短小但是快速的模板类,允许你把PHP逻辑代码从HTML修饰代码中分离。
Savant
一个强大且轻量级的PEAR兼容模板系统。它是非编译型的,使用PHP语言本身做为它的模板语言。
ETS - easy template system
可以使用完全相同数据重组模板的模板系统。
EasyTemplatePHP
适用于你的站点的一个简单但是强大的模板系统。
vlibTemplate
一个快速、全能的模板系统,它包含一个缓存和调试类。
AvanTemplate
多字节安全的模板引擎,占用很少系统资源。它支持变量替换,内容块可以设置显示或隐藏。
Grafx Software’s Fast Template
一个修改版本的Fast Template系统,它包括缓存功能,调试控制台以及沉默去除为赋值块。
TemplatePower
一个快速、简单、功能强大的模板类。主要功能有嵌套的动态块支持,块/文件包含支持以及显示/隐藏未赋值的变量。
TagTemplate
这个库的功能被设计来使用模板文件,同时允许你从HTML文件检索信息。
htmltmpl: templating engine
一个适用于Python和PHP的模板引擎。它面向希望在项目中分离代码和设计的web应用开发人员。
PHP Class for Parsing Dreamweaver templates
一个分析Dreamweaver模板的简单类,被用于Gallery 2 和WordPress的自定义模块中。
MiniTemplator (Template Engine)
针对HTML文件的一个紧凑型模板引擎。对于模板变量和块定义它具有简单的语法。其中块可以嵌套。
Layout Solution
简化网站开发和维护。它拥有常用的变量和页面元素使你不需要重复做页面布局工作。
Cached Fast Template
它已经纳入FastTemplate,允许你缓存模板文件,甚至可以在分离的块内容上缓存不同的规格。
TinyButStrong
一个支持MySQL, Odbc, Sql-Server和ADODB的模板引擎。它包含7个方法和两个属性。
Brian Lozier’s php based template engine
只有2K大小,非常快并且是面向对象设计。
WACT
一个从设计中分离代码的模板引擎。
PHPTAL
一个PHP下面的XML/XHTML模板库。
希望可以帮到你!
C. dede list.php调用的模板是哪个
list.php中调用的模板是根据当前模板 调用对应的列表页模板。
比如说:普通文章 调用的是list_article.htm
产品模型 调用的就是list_shop.htm
D. PHPCMS中,栏目首页模板和栏目列表页模板有什么区别呢什么时候在哪里用栏目首页模板哪里用列表模板
后台查看{tag_一级栏目文章列表}
这个标签,看里面的频道值是什么,是否是$channelid
E. 如何用php调用&quot;模板变量&quot;呢
我在列表模板中,用了PHP语言做一些条件判断为了维护方法,我有些内容放在模板变量中现在我需要用PHP调用这些模板变量中的内容,请问怎么调
用
F. 列表模板list.var不支持php代码了
支持的,勾选支持程序代码,你的模板都要用php表示
G. phpcms模板设置里面没有显示栏目首页模板,栏目列表页模板,内容页模板。
首页的必须是index开头,.html结尾
栏目首页的模板必须category开头,,,.html结尾
列表页的模板必须list开头.html结尾
内容模板必须show开头.html结尾
你去下模板文件夹下看看有没有这些文件,
H. php 的框架与模板
楼主的认知不对哦,以下为楼主解惑:
框架:在php源码的基础上,开发者将常用的功能进行二次封装形成的代码集合,其本身往往不具备任何可用的功能,其目的仅仅是使开发人员可以基于框架更快的开发出符合要求的应用。例如,不使用框架开发一个用户管理功能可能需要5天,使用框架可以将这个时间缩短到2天。实际上,对于任何一个项目,访问控制、数据库访问、文件处理等功能都是必备的,框架就是将这些常用功能进行了更易用的封装,避免开发人员在通用组件上重复开发,浪费时间。
模板:为了将PHP内容和html内容更好的分离为目的产生的一种应用,其主要目的是为了网页制作人员可以不去学习PHP就能修改页面的内容(可惜不学PHP还要学smarty,因此我个人并不觉得模板真的能带来什么实际的好处)
另外,如dede,DZ,PHPCMS等是基于PHP的产品,本身已经具备了大量的功能,安装之后就能使用,当然,因为需求的不同可能需要在该产品的基础上进行二次开发。
综述,模板没有太大的价值,完全可以在非用不可的时候再去学习,对于PHP开发人员来说,smarty可以立刻上手。它可以(也只能)被框架或PHP产品使用。框架是必须掌握的,定制性很强的项目必然都是基于框架开发的。PHP产品,如果你要开发的项目和某个PHP产品的功能达到80%以上的契合,那么应该考虑基于该产品进行开发。
一些网站提供简单的博客,留言板等的源码,不基于框架的小项目实际上只能称为练习,只有参考价值。
注:不是说不使用框架的项目就不算项目,事实上如果一个项目如果没有使用某某框架,其项目的一部分代码也必然的会具有框架的特征,即自定义框架也是框架。
I. PHP模板怎么用
php网站模板使用方法如下:
逻辑和现实分离,显示全部用静态页面的html代码。
把要显示的变量用一个特定的字符串放进去(一般都是<!--{$str}-->这种形式)。当然,模板文件不一定非要是html后缀,你可以用任何后缀。
逻辑层处理完业务逻辑就要包含模板文件显示了。
包含的思想就是用fopen打开文件,把文件内容读到一个字符串变量里。
然后用正则表达式把<!--{$str}-->替换成$str,最后用echo输出就行了。
J. 常用的PHP模板有哪些
楼主说的是php模板引擎,还是php开源系统的模板。如果是模板引擎有smarty,若是开源系统的模板那就很多,discuz模板,主要做论坛,dedecms模板可以做文章,图片,门户是比较全的。还有ecshop模板,做商城等!