0

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

4

2 回答 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 回答