我可能在Timber Docs中错过了它,但是否有可能获得给定分类法的父项?
问问题
2174 次
2 回答
2
两种方法取决于 Twig 与 PHP 以及您到底想要做什么。
考虑一个分配了“政治”类别的帖子(这是“新闻”的子类别)
示例 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>
于 2017-04-05T03:17:21.727 回答
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>
于 2018-01-03T11:41:03.290 回答