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