2

在我的基于 Sitefinity 4.3 的站点中,我使用标准博客内容模块和小部件模板设置了一个博客。除其他事项外,博客文章按它们相关的产品进行分类。

URL结构如下:

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

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

  1. blog_category(这样我就可以将类似类型的文章放在博客存档中)
  2. product_category(这样我就可以将博客文章与我们销售的产品联系起来)

在网站的其他地方,我有组成产品目录的页面。在产品 X 的页面上,我想显示产品 X 的 product_category 的博客文章列表。当用户点击阅读博客文章时,他们应该转到上面的原始博客 URL(博客的永久链接邮政)。

如何让 Sitefinity 博客列表小部件生成原始博客帖子位置的 URL?

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

换一种方式...

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

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

如果我有办法从后端管理页面而不是从代码中设计/完成此任务,则加倍积分。但有总比没有好。

4

2 回答 2

1

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

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

这是一个设计决定,我理解它可能会造成混淆。但是,您可以做的是决定将这些 URL 之一(使用特定页面)作为默认 URL。然后,如果您希望列出博客帖子的所有位置都指向此默认值,只需将 BlogPosts 小部件设置为始终指向单个帖子的特定页面。

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

Sitefinity 内容模块的自定义 URL 格式
内置内容小部件中的
URL 过滤 每页具有多个内容小部件的 URL 过滤

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

问候,
Slavo
Sitefinity 团队。

于 2012-02-24T09:29:28.890 回答
0

我假设您在谈论标准的 Sitefinity '类别' 对吗?

过滤当前适用于 QueryString 或 UrlPrefix。所以你最终会得到这样的结果:

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

或者

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

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

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

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

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


我可能读错了你的问题,因为 sitefinity 中的产品没有类别,只有标签和部门 - 所以如果你能进一步解释你想要达到的目标,我们可能会为你设置还有一个适当的代码示例。

J。

于 2012-02-23T19:40:54.773 回答