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模板,做商城等!