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; ?>:显示碎语数目