emlog基本模板文件

必須文件:

main.css: CSS(樣式表)文件

log_list.php: 日志列表頁模板

echo_log.php: 日志頁模板

page.php: 頁面(page)模板

footer.php: Footer模板

header.php: Header模板

t.php: 碎語模板

module.php: 包含widgets、評論、引用、編輯等

可選文件:

side.php : 側邊欄模板


基本條件判斷Tag

$curpage:當前頁面表示,常用判斷tag如下:

$curpage== CURPAGE_HOME:首頁

$curpage == CURPAGE_TW:碎語頁

$curpage == CURPAGE_LOG:日志、page頁

ROLE:當前訪問者身份

ROLE == 'admin':管理員

ROLE == 'writer':聯合撰寫人

ROLE == 'vistor':未登錄用戶


模板PHP標簽說明

通用:

<?php if(!defined('EMLOG_ROOT')) {exit('error!');} ?>存在每個php文件頭部,防止非法訪問

<?php include getViews('XXXX');; ?>: 調用當前模板目錄下XXXX.php文件

<?php echo EMLOG_VERSION;?>:顯示當前emlog版本

<?php echo TEMPLATE_URL; ?>: 顯示模板文件路徑

<?php echo BLOG_URL; ?>: 顯示博客Url

<?php echo $blogtitle; ?>: 顯示博客標題(會根據當前頁面變化)

<?php echo $blogname; ?>: 顯示博客名稱

<?php echo $bloginfo; ?>:顯示博客描述

<?php echo $icp; ?>:顯示備案號

<?php endforeach; ?>: 循環結束,需和<?php foreach(xxxx): ?>配對

<?php endif;?>:結束if標簽,需和<?php if(xxxx): ?>配對


header.php

<?php

/*

Template Name:模板名稱

Description:模板描述

Author:模板作者

Author Url:作者主頁

Sidebar Amount:側邊欄數目,最大4

*/

?>

模板注釋,存在于header.php頭部,可為空


<?php doAction('navbar', '左標簽', '右標簽'); ?>:插件掛載點,用于導航欄,左右標簽為html標簽,用以控制樣式,可為空

<?php if($istwitter == 'y'):?>:如果后臺設置前臺可見碎語鏈接

<?php

foreach ($navibar as $key => $val):

if ($val['hide'] == 'y'){continue;}

if (empty($val['url'])){$val['url'] = BLOG_URL.'?post='.$key;}

?>:開始導航循環


footer.php

<?php doAction('index_footer'); ?>:插件掛載點(用于統計代碼等)


echo_log.php

<?php topflg($top); ?>:置頂標志,函數存在于module.php

<?php echo $log_title; ?>:顯示日志、page標題

<?php echo $log_content; ?>:顯示日志內容

<?php blog_sort($sortid, $logid); ?>:顯示分類,該函數存在于module.php

<?php editflg($logid,$author); ?>:顯示編輯鏈接,函數存在于module.php

<?php blog_author($author); ?>:顯示日志作者,函數存在于module.php

<?php echo gmdate('Y-n-j G:i l', $date); ?>:日志發表時間,格式是2010-12-11 19:05 30,格式可修改

<?php blog_att($logid); ?>:顯示日志附件(圖片附件不顯示),函數存在于module.php

<?php blog_tag($logid); ?>:顯示日志標簽,函數存在于module.php

<?php doAction('log_related'); ?>:插件掛載點(用于相關日志等)

<?php neighbor_log(); ?>:顯示相鄰日志,函數存在于module.php

<?php blog_trackback(); ?>:顯示引用通告地址及引用,函數存在于module.php

<?php blog_comments(); ?>:顯示日志評論,函數存在于module.php

<?php if ($allow_remark == 'y'){blog_comments_post();}?>:根據是否允許評論顯示評論表單,函數存在于module.php


page.php

<?php echo $log_title; ?>:顯示日志、page標題

<?php echo $log_content; ?>:顯示日志內容

<?php blog_att($logid); ?>:顯示附件(圖片附件不顯示),函數存在于module.php

<?php if ($allow_remark == 'y'){blog_comments();blog_comments_post();} ?>

:根據是否允許評論顯示評論和評論表單,函數存在于module.php


log_list.php

<?php doAction('index_loglist_top'); ?>:插件掛載點,存在于列表頂部(用于公告等)

<?php foreach($logs as $value): ?>: 開始循環輸出日志列表

---------------------------------以下僅存在于<?php foreach($logs as $value): ?>和<?php endforeach; ?>之間

<?php topflg($value['top']); ?>:置頂標志,函數存在于module.php

<?php echo $value['log_title']; ?>:顯示日志標題

<?php echo $value['log_description']; ?>:顯示日志摘要

<?php blog_sort($value['sortid'], $value['logid']); ?>:顯示分類,該函數存在于module.php

<?php editflg($value['logid'],$value['author']); ?>:顯示編輯鏈接,函數存在于module.php

<?php blog_author($value['author']); ?>:顯示日志作者,函數存在于module.php

<?php echo gmdate('Y-n-j G:i l', $value['date']); ?>:日志發表時間,格式是2010-12-11 19:05 30,格式可自行修改

<?php blog_att($value['logid']); ?>:顯示日志附件(圖片附件不顯示),函數存在于module.php

<?php blog_tag($value['logid']); ?>:顯示日志標簽,函數存在于module.php

<?php echo $value['comnum']; ?>:評論數

<?php echo $value['tbcount']; ?>:引用數

<?php echo $value['views']; ?>:瀏覽數

----------------------------------以上僅存在于<?php foreach($logs as $value): ?>和<?php endforeach; ?>之間

<?php echo $page_url;?>:顯示分頁


side.php

<?php $widgets = !empty($options_cache['widgetsX']) ? unserialize($options_cache['widgetsX']) : array(); ?>

:該頁面要加載的widgets,X為數字,不超過header.php里設置的側邊欄數目

<?php doAction('diff_side'); ?>:插件掛載點

<?php

foreach ($widgets as $val)

{

$widget_title = @unserialize($options_cache['widget_title']);

$custom_widget = @unserialize($options_cache['custom_widget']);

if(strpos($val, 'custom_wg_') === 0)

{

$callback = 'widget_custom_text';

if(function_exists($callback))

{

call_user_func($callback, htmlspecialchars($custom_widget[$val]['title']), $custom_widget[$val]['content'], $val);

}

}else{

$callback = 'widget_'.$val;

if(function_exists($callback))

{

preg_match("/^.*\s\((.*)\)/", $widget_title[$val], $matchs);

$wgTitle = isset($matchs[1]) ? $matchs[1] : $widget_title[$val];

call_user_func($callback, htmlspecialchars($wgTitle));

}

}

}

?>:這一長串用于顯示widgets


module.php(建議參考默認模板里的注釋)

function widget_xxxx($title):顯示widgets函數,如widget_blogger($title)顯示博主信息


t.php

<?php

foreach($tws as $val):

$author = $user_cache[$val['author']]['name'];

$avatar = empty($user_cache[$val['author']]['avatar']) ?

BLOG_URL . 'admin/views/' . ADMIN_TPL . '/images/avatar.jpg' :

BLOG_URL . $user_cache[$val['author']]['avatar'];

$tid = (int)$val['id'];

?>:開始循環輸出碎語

<?php echo $author; ?>:顯示碎語發布者

<?php echo $val['t'];?>:顯示碎語內容

<?php echo $pageurl;?>:顯示碎語分頁

<?php echo $twnum; ?>:顯示碎語數目