typecho如何获取 父级分类 名称?
答案:2 悬赏:80 手机版
解决时间 2021-03-10 10:27
- 提问者网友:wodetian
- 2021-03-09 13:19
比如有2个父级分类 A, B子分类4个分别是A-1, A-2, B-1, B-2我想在子分类的文章里, 获取其父分类A或B应该怎么做?http://typecho.org/download
最佳答案
- 五星知识达人网友:我住北渡口
- 2021-03-09 13:46
首页在模板目录建立一个 category 文件夹,将分类模板文件放到这个目录内,如 Prints.php
以下是分类模板样本:
<?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); ?> //不带连
以下是分类模板样本:
<?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); ?> //不带连
全部回答
- 1楼网友:往事埋风中
- 2021-03-09 14:39
子页面元素需要获取父页面的元素做如下操作:
$("#父页面元素id" , parent.document)
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯