首页CMSZBLOG PHP主题开发之自定义侧栏和导航标签调用

ZBLOG PHP主题开发之自定义侧栏和导航标签调用

时间2024-05-23 06:34:03发布访客分类CMS浏览995
导读:ZBLOG PHP从1.5版本之后更新还是比较大的,在以前早期的版本的时候尤其是在开发主题侧栏的时候确实不够灵活。只能通过适配系统的样式才能做出侧栏调用,所以对于开发者开始就比较憋屈,有些功能样式不是特别容易丢进来。但是从1.5版本之后可以...

ZBLOG PHP从1.5版本之后更新还是比较大的,在以前早期的版本的时候尤其是在开发主题侧栏的时候确实不够灵活。只能通过适配系统的样式才能做出侧栏调用,所以对于开发者开始就比较憋屈,有些功能样式不是特别容易丢进来。但是从1.5版本之后可以实现单独的侧栏模块自定义实现。

今天中午的时候在指导小梁同学开发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}
    
可用数据数据类型可用参数含义
$urlsurl对象数组Url链接
Name归档名份名
Count文章数量

日历

module-calendar.php

table id="tbCalendar">
        caption>
a href="{
$prevMonthUrl}
    ">
    «/a>
    &
    nbsp;
    &
    nbsp;
    &
    nbsp;
a href="{
$nowMonthUrl}
    ">
{
$nowYear}
年{
$nowMonth}
    月/a>
    &
    nbsp;
    &
    nbsp;
    &
    nbsp;
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}
    
可用数据数据类型可用参数含义
$tagstag标签对象列表tag标签

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: ZBLOG PHP主题开发之自定义侧栏和导航标签调用
本文地址: https://pptw.com/jishu/666130.html
Caffe中的损失函数有哪些常见的选择 创建一个不可见的边框

游客 回复需填写必要信息