今天中午的时候在指导小梁同学开发ZBLOG PHP主题的时候他在侧栏这块遇到难题,于是老蒋就帮助他解决,直接拉出官方的文档。
侧栏的话需要文件:
1、sidebar.php
默认侧栏模板,可自定义 sidebar2.php~sidebar5.php 等为第2至第5侧栏模板
{* Template Name:侧栏模板 *}
{foreach $sidebar as $module}
{template:module}
{/foreach}
2、module.php
模块显示模板,可定义模块标题等格式,模块具体内容格式由下列细节模板决定。
{* Template Name:单个模块 *}
<dl class="function" id="{$module.HtmlID}">
{if (!$module.IsHideTitle)&&($module.Name)}<dt class="function_t">{$module.Name}</dt>{else}<dt style="display:none;"></dt>{/if}
<dd class="function_c">
{if $module.Type=='div'}
<div>{$module.Content}</div>
{/if}
{if $module.Type=='ul'}
<ul>{$module.Content}</ul>
{/if}
</dd>
</dl>
module 直接一点就是侧栏每个模块的外框。包括标题。
|
标签 |
含义 |
备注 |
|---|---|---|
|
{$module.ID} |
内部ID |
|
|
{$module.Name} |
模块名称 |
|
|
{$module.FileName} |
文件名 |
文件名应是唯一的,如为主题添加模块请以theme_主题ID_filename命名,同理,如为插件添加模块请以theme_插件ID_filename命名 |
|
{$module.Content} |
模块内容 |
模块内容细节模板 |
|
{$module.HtmlID} |
htmlID |
|
|
{$module.Type} |
模块类型 |
ul表示列表型,div表示混杂型 |
|
{$module.MaxLi} |
ul类型模块显示的最大列数 |
默认为10。该数值不会影响存储,只会限制前端显示条数 |
|
{$module.Source} |
模块属性 |
system=系统模块,theme=主题模块,plugin=插件模块 |
|
{$module.IsHideTitle} |
是否隐藏标题 |
1表示隐藏,0表示不隐藏,默认为0 |
3、module-xxx.php
这个就是我们侧栏小模块。
|
模板文件 |
说明 |
备注(默认列表行数) |
|---|---|---|
|
module-archives.php |
文章归档模块 |
没有限制 |
|
module-authors.php |
作者列表模块 |
没有限制 |
|
module-calendar.php |
日历模块 |
没有限制 |
|
module-catalog.php |
分类列表模块 |
没有限制 |
|
module-statistics.php |
站点信息模块 |
没有限制 |
|
module-comments.php |
最近评论列表模块 |
10条 |
|
module-previous.php |
最近文章列表模块 |
10条 |
|
module-tags.php |
标签列表模块 |
25条 |
我们对应小模块后就先识别我们自定义的,如果我们没有自定义就识别系统自带的。
导航栏
module-navbar.php
{$content}
|
标签 |
含义 |
|---|---|
|
{$content} |
导航数据未改动,直接返回导航模块内容 |
站点信息
module-statistics.php
{foreach $allinfo as $info}
<li>{$info['name']}:{$info['count']}</li>
{/foreach}
|
可用数据 |
数据类型 |
可用参数 |
含义 |
|---|---|---|---|
|
$allinfo |
网站统计信息二维数组 |
all_artiles |
文章总数 |
|
all_pages |
页面总数 |
||
|
all_categorys |
分类总数 |
||
|
all_tags |
标签总数 |
||
|
all_comments |
评论总数 |
||
|
all_views |
浏览总数 |
文章归档
module-archives.php
{if $style==1}
<select id="slArchives" onchange="window.location=this.options[this.selectedIndex].value">
{foreach $urls as $url}
<option value="{$url.Url}">{$url.Name} ({$url.Count})</option>
{/foreach}
</select>
{else}
{foreach $urls as $url}
<li><a href="{$url.Url}">{$url.Name} ({$url.Count})</a></li>
{/foreach}
{/if}
|
可用数据 |
数据类型 |
可用参数 |
含义 |
|---|---|---|---|
|
$urls |
url对象数组 |
Url |
链接 |
|
Name |
归档名份名 |
||
|
Count |
文章数量 |
日历
module-calendar.php
<table id="tbCalendar">
<caption><a href="{$prevMonthUrl}">«</a> <a href="{$nowMonthUrl}">{$nowYear}年{$nowMonth}月</a> <a href="{$nextMonthUrl}">»</a></caption>
<thead><tr>{for $i = 1; $i <= 7; $i++}<th title="{$lang['week'][$i]}" scope="col"><small>{$lang['week_abbr'][$i]}</small></th>{/for}</tr></thead>
<tbody>
<tr>
{php}$numberOfDays = date('t', strtotime($date));$dayOfWeek = date('N', strtotime($date . '-1'));$lastDayOfWeek = 7 - date('N', strtotime($date . '-' . $numberOfDays));$dayOfWeekColspan = $dayOfWeek - 1;$lastDayOfWeekColspan = $lastDayOfWeek - 1;
{/php}
{if $dayOfWeek > 1}<td class="pad" colspan="{$dayOfWeekColspan}"></td>{/if}
{php}$weekCounter = $dayOfWeek - 1;for ($i = 1; $i <= $numberOfDays; $i++) {
{/php}<td>{if isset($arraydate[$i])}<a href="{$arraydate[$i]['Url']}" title="{$arraydate[$i]['Date']} ({$arraydate[$i]['Count']})" target="_blank">{$i}</a>{else}{$i}{/if}</td>{php} $weekCounter++; if ($weekCounter % 7 == 0) {
{/php}</tr><tr>{php}
}
}
{/php}
{if $lastDayOfWeek > 1}<td class="pad" colspan="{$lastDayOfWeekColspan}"> </td>{/if}
</tr></tbody>
</table>
|
标签 |
含义 |
备注 |
|---|---|---|
|
{$prevMonthUrl} |
上个月链接 |
|
|
{$nowMonthUrl} |
当前月链接 |
|
|
{$nextMonthUrl} |
下个月链接 |
|
|
{$nowYear} |
当前年份 |
|
|
{$nowMonth} |
当前月份 |
|
可用数据 |
数据类型 |
可用参数 |
含义 |
|---|---|---|---|
|
$date |
指定日期对象 |
PHP手册中Date章节 |
指日期归档页面的归档月份 |
|
$arraydate |
当月中含有文章的日期数组列表 |
Url |
文章链接 |
|
Date |
日期 |
||
|
Count |
文章数量 |
网站分类
module-catalog.php
{$i = $maxLi}{$j = 0}{$s = ''}
{if $style==2}
{foreach $catalogs as $catalog}
{if $catalog->Level == 0}
{$s = $s . '<li class="li-cate"><a href="' . $catalog->Url . '">' . $catalog->Name . '</a><!--' . $catalog->ID . 'begin--><!--' . $catalog->ID . 'end--></li>'}
{/if}
{/foreach}
{for $i = 1; $i <= 3; $i++}
{foreach $catalogs as $catalog}
{if $catalog->Level == $i}
{$s = str_replace('<!--' . $catalog->ParentID . 'end-->', '<li class="li-subcate"><a href="' . $catalog->Url . '">' . $catalog->Name . '</a><!--' . $catalog->ID . 'begin--><!--' . $catalog->ID . 'end--></li><!--' . $catalog->ParentID . 'end-->', $s)}
{/if}
{/foreach}
{/for}
{foreach $catalogs as $catalog}
{$s = str_replace('<!--' . $catalog->ID . 'begin--><!--' . $catalog->ID . 'end-->', '', $s)}
{/foreach}
{foreach $catalogs as $catalog}
{$s = str_replace('<!--' . $catalog->ID . 'begin-->', '<ul class="ul-subcates">', $s)}
{$s = str_replace('<!--' . $catalog->ID . 'end-->', '</ul>', $s)}
{/foreach}
{php}ob_clean(){/php}{$s}
{elseif $style==1}
{foreach $catalogs as $catalog}
<li>{$catalog->Symbol}<a href="{$catalog.Url}">{$catalog.Name}</a></li>
{$j =$j + 1}
{if $i != 0 && $j >= $i}
{php}break;{/php}
{/if}
{/foreach}
{else}
{foreach $catalogs as $catalog}
<li><a href="{$catalog.Url}">{$catalog.Name}</a></li>
{$j =$j + 1}
{if $i != 0 && $j >= $i}
{php}break;{/php}
{/if}
{/foreach}
{/if}
|
可用数据 |
数据类型 |
可用参数 |
含义 |
|---|---|---|---|
|
$maxLi |
数值 |
最大行数 |
|
|
$style |
数值 |
0表示普通列表,1表示树型,2表示UL嵌套型 |
|
|
$catalogs |
分类对象列表 |
分类标签 |
最新留言
module-comments.php
{foreach $comments as $comment}
<li><a href="{$comment->Post->Url}#cmt{$comment->ID}" title="{htmlspecialchars($comment->Author->StaticName . ' @ ' . $comment->Time())}">{FormatString($comment->Content, '[noenter]')}</a></li>
{/foreach}
|
可用数据 |
数据类型 |
可用参数 |
含义 |
|---|---|---|---|
|
$comments |
最近评论对象列表 |
评论标签 |
作者列表
module-authors.php
{foreach $authors as $author}<li><a href="{$author->Url}">{$author->Name}<span class="article-nums"> ({$author->Articles})</span></a></li>{/foreach}
|
可用数据 |
数据类型 |
可用参数 |
含义 |
|---|---|---|---|
|
$authors |
用户对象列表 |
用户标签 |
最近发表
module-previous.php
{foreach $articles as $article}
<li><a href="{$article.Url}">{$article.Title}</a></li>
{/foreach}
|
可用数据 |
数据类型 |
可用参数 |
含义 |
|---|---|---|---|
|
$articles |
最近发表文章对象列表 |
文章标签_含独立页面 |
标签列表
module-tags.php
{foreach $tags as $tag}<li><a href="{$tag.Url}">{$tag.Name}<span class="tag-count"> ({$tag.Count})</span></a></li>{/foreach}
|
可用数据 |
数据类型 |
可用参数 |
含义 |
|---|---|---|---|
|
$tags |
tag标签对象列表 |
tag标签 |