emlog的模板位于content\templates\文件夹下,安装只需解压上传到该目录,然后在管理后台选择该模板即可更换模板。
emlog的模板一般包括如下文件:
images文件夹:存放模板所需图片。
echo_log.php:显示日志内容。(下面图中标7的部分)
footer.php:页面底部。(下面图中标4的部分)
header.php:页面头部。(下面图中标1的部分)
log_list.php:显示日志列表内容。(下面图中标3的部分)
main.css:模板的css文件。
module.php:模板公共代码,包含侧边widgets、评论、引用、编辑等。
page.php:自定义的页面内容的模板。(下面图中标6的部分)
preview.jpg:在后台模板选择界面显示的模板预览图,300X225jpg格式。
side.php:模板侧边栏文件,如制作单栏模板则该文件不是必须的。(下面图中标2的部分)
t.php:显示emlog系统自带的微博(碎语)内容。
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; ?>:显示碎语数目
---
挂载点:doAction('adm_main_top') 所在文件:admin/views/default/header.php 描述:后台红线区域扩展 挂载点:doAction('adm_head') 所在文件:admin/views/default/header.php 描述:后台头部扩展:可以用于增加后台css样式、加载js等 挂载点:doAction('adm_siderbar_ext') 所在文件:admin/views/default/header.php 描述:后台侧边栏 功能扩展 子菜单扩展,用于插件单独页面。 挂载点:doAction('save_log', $blogid) 所在文件:admin/save_log.php 描述:新增日志、修改日志扩展点 挂载点:doAction('del_log', $key) 所在文件:admin/admin_log.php 描述:删除日志操作扩展点 挂载点:doAction('adm_writelog_head', $key) 所在文件: admin/add_log.phpadmin/add_page.phpadmin/edit_log.php admin/edit_page.php 描述:可以再红框处显示扩展内容,如插入网络相册照片的插件。 挂载点:doAction('comment_post') 所在文件:./index.php 描述:发表评论扩展点(写入评论前)。可用于垃圾评论防范 挂载点:doAction('comment_saved’) 所在文件:include/model/comment_model.php 描述:发表评论扩展点(写入评论后)。用于发布评论成功的后续操作,如发通知邮件 挂载点:doAction('log_related',$logData) 所在文件:content/templates/default/echo_log.php 描述:阅读日志页面扩展点、用于增加日志相关内容 挂载点:doAction('navbar', '<li>', '</li>') 所在文件:content/templates/default/header.php 描述:用于扩展导航条。例如相册插件会利用这个 挂载点生成一个相册的导航链接 挂载点:doAction('index_head') 所在文件:Content/templates/default/header.php 描述:前台头部扩展:可以用于增加前台css样式、加载js等 挂载点:doAction('index_footer') 所在文件:content/templates/default/footer.php 描述:首页底部扩展点 挂载点:doAction('comment_reply', $commentId, $reply) 所在文件:admin/comment.php 描述:回复评论扩展点 挂载点:doAction('data_prebakup') 所在文件:admin/data.php 描述:扩展备份数据库页面,可以对插件增加的表进行备份 挂载点:doAction('rss_display') 所在文件:rss.php 描述:Rss输出扩展 挂载点:doAction('attach_upload') 所在文件:include/lib/function.base.php 描述:扩展附件上传,如增加图片水印效果等 挂载点:doAction('url_rewrite') 所在文件:include/lib/function.base.php 描述:扩展url重写,可以自定义其他url优化方案 挂载点:doAction('adm_comment_display') 所在文件:admin/views/comment.php 后台评论显示扩展,可以用于查询评论人ip所在地域 挂载点:doAction('index_loglist_top') 所在文件:content/templates/default/log_list.php 描述:日志列表顶部扩展点,如显示公告等 挂载点:doAction('diff_side') 所在文件:content/templates/default/side.php 描述:侧边栏控制扩展点 挂载点:doAction('reply_twitter', $r, $name, $date, $tid) 所在文件:t/index.php 描述:回复碎语扩展点,用于回复邮件提醒等 挂载点:doAction('post_twitter', $t) 所在文件: /m/index.php /admin/twitter.php 描述:发布碎语扩展点,用于碎语和其他微博类产品同步等
发表评论: