今天中午的时候在指导小梁同学开发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标签 |