18.JIEQI CMS模板 - 7.頁(yè)面定制(二)
七、頁(yè)面定制
2、定制一個(gè)頁(yè)面,使用系統(tǒng)框架(也就是用默認(rèn)的頂部導(dǎo)航和底部鏈接)
主要程序部分如下:
<?php
define('JIEQI_MODULE_NAME', 'system'); //定義本頁(yè)面屬于那個(gè)模塊
require_once('global.php'); //包含通用程序,每個(gè)頁(yè)面必須高喊
jieqi_getconfigs(JIEQI_MODULE_NAME, 'blocks'); //包含區(qū)塊參數(shù),沒(méi)有區(qū)塊的話可以注釋掉
include_once(JIEQI_ROOT_PATH.'/header.php'); //包含頁(yè)頭處理
$jieqiTpl->setCaching(0); //這個(gè)值是 0 表示不用緩存,1 表示啟用緩存
$jieqiTpl->assign('jieqi_contents',$jieqiTpl->fetch(JIEQI_ROOT_PATH.'/templates/custom1.html')); //這里設(shè)置需要調(diào)用的模板
include_once(JIEQI_ROOT_PATH.'/footer.php'); //包含頁(yè)尾處理
?>
本例與上例主要區(qū)別是:
上例使用 $jieqi_page_template=JIEQI_ROOT_PATH.'/templates/custom.html'; 設(shè)置模板,表示本模板是完整頁(yè)面,不使用系統(tǒng)框架。
本例使用 $jieqiTpl->assign('jieqi_contents',$jieqiTpl->fetch(JIEQI_ROOT_PATH.'/templates/custom1.html')); 表示系統(tǒng)系統(tǒng)框架,本模板作為框架里面的內(nèi)容部分。
在本例中,只要載入?yún)^(qū)塊配置文件,就會(huì)默認(rèn)顯示區(qū)塊,不用另外在模板設(shè)置區(qū)塊顯示標(biāo)簽了。
18.JIEQI CMS模板 - 7.頁(yè)面定制(二)
七、頁(yè)面定制
2、定制一個(gè)頁(yè)面,使用系統(tǒng)框架(也就是用默認(rèn)的頂部導(dǎo)航和底部鏈接)
主要程序部分如下:
<?php
define('JIEQI_MODULE_NAME', 'system'); //定義本頁(yè)面屬于那個(gè)模塊
require_once('global.php'); //包含通用程序,每個(gè)頁(yè)面必須高喊
jieqi_getconfigs(JIEQI_MODULE_NAME, 'blocks'); //包含區(qū)塊參數(shù),沒(méi)有區(qū)塊的話可以注釋掉
include_once(JIEQI_ROOT_PATH.'/header.php'); //包含頁(yè)頭處理
$jieqiTpl->setCaching(0); //這個(gè)值是 0 表示不用緩存,1 表示啟用緩存
$jieqiTpl->assign('jieqi_contents',$jieqiTpl->fetch(JIEQI_ROOT_PATH.'/templates/custom1.html')); //這里設(shè)置需要調(diào)用的模板
include_once(JIEQI_ROOT_PATH.'/footer.php'); //包含頁(yè)尾處理
?>
本例與上例主要區(qū)別是:
上例使用 $jieqi_page_template=JIEQI_ROOT_PATH.'/templates/custom.html'; 設(shè)置模板,表示本模板是完整頁(yè)面,不使用系統(tǒng)框架。
本例使用 $jieqiTpl->assign('jieqi_contents',$jieqiTpl->fetch(JIEQI_ROOT_PATH.'/templates/custom1.html')); 表示系統(tǒng)系統(tǒng)框架,本模板作為框架里面的內(nèi)容部分。
在本例中,只要載入?yún)^(qū)塊配置文件,就會(huì)默認(rèn)顯示區(qū)塊,不用另外在模板設(shè)置區(qū)塊顯示標(biāo)簽了。
19.JIEQI CMS模板 - 7.頁(yè)面定制(三)
七、頁(yè)面定制
3、定制系統(tǒng)默認(rèn)的程序頁(yè)面,使其調(diào)用不同的框架或者區(qū)塊,可以在主體內(nèi)容模板設(shè)置相應(yīng)的參數(shù)來(lái)實(shí)現(xiàn)。
注:前面兩種定制都是指在現(xiàn)有網(wǎng)站的基礎(chǔ)上,增加一個(gè)獨(dú)立的頁(yè)面。而這里的定制是指在不修改系統(tǒng)程序基礎(chǔ)上,通過(guò)調(diào)整模板來(lái)實(shí)現(xiàn)系統(tǒng)程序頁(yè)面的不同顯示方式。
以系統(tǒng)的個(gè)人信息頁(yè)面為例,這個(gè)頁(yè)面對(duì)應(yīng)的
程序: /userdetail.php
模板: /templates/userdetail.php
區(qū)塊配置:/configs/userblocks.php
3.1 如果要其他的框架模板,比如:/templates/theme1.html
模板 /templates/userdetail.php 頂部加入設(shè)置標(biāo)簽
{?set jieqi_page_template = "templates/theme1.html"?}
這樣修改后的效果是,這個(gè)頁(yè)面可以不使用系統(tǒng)默認(rèn)的導(dǎo)航、css之類效果。
注意:引號(hào)里面是模板相對(duì)網(wǎng)站根目錄的路徑和名稱,前面不帶 "/",或者使用完整的地址,如 {?set jieqi_page_template = "E:/web/templates/theme1.html"?}
3.2 如果要調(diào)用不同區(qū)塊配置文件,如 /configs/block1.php
模板 /templates/userdetail.html 頂部加入設(shè)置標(biāo)簽
{?set jieqi_blocks_module = "system"?}
{?set jieqi_blocks_config = "block1"?}
這里第一行是表示這個(gè)區(qū)塊配置屬于哪個(gè)模塊的,第二行是表示區(qū)塊配置文件名稱(不含后綴名)。
上面的標(biāo)簽就是載入?yún)^(qū)塊配置文件 /configs/block1.php
如果 {?set jieqi_blocks_module = "article"?} 則載入的配置文件是 /configs/article/block1.php
3.3 不使用區(qū)塊配置文件,直接模板中調(diào)用區(qū)塊的模式
調(diào)用區(qū)塊標(biāo)簽樣例如下:
{?block bid="9" module="system" filename="" classname="BlockSystemCustom" side="0" title="本站公告" vars="" template="" contenttype="1" custom="1" publish="3" hasvars="0"?}
bid - 區(qū)塊數(shù)字序號(hào),不同區(qū)塊不要重復(fù)即可
module - 區(qū)塊所屬的模塊名
class - 區(qū)塊程序文件名
classname - 區(qū)塊程序里面的類名
side - 區(qū)塊顯示的位置,在本模式下不起作用
title - 區(qū)塊標(biāo)題
vars - 區(qū)塊相關(guān)參數(shù)
template - 區(qū)塊調(diào)用的模板文件名
contenttype - 區(qū)塊內(nèi)容類型,0-文本,1-html,2-script,3-html+script,4-php
custom - 是否自定義區(qū)塊,0-否,1-是
publish - 區(qū)塊顯示模式, 1-僅登錄前顯示, 2-僅登錄后顯示, 3-都顯示
hasvars - 本區(qū)塊是否支持參數(shù),0-不支持,1-支持
注意:一個(gè)區(qū)塊的當(dāng)前參數(shù),可以在后臺(tái)區(qū)塊管理里面看到。
3.4 重新定義原有的系統(tǒng)標(biāo)簽內(nèi)容
以文章信息頁(yè)面為例,內(nèi)容主模板為 /modules/article/templates/articleinfo.html
默認(rèn)情況下,整個(gè)網(wǎng)頁(yè)的 title 內(nèi)容是系統(tǒng)自動(dòng)生成,并賦值在標(biāo)簽 {?$jieqi_pagetitle?}
如果用戶要重新定義本頁(yè)面的title內(nèi)容,可以在articleinfo.html頂部加入以下設(shè)置
{?set $jieqi_pagetitle = "文章信息頁(yè)面"?}
表示把 {?$jieqi_pagetitle?} 這個(gè)標(biāo)簽內(nèi)容重新定義為字符串 "文章信息頁(yè)面"
其中""里面內(nèi)容也可以使用本頁(yè)的其他標(biāo)簽變量,如
{?set $jieqi_pagetitle = "$articlename - $author - 我的網(wǎng)站"?}
這樣title顯示效果就是本頁(yè)的 文章名 - 作者 - 我的網(wǎng)站
其他系統(tǒng)標(biāo)簽也可以用這個(gè)方法重新定義,如
{?set $meta_keywords = "$articlename $author"?}
20.JIEQI CMS模板 - 8.包含子模板
八、包含子模板
{?include file = "filesname" ?}
其中filesname是模板文件名
比如:
{?include file = "test.html" ?}
{?include file = "/web/templates/test.html" ?}