如何在Sitefinity中获取/显示博客帖子永久链接?

时间:2012-02-23 18:44:46

标签: sitefinity sitefinity-4

在我的基于Sitefinity 4.3的网站中,我使用标准的博客内容模块和小部件模板设置了博客。博客帖子除其他外,还与其相关的产品进行了分类。

网址结构如下:

/blog_template_page/blog_category_template_page/2012/01/01/post-name

每篇博文都至少有两个类别:

  1. blog_category(所以我可以将相似类型的文章放在博客档案中)
  2. product_category(所以我可以将博客帖子与我们销售的产品联系起来)
  3. 在网站的其他地方,我有构成产品目录的Pages。在产品X的页面上,我想显示一个包含产品X的product_category的博客帖子列表。当用户点击阅读博客帖子时,他们应该转到上面的原始博客URL(博客的永久链接)后)。

    如何获取Sitefinity博客列表小部件以生成原始博客帖子位置的网址?

    据我所知,Sitefinity给了我两个选项:使用当前页面作为博客文章的模板(我不想这样做,因为我在目录页面中)。或者使用网站中的另一个页面作为模板(我不想这样做,因为我将使用一个全新的URL)。

    换句话说......

    我想做什么:在产品X的主要产品页面上,我想显示链接到原始博客帖子的动态列表。我可以创建一个新的单个博客帖子模板并通过新模板呈现内容,但这会给我新的URL。我真的只是希望博客列表生成其原始位置的博客帖子的链接。

    在wordpress中,我会使用the_permalink();在我的博客列表模板中。 Sitefinity中有类似的东西吗?

    如果我有办法从后端管理页面而不是代码中设计/完成此操作,那么

    双点。但是一切都比没有好。

2 个答案:

答案 0 :(得分:1)

我认为您问题的单行答案是:博客帖子没有默认位置。

Sitefinity的架构基本上允许将任何内容放在任何页面上。项目的绝对URL由这些(页面和项目特定URL)组成。因此,单个博文可以包含无限数量的URL,具体取决于您正在查看的页面。

这是一项设计决定,我理解这可能令人困惑。但是,您可以做的是确定其中一个URL(使用特定页面)将是默认URL。然后,如果您希望列出博客帖子的所有位置都指向此默认值,只需将BlogPosts小部件设置为始终指向单个帖子的特定页面。

您可以配置项目特定URL中显示的内容,但无法控制页面部分 - 这始终是您正在查看的当前页面。有关您可以在我撰写的几篇博文中找到的URL的更多信息:

Custom URL formats for Sitefinity content modules
URL filtering in built-in content widgets
URL filtering with multiple content widgets per page

如果您还有其他问题,可以在我们的论坛中或直接写给我(在telerik dot com上的slavo dot ingilizov)。

的问候,
Slavo
Sitefinity团队。

答案 1 :(得分:0)

我假设你在谈论标准的Sitefinity'类别'是否正确?

过滤目前适用于QueryString或UrlPrefix。所以你最终得到这样的东西:

/product-blog-sample/-in-Category/Categories/services/serviceb

/product-blog-sample?taxonomy=Categories&propertyName=Category&taxon=%2fservices%2fserviceb

在这两种情况下,您都会在页面上删除博客小部件,转到编辑,然后在第一个选项卡上选择“缩小选择”并选择第二个单选按钮“选择帖子”,然后选择第一个选择框“按类别”。 / p>

然后点击底部的“高级”,找到“UrlEvalutationMode”字段。默认情况下,它将具有UrlPrefix(url result 1),但您可以将其更改为QueryString并获取第二个结果。

在列表设置选项卡上,您只需选择仅列出标题的新模板。

作为最后一步,您必须更新产品详细信息模板以输出到网址,以便“类别”包含在其中。


我可能会错误地阅读您的问题,因为sitefinity中的产品没有类别,只有标签和部门 - 所以如果您可以进一步解释您尝试实现的目标,我们可能会设置你还有一个合适的代码示例。

学家