获得学期的父母

时间:2017-04-03 13:29:19

标签: timber

我可能在Timber Docs中错过了它,但有可能获得给定分类法的父条款吗?

2 个答案:

答案 0 :(得分:0)

两种方法取决于Twig与PHP以及您正在寻找的具体内容。

考虑一个帖子,该帖子被分配了一个" Politics" (这是"新闻")的儿童类别

示例1:在Twig文件中获取父术语

<p>Find more posts in {{ post.category.name }} and {{ post.category.parent.name }}</p>

<!--- outputs as ...  --->
<p>Find more posts in Politics and News</p>

示例2:从分类法中获取顶级术语

$context['parent_categories'] = Timber::get_terms(array('taxonomy' => 'category', 'parent' => 0);

像Twig一样使用......

Top-level categories for my site are...

{% for term in parent_categories %}
    <li><a href="{{ term.link }}">{{ term.name }}</a></li>
{% endfor %}

<!-- Outputs as... -->
<li><a href="/category/news/">News</a></li>
<li><a href="/category/sports/">Sports</a></li>
<li><a href="/category/opinions/">Opinion</a></li>

答案 1 :(得分:0)

我们假设您正在尝试在树枝视图中使用类别的父级。当我遇到这个帖子时,我试图解决这个问题。

category.php中,您可以通过获取当前查看类别的父类别ID来获取父类别:

$category = new TimberTerm();
$context['category'] = $category;
if ($category->parent) {
    $context['parent_category'] = new TimberTerm($category->parent);
}

$category->parent对应于父类别的ID。如果类别没有父母,则为null。然后,您可以在模板中使用生成的类别。

<a class="category_{{parent_category.slug|lower}}" href="{{parent_category.link}}">
    {{parent_category.title}}
</a>