如何以编程方式从外部访问 Orchard CMS 内容?

发布于 2024-11-29 23:49:28 字数 661 浏览 2 评论 0原文

具体来说,我将使用 Orchard CMS 作为现有网站内容编辑器的后端。

我的网站太复杂,无法将其包装到 Orchard 自定义模块中,因此我决定使用 Orchard 的独立实例作为后端,并在我这边的代码中手动查询和显示内容项。

我想找到如何使用 Orchard 的 API 从 Orchard 获取内容项。

这是我想要实现的一些伪代码:

// 在我的站点中的某个位置,而不是在 Orchard 应用程序中

IOrchardServices orchardFacade = CreateOrchardSystemSomeWay();

IContentManager contentManager = orchardFacade. ContentManager;

var myNeededItems = contentManager.Query("MyContenItemType").ToList();

我遇到了问题CreateOrchardtSystemSomeWay 的实现。

有人尝试过实现这种访问 Orchard CMS 数据的方法吗?

另一种选择是直接使用数据库,但这不是一个很好的方法。

To be specific, I'm going to use Orchard CMS as a back-end for content editors for an existing website.

My website is too complicated to wrap it into an Orchard custom Module, so I decided to use stand-alone instance of Orchard as backend, and query and show content items manually in the code of my side.

I want to find the way how I could get content items from Orchard using it's API.

Here is some pseudocode I want to achieve:

// somewhere in my site, not in the Orchard application

IOrchardServices orchardFacade = CreateOrchardSystemSomeWay();

IContentManager contentManager = orchardFacade.ContentManager;

var myNeededItems = contentManager.Query("MyContenItemType").ToList();

I have troubles with the implementation of CreateOrchardtSystemSomeWay.

Did anyone try to implement such a way of accessing Orchard CMS data?

Another alternative is to use the database directly, but it would not be very nice approach.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

隔岸观火 2024-12-06 23:49:28

最好的办法是查看 Orchard 命令行实例如何启动并尝试复制它正在执行的操作。您可以从命令行完全访问内容,因此如果您可以在某种程度上重现它的工作原理,您也许能够成功。

The best bet would be to look at how the Orchard command line instance spins up and try to copy what it is doing. You have full access to the content from the command line, so if you could reproduce how it works somewhat you may be able to pull it off.

浅唱ヾ落雨殇 2024-12-06 23:49:28

我没有尝试这样做,但我认为如果我尝试这样做的话,我会通过像 WCF 这样的服务(某种反腐败层)在 Orchard 和您的系统之间创建一个抽象。

I havent attempted to do this, but the way I thought I would have done this if I tried would be to create an abstraction between Orchard and your system through a service like WCF, some sort of anti corruption layer.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文