Kentico - 显示基于类别/子类别的相关文章列表

时间:2016-09-23 17:49:35

标签: kentico

我有很多文章,每个文章都分配在不同的类别/子类别下。 我想做的是在单篇文章的最后,我将根据当前文章的类别显示相关文章列表。我已经添加了一个Repeater但是我真的不知道要在内容过滤器/类别名称中添加什么来实现这一点。希望它不那么复杂。感谢您的投入!

2 个答案:

答案 0 :(得分:0)

This article可能会让您对创建过滤器有所了解,但我认为这不是您想要的。它确实显示您必须通过API获取文档。

您可以执行自定义查询,例如

    SELECT *
FROM dbo.View_CMS_Tree_Joined vctj
WHERE vctj.DocumentID IN
(
    SELECT DocumentID
    FROM CMS_DocumentCategory
    WHERE CategoryID IN
    (
        SELECT CategoryID
        FROM CMS_Category
        WHERE dbo.CMS_Category.CategoryName = 'Name Here'
    )
);

答案 1 :(得分:0)

如果需要,您可以在Portal中实现此功能而无需触及代码。以下步骤是如何实现它的(虽然它们很粗糙并准备就绪!)

  1. 文章页面类型中,创建一个新查询。此查询作业将是将现有文档链接到共享完全相同类别的任何其他文档。您的查询应如下所示:
  2.     SELECT ##TOPN## ##COLUMNS##
        FROM View_CMS_Tree_Joined rel
        INNER JOIN CMS_DocumentCategory relcat ON relcat.DocumentID=rel.DocumentID
        INNER JOIN CMS_DocumentCategory doccat ON relcat.CategoryID=doccat.CategoryID
        WHERE ##WHERE##
        AND rel.DocumentID  doccat.DocumentID
        ORDER BY ##ORDERBY##
    
    1. 现在,将转发器替换为带有自定义查询的转发器。在设置中,使用选择器控件为查询名称字段选择新创建的查询。
    2. WHERE子句设置为doccat.DocumentID={% CurrentDocument.DocumentID #%}
    3. 选择适当的转换, 应该好。
    4. 此方法需要精确的类别匹配,因此 Categories>汽车> Mazda Categories>不匹配汽车

      希望这有一些用处:)