我正在使用expressionengine使用weblog模块创建文档站点。我有许多类别,其中包含子类别。类别和子类别包含条目。
我想为每个类别创建一个页面,该页面输出该父类别中所有子条目和子类别的嵌套列表。顶部应该有一个面包屑,显示类别层次结构,并带有指向父类别的链接。
这是我的代码:
<!-- url /docs/category/category_id -->
<!-- Breadcrumb -->
<!-- This works on the page template, but on the category template it shows all the categories -->
{exp:weblog:entries weblog="docs" }
{categories}
<a href="{path='/category'}?category_id={category_id}&category_name={category_name}&category_description={category_description}">{category_name}</a> >
{/categories}
{title}
{/exp:weblog:entries}
<!-- List of Categories -->
<!-- This shows ALL of the categories. I want it to only show the parent category and its children -->
{exp:weblog:categories style="nested"}
<h1><a href="{path='weblog/category'}"{category_name}</a></h1>
{exp:weblog:entries category="{category_id}"}
<a href="{path='weblog/page'}">{title}</a>
{/exp:weblog:entries}
{/exp:weblog:categories}
答案 0 :(得分:0)
我没有时间为你编写代码,但我确实有时间指出你(希望)正确的方向。一个名为Laisvunas的ExpressionEngine开发人员创建了几个EE附加组件,用于处理EE类别及其与其他类别和条目的关系。
我不会全部链接到他们,但他的developer page on Devot:ee列出了所有内容。他创建的最受欢迎的类别附加组件是Child Categories,它可以完成你想要做的很多事情。如果他(和其他)附加组件无法帮助您解决问题,请随时告诉我们。
祝你好运!
答案 1 :(得分:0)
<强> --- --- EDIT 强>
我已经编写了一个插件来解决这个问题:
https://github.com/adambom/Category-Inheritance-Plugin-for-ExpressionEngine
<强> ------------- 强>
以下是我最终如何做到这一点。
要获取子类别列表,我传递一个URL查询字符串参数category_id,然后运行:
<ul>
{exp:query sql="SELECT cat_id as child_category_id, cat_name AS child_category_name FROM exp_categories WHERE parent_id = '<?php echo addslashes($_GET['category_id']) ?>' ORDER BY category_name ASC"}
<li><a href="{path=/category/}?category_id={child_category_id}">{child_category_name}</a></li>
{/exp:query}
</ul>
它只有一层深,但这是我能做到的最好的。
此代码输出所有条目(必须硬编码网址):
{exp:weblog:entries category="<?php echo $_GET['category_id'] ?>"}
<p><a href="/simulate/docs2/index.php/page/{entry_id}">{title}</a></p>
{/exp:weblog:entries}
作为旁注,我建议不要使用表达引擎。对于博客,请使用Wordpress。对于文档站点,请使用Wiki。我想我们将转向铁路网站。
答案 2 :(得分:0)
轻松处理输出类别(尽可能多的级别)的最佳插件是GWcode CatMenu,这是免费的。