以下是分类模板样本:
<?php $this->need('header.php')?> 头部
<div class="main_zpliebiao1">
<?php if ($this->have()): ?> 不可删
<?php while($this->next()): ?> 不可删
<a href="<?php $this->permalink() ?>" title="<?php $this->title() ?>"><?php $this->content()?></a>
<?php endwhile?> 结尾
<?php else: ?>
<?php endif?>
<?php $this->need('footer.php')?> 底部
然后在后台创建分类,分类的缩略名必需是分类模板的名字如分类模板名为Prints.php那么分类缩略名必需是Prints才行。然后在post.php页调用以下代码。
<!-- blog -->
<?php if ($this->category == 'blog') { ?>
<div><h4><?php $this->title() ?></h4></div>
<div><?php $this->author()?><?php ('October')?><?php $this->date('F j, Y')?></div>
<div><?php $this->content('Continue Reading...')?></div>
<div class="clear"></div>
<?php if (empty($this->options->sidebarBlock) || in_array('ShowRecentPosts', $this->options->sidebarBlock)): ?>
<?php $this->need('footer.php')?>
<?php endif?>
<!-- zhoupin -->
<?php } elseif ($this->category == 'zhoupin') { ?>
<div><span><?php $this->content()?></span></div>
<!-- end #zhoupin-->
<?php $this->need('footer.php')?>
<?php } elseif ($this->category == 'Prints') { ?>
<div><span><?php $this->content()?></span></div>
<?php $this->need('footer.php')?>
<!-- end #Prints -->
<?php } ?>
<?php if ($this->category == 'News') { ?>
<div><h2><?php $this->title() ?><br/><?php ('October')?><?php $this->date('F j, Y')?></h2></div>
<div><?php $this->content()?></div>
<!-- News -->
<?php if (empty($this->options->sidebarBlock) || in_array('ShowRecentPosts', $this->options->sidebarBlock)): ?>
<?php $this->need('footer.php')?>
<?php endif?>
<?php } ?>
创建分类方法二
一、不同分类输出不同模板
先在当前模板目录下建立一个 category 目录,然后比如你要给 slug 为 default 的分类专门建立模板,那么就在 category 目录下创建一个名为 default.php 的文件,这样程序在访问 default 分类时会自动调用这个模板文件。
使用 $this->categories 和 $this->category 这两个变量就可以满足你的需要了,不过需要你自己手动循环输出。你可以 print_r 一下这两个变量,看看它们的结构。
二、post页调用方法
<?php if ($this->category == "分类A的缩略名"): ?> 固定给某一个分类的模板
// 这里是分类A的样式
<?php elseif ($this->category == "分类B的缩略名"): ?> 固定给某一个分类的模板可添加N个,只需复制即可
// 这里是分类B的样式
<?php else: ?>
// 这里是分类C的样式 这里写的是通用模板样式
<?php endif?>
附:分类名称调用
<?php $this->category(',')?> //带连接的分类名称,逗号为多分类时的间隔符
<?php $this->category(',', false)?> //不带连
首页调用指定分类下子分类方法 模板首页一般都有分楼层显示的分类商品,每个楼层右上角会有该分类下小分类排列显示的: 以往有些模板这里都是静态显示的,需要客户手动依次修改,现在模板中心告诉您怎样修改成动态调用,只需修改一个id即可。修改List文件的listCategories函数,把默认的修改成你想要的即可。
下面是listCategories函数:
/*** treeViewCategories
*
* @param $categoryOptions 输出选项
* @access public
* @return void
*/
public function listCategories($categoryOptions = NULL)
{
//初始化一些变量
$this->_categoryOptions = Typecho_Config::factory($categoryOptions)
$this->_categoryOptions->setDefault(array(
'wrapTag' => 'ul',
'wrapClass' => '',
'itemTag' => 'li',
'itemClass' => '',
'showCount' => false,
'showFeed' => false,
'countTemplate' => '(%d)',
'feedTemplate' => '<a href="%s">RSS</a>'
))
// 插件插件接口
$this->pluginHandle()->trigger($plugged)->listCategories($this->_categoryOptions, $this)
if (!$plugged) {
$this->stack = $this->getCategories($this->_top)
if ($this->have()) {
echo '<' . $this->_categoryOptions->wrapTag . (empty($this->_categoryOptions->wrapClass)
? '' : ' class="' . $this->_categoryOptions->wrapClass . '"') . '>'
while ($this->next()) {
$this->treeViewCategoriesCallback()
}
echo '</' . $this->_categoryOptions->wrapTag . '>'
}
$this->stack = $this->_map
}
}
其中的:
$this->_categoryOptions->setDefault(array(
'wrapTag' => 'ul',
'wrapClass' => '',
'itemTag' => 'li',
'itemClass' => '',
'showCount' => false,
'showFeed' => false,
'countTemplate' => '(%d)',
'feedTemplate' => '<a href="%s">RSS</a>'
))
就是样式设置了
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)