- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我们正在考虑获取 Orchard 站点上内容的 RSS,然后使用 C# 对其进行解析,以将其粘贴到我们自己的数据库中。为此,我们需要 RSS 来获取我们自定义类型的每个字段。现在,当我获得投影的 RSS 时,我们获得了标题、描述等的默认元素,但没有获得类型的字段。
另一方面,使用 Import/Export 模块,我能够获取自定义类型的所有字段,但该模块不支持查询(这就是我们使用投影的原因)。
有没有办法获得一个类型的所有字段的 RSS 提要,但使用查询/投影?
最佳答案
没有自动的方法可以做到这一点,但您可以编写自己的模块来执行此操作。
你需要做的是添加一个实现Orchard.Core.Feeds.IFeedItemBuilder
的类界面。接口(interface)本身只有一个方法你需要实现 - void Populate(FeedContext context)
.
以下是如何实现此方法的代码片段:
public void Populate(FeedContext context)
{
context.Response.Contextualize(
c => {
foreach (var feedItem in context.Response.Items.OfType<FeedItem<ContentItem>>())
{
var contentItem = feedItem.Item;
foreach (var part in contentItem.Parts)
{
// extract data you're interested in from parts
foreach (var field in part.Fields)
{
// extract data you're interested in from fields
feedItem.Element.SetElementValue("description", "Text to output to RSS");
}
}
}
});
}
context.Response.Items
保存将输出到 RSS 的所有项目。这里棘手的部分是要知道您想要将哪些数据输出到 RSS,因为有许多不同的部分具有许多不同的字段。它们都有不同的属性名称,您希望输出到 RSS。
contentItem
在上面的示例中是您的自定义类型。如果是,请将其转换并使用您的自定义字段名称来填充
description
其中
feedItem
.
关于自定义类型的RSS--Orchard,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13827777/
我正在为 Orchard CMS 编写一个模块,其中包含一个实现 IOrchardShellEvents 接口(interface)的事件处理程序类。 当使用核心配方设置 Orchard 的常用实现并
我想在 Orchard 中创建一个已经内置在 ASP.NET MVC5 中的网站主题。 我是否需要将我的标记从以前的 Layout.cshtml 页面复制到 orchard themes/MyThem
我们正在考虑获取 Orchard 站点上内容的 RSS,然后使用 C# 对其进行解析,以将其粘贴到我们自己的数据库中。为此,我们需要 RSS 来获取我们自定义类型的每个字段。现在,当我获得投影的 RS
我已经开始在其中一个网站上使用Orchard CMS,并注意到我的首页的初始加载时间相当长。我没有增加太多要谈论的内容,因此我所看到的与开箱即用的体验非常接近。我怀疑这与在共享主机上使用Sql Ser
文档( here 和 here )明显缺乏关于如何解析模块中的引用的信息: References Resolution (TODO: Explain how Orchard figures out r
我在 Orchard 中构建了一个自定义模块,用于创建新的部件、类型和自定义事件,但我正在努力解决我需要做的最后一部分,即创建与 相关的所有内容项的副本特定的父项。 例如,当有人创建“贸易展览”(我的
我非常是 Orchard 的新手,我仍在努力理解所有不同的术语,所以这里断章取义的任何东西都不是故意的。我正在尝试做一些类似于 here on SO 发布的事情,但没有公认的答案。 在常规站点(非博客
我正在为 Orchard 开发自定义模块。我想在我的自定义模块中的一个页面上使用小部件。 如何将小部件添加到页面(将其显示为局部 View ?如何引用它?)? 目标是创建一个主页作为一个模块,当您激活
我是 Orchard 模块开发的新手。我创建了一个模块。当我尝试保存数据时。我在保存数据之前使用此代码 public ActionResult Create(FormCollection in
我创建了一种新的内容类型,即产品。 还有产品列表。 当我保存一个新的产品项目,并从列表中选择产品时,Orchard 告诉我该产品已正确保存,但奇怪的是,[添加到] 组合框又变回“无”,并且该产品实际上
我是 Orchard CMS 的新手,我已经开始编写我的第一个模块。我一直在寻找一种方法来检测我的模块何时从根网站初始化但没有成功! 一位同事建议使用 WebActivator 和 PreApplic
我非常是 Orchard 的新手,我仍在努力理解所有不同的术语,所以这里断章取义的任何东西都不是故意的。我正在尝试做一些类似于 here on SO 发布的事情,但没有公认的答案。 在常规站点(非博客
我正在为 Orchard 开发自定义模块。我想在我的自定义模块中的一个页面上使用小部件。 如何将小部件添加到页面(将其显示为局部 View ?如何引用它?)? 目标是创建一个主页作为一个模块,当您激活
我正在对一个相当大的网站进行最后的润色,该网站大量使用分类法以及引用它们的许多自定义内容类型。 目前配置为在功能相对强大的专用 IIS 机器上使用 SQL Server 2008R2。 它一直表现得很
是否可以获取 orchard 中内容项的分类术语名称?我使用 Designer 工具模块,但在其中找不到它。 最佳答案 已解决,'Category' 是我的分类法的名称: @{ var
我有一个带有自定义字段“NewsDate”(DateTimeField) 和“Active”(BooleanField) 的内容类型“News” 现在我需要在 NewsDate 之前获得 3 个活跃的
是否有一种简单的方法可以将一种文化与 Orchard 中的租户联系起来。目的是建立一个具有专用于特定文化的子域(或域)的网站。使用 umbraco 很容易实现这一点,这也是我尚未开始使用 Orchar
我有一个使用 Orchard CMS 完成的项目。所有功能都是通过模块实现的。搜索模块直到几天前还在工作,但突然停止工作,“没有任何理由”。 问题是我无法重建/更新索引。当我运行索引时,它只会索引字段
我有一个包含分类字段(功能)的 contentType(产品)。分类术语(产品特征术语)已定制为包括图像字段和描述字段。 我希望产品详细信息 View 显示术语中的图像以及名称,但我找不到访问它的属性
我有一个内容部分添加了一对一的关系: public class AddResellerPart : ContentPart { private readonly LazyField _rese
我是一名优秀的程序员,十分优秀!