EMLOG模板制作手册
emlog吧
全部回复
仅看楼主
level 14
一楼度娘
2014年06月13日 09点06分 1
level 14
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 :侧边栏模板
2014年06月13日 09点06分 2
level 14
基本条件判断Tag
$curpage:当前页面表示,常用判断tag如下:
$curpage==CURPAGE_HOME:首页
$curpage ==CURPAGE_TW:碎语页
$curpage ==CURPAGE_LOG:日志、page页
ROLE:当前访问者身份
ROLE == 'admin':管理员
ROLE == 'writer':联合撰写人
ROLE == 'vistor':未登录用户
模板PHP标签说明
2014年06月13日 09点06分 3
level 14
通用:
<?phpif(!defined('EMLOG_ROOT')) {exit('error!');} ?>存在每个php文件头部,防止非法访问
<?php includegetViews('XXXX');; ?>:调用当前模板目录下XXXX.php文件
<?php echoEMLOG_VERSION;?>:显示当前emlog版本
<?php echoTEMPLATE_URL; ?>:显示模板文件路径
<?php echoBLOG_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): ?>配对
2014年06月13日 09点06分 4
level 14
header.php
<?php
/*
Template Name:模板名称
Description:模板描述
Author:模板作者
Author Url:作者主页
Sidebar Amount:侧边栏数目,最大4
*/
?>
模板注释,存在于header.php头部,可为空
<?phpdoAction('navbar', '左标签', '右标签'); ?>:插件挂载点,用于导航栏,左右标签为html标签,用以控制样式,可为空
<?phpif($istwitter == 'y'):?>:如果后台设置前台可见碎语链接
<?php
foreach ($navibar as$key => $val):
if ($val['hide'] =='y'){continue;}
if(empty($val['url'])){$val['url'] = BLOG_URL.'?post='.$key;}
?>:开始导航循环
2014年06月13日 09点06分 5
level 14
footer.php
<?phpdoAction('index_footer'); ?>:插件挂载点(用于统计代码等)
2014年06月13日 09点06分 6
level 14
echo_log.php
<?phptopflg($top); ?>:置顶标志,函数存在于module.php
<?php echo$log_title; ?>:显示日志、page标题
<?php echo$log_content; ?>:显示日志内容
<?phpblog_sort($sortid, $logid); ?>:显示分类,该函数存在于module.php
<?phpeditflg($logid,$author); ?>:显示编辑链接,函数存在于module.php
<?phpblog_author($author); ?>:显示日志作者,函数存在于module.php
<?php echogmdate('Y-n-j G:i l', $date); ?>:日志发表时间,格式是2010-12-11 19:05 30,格式可修改
<?phpblog_att($logid); ?>:显示日志附件(图片附件不显示),函数存在于module.php
<?phpblog_tag($logid); ?>:显示日志标签,函数存在于module.php
<?phpdoAction('log_related'); ?>:插件挂载点(用于相关日志等)
<?phpneighbor_log(); ?>:显示相邻日志,函数存在于module.php
<?phpblog_trackback(); ?>:显示引用通告地址及引用,函数存在于module.php
<?phpblog_comments(); ?>:显示日志评论,函数存在于module.php
<?php if($allow_remark == 'y'){blog_comments_post();}?>:根据是否允许评论显示评论表单,函数存在于module.php
2014年06月13日 10点06分 7
level 14
page.php
<?php echo $log_title;?>:显示日志、page标题
<?php echo$log_content; ?>:显示日志内容
<?phpblog_att($logid); ?>:显示附件(图片附件不显示),函数存在于module.php
<?php if($allow_remark == 'y'){blog_comments();blog_comments_post();} ?>
:根据是否允许评论显示评论和评论表单,函数存在于module.php
2014年06月13日 10点06分 8
level 14
log_list.php
<?phpdoAction('index_loglist_top'); ?>:插件挂载点,存在于列表顶部(用于公告等)
<?phpforeach($logs as $value): ?>:开始循环输出日志列表
---------------------------------以下仅存在于<?php foreach($logs as $value): ?>和<?php endforeach; ?>之间
<?phptopflg($value['top']); ?>:置顶标志,函数存在于module.php
<?php echo$value['log_title']; ?>:显示日志标题
<?php echo$value['log_description']; ?>:显示日志摘要
<?phpblog_sort($value['sortid'], $value['logid']); ?>:显示分类,该函数存在于module.php
<?phpeditflg($value['logid'],$value['author']); ?>:显示编辑链接,函数存在于module.php
<?phpblog_author($value['author']); ?>:显示日志作者,函数存在于module.php
<?php echogmdate('Y-n-j G:i l', $value['date']); ?>:日志发表时间,格式是2010-12-11 19:05 30,格式可自行修改
<?phpblog_att($value['logid']); ?>:显示日志附件(图片附件不显示),函数存在于module.php
<?phpblog_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;?>:显示分页
2014年06月13日 10点06分 9
level 14
side.php
<?php $widgets =!empty($options_cache['widgetsX']) ? unserialize($options_cache['widgetsX']) :array(); ?>
:该页面要加载的widgets,X为数字,不超过header.php里设置的侧边栏数目
<?phpdoAction('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,htm
lsp
ecialchars($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
2014年06月13日 10点06分 10
level 14
module.php(建议参考默认模板里的注释)
functionwidget_xxxx($title):显示widgets函数,如widget_blogger($title)显示博主信息
2014年06月13日 10点06分 11
level 14
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; ?>:显示碎语数目
2014年06月13日 10点06分 12
level 14
@HH563 可以加精嘛?HH563
2014年06月13日 10点06分 13
可以!
2014年06月13日 17点06分
level 14
这里需要这样的好帖,这样的帖子必须精华!
2014年06月13日 18点06分 14
level 4
好好好.
2014年06月14日 12点06分 15
level 12
好详细的教程,楼主辛苦了,这贴我收藏了。
2014年06月14日 14点06分 16
level 12
正准备修改模板呢,收藏起来并加赞!
2014年06月22日 08点06分 18
level 14
好详细的教程贴,我目前正需要呢,最近一直想设计自己的模板!
2014年06月22日 15点06分 19
level 14
精华了。
2014年10月12日 05点10分 20
level 1
66666666666666666
2016年03月19日 11点03分 21
1