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

  

emlog模板制作帮助手册的更多相关文章

  1. phpwind9.0模板制作教程——制作论坛风格

    由于论坛模板机制和门户等模板机制不同,所以今天我就先重点讲讲论坛模板制作的大概过程. 一.先来熟悉下phpwind9.0的论坛模板机制. 其实phpwind9.0的模板机制和discuzx2.5差不多 ...

  2. 【Ecmall】ECMall2.x模板制作入门系列(认识ECMall模板)

    ECMall2.x模板制作入门系列之1(认识ECMall模板) 从ECMall2.0全新架构发布以来,随着版本的不断更新,ECMall已经逐渐走向一个稳定时期,是时候整理一些实用教程了.下面给大家带来 ...

  3. ECMall2.x模板制作入门系列之2(模板标签/语法)

    ECMall2.x模板制作入门系列之2(模板标签/语法) 今天给大家带来一个模板语法的教程.希望能为ECMall模板制作者提供一份参考资料.如有问题.建议和意见,欢迎提出. 在ECMall模板中,用& ...

  4. phpcms v9模板制作教程

    phpcms v9模板制作教程(转载) 第一节 1.首先下载phpcms v9的集成安装包并安装,这里就不详细说明了. 2.本地调试建议大家使用APMserver,或者wampserver等,可以到P ...

  5. Altium Designer 文档信息设置以及模板制作

    原理图文档模板制作方法一.在DXP原理图设计环境下,新建一个自由原理图文档.单击:文件→新建→原理图,或者使用快捷键Ctrl+N打开Files资源面板,在“新建”项目下的选择“Schematic Sh ...

  6. magnetom模板制作

    我个人认为Magento模板制作的难点在于不了解Magento的架构,不会调动block.Magento的block调动几乎都是靠xml.在下面的内容会提及如何操作. 制作Magento模板的前提是: ...

  7. Xen虚拟机磁盘镜像模板制作(四)—CentOS 7

    在<Xen虚拟机磁盘镜像模板制作(三)—CentOS 7>一文中,我们已经成功制作出了 CentOS7 磁盘镜像.下面我们说明下如何通过它来生成目标虚拟机,同时测试下之前制作好的虚拟机磁盘 ...

  8. Xen虚拟机磁盘镜像模板制作(二)—Windows Server 2008(2012)

    在<Xen虚拟机磁盘镜像模板制作(一)—Windows Server 2008(2012)>一文中,我们已经成功制作出了Windows Server磁盘镜像.下面我们说明下如何通过它来生成 ...

  9. 虚拟机centos7 基础模板制作

    用于新模板制作,主要针对一些基本组件的安装 分区.安装不在此赘述 最小化安装centos7-minimal-1810 1.安装wget yum install wget -y 2.更换aliyun源 ...

随机推荐

  1. WPF更新数据源

    using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Windo ...

  2. Find the Clones(字典树)

    链接:http://poj.org/problem?id=2945 Description Doubleville, a small town in Texas, was attacked by th ...

  3. 第一次听到了docker

    1.今天工作中,同时要我给应用申请3个docker,因为之前是一直在做开发,部署就在tomcat里面测试,下来搜素了一下,发现docker和maven类似,不过docker是环境的一个快照,因为之前开 ...

  4. 《Head First 设计模式》ch.2 观察者(Observer)模式

    观察者模式 定义了对象之间一对多以来,这样一来,当一个对象改变状态时,它所有的依赖者都会收到通知并自动更新 设计原则-松耦合 松耦合将对象之间的互相依赖降到了最低——只要他们之间的接口仍被遵守 观察者 ...

  5. [转]用man查看命令帮助时, 括号中的数字表示的意思

    当提及如'rn(1)', 'ctime(3)'时,它们看上去像某种函数调用,但不是. 这些数字表示可在"Unix manual"中的哪一部分找到对应的文档. 数字对应的文档如下: ...

  6. 链表:删除链表中重复的结点(java实现)

    题目描述 在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针. 例如,链表1->2->3->3->4->4->5 处理后 ...

  7. 测试一个域名DNS查询时间的shell脚本

    脚本内容: #!/bin/bash #目标域名 site=${site:-www.ptesting.com} for((i=1;i<=10000;i++)) do     #COUNTER='e ...

  8. 【测试】自行建表并演示append+nologging,并描述数据写入后产生的效果

    ①创建表: SQL> create table t4 as select * from all_objects; Table created. ②设置t4处于nologging: SQL> ...

  9. 创建母版页导致js出现“ 'document.getElementById(...)' 为空或不是对象”错误

    导读:一个控件在设计时的ID往往不同于生成页面后的ID,为了获得控件客户端ID,我们可以从生成的页面入手,冷静思考,把握主次,从底层框架入手 本文将为大家介绍一下 ASP.NET中在创建母版页时引来的 ...

  10. 解决在 MVC  局部视图中加载 ueditor 编辑器时, 编辑器加载不出的 bug

    在 MVC 局部视图中,有时我们需要 加载 ueditor 编辑器,或进行局部刷新, 但是在加载局部视图后,ueditor 编辑器加载不出,这是由于 ueditor 使用的缓存,只要清空缓存,重新实例 ...