Orchard CMS 中如何从数据库中获取表数据?

2024-01-13

如何从 Orchard CMS 数据库中获取表数据? 我是 Orchard CMS 的初学者,我不知道如何在 Orchard CMS 中获取和保存任何数据,因为它不像 ado.net 或 linq to sql 或实体框架等常规数据库访问模型。


好的,所以我建议首先阅读文档并遵循一些教程(例如http://www.ideliverable.com/blog/writing-an-orchard-webshop-module-from-scratch-part-1 http://www.ideliverable.com/blog/writing-an-orchard-webshop-module-from-scratch-part-1)。至少我发现 Orchard 有点难以跳进去,不得不慢慢涉水,阅读所有相关材料。一旦您对到底发生了什么有了一些了解,掌握 Orchard 复杂性的最佳资源就是在 Orchards 源代码中查找示例。

无论如何,您在这里讨论的是两个不同的事情,访问 Orchard 内容项和访问您自己在 Orchard 中的表。两者都比较简单。 Orchard 有很多很好的辅助方法可以做到这一点。要访问 Orchard 内容,您需要使用 Orchard 内容管理器。

private readonly IOrchardServices services;

public AdminController(IOrchardServices services) {
   this.services = services;
}

现在我们的控制器中已经有了 OrchardServices,并且可以像这样使用它......

var contentId = 12;
var contentItem = this.services.ContentManager.Get(contentId);

这将从指定的 id 获取内容项。假设您想获取包含名为 MyPart 的部分的所有内容项,您可以这样做:

var items = this.services.ContentManager.Query<MyPart>().List();

它有很多其他方法来创建内容等。现在,为了查询您自己的表,您可以使用存储库。假设您有一个名为 FooRecord 的模型,您可以执行此操作。

private readonly IRepository<FooRecord> fooRepository;

public AdminController(IRepository<FooRecord> fooRepository) {
   this.fooRepository = fooRepository;
}

您可以使用 linq 表达式来查询它,如下所示:

var foo = fooRepository.Fetch(x => x.Id == fooId).FirstOrDefault();

要创建记录,您可以...

var record = new FooRecord() { FooName = "Bob" };
this.fooRepository.Create(record);

简单!希望这可以帮助您入门:)

EDIT:

因此,要从内容项获取部分数据,您可以使用 .As 例如。

var fooPart = contentItem.As<FooPart>();
var name = fooPart.Name;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Orchard CMS 中如何从数据库中获取表数据? 的相关文章

  • 将 CMS 集成到已建立的以应用程序为中心的 MVC 网站中

    我有一个以应用程序为中心的 ASP NET MVC 在 SQL EF 上 网站 大约需要 10 分钟 5 年来 已经向大约 25 000 名会员提供了一些专门的类似于招聘板的 AJAX 应用程序 大多数网站相当丰富的现有应用程序数据模式都在
  • Magento,将产品名称传递给联系表单

    Magento 初学者您好 我对术语和名称的了解很差 但我会尽力尽可能清楚地解释这一点 我目前正在配置 Magento 联系表单 以便能够从用户那里收集一些数据产品查看页面 更有趣的是 表单还必须发送一些有关管理员将其放置在页面上的产品的数
  • 事件驱动的 CMS - 优点和缺点

    我正在尝试确定事件驱动的 CMS 的一些优点和缺点 事件驱动并不罕见 您可以在许多涉及客户端的脚本语言中看到它 例如 Actionscript javascript jquery 在事件及其响应发生在服务器上的 CMS 中怎么样 这种方法有
  • GRAV 子导航

    我尝试制作我的第一个网站GRAV http getgrav org内容管理系统 现在在我的pages folder它看起来像这样 主页 默认 md about 关于 seite1 default md 关于 seite2 default m
  • 如何将 CMS 设置为 iPhone 应用程序的后端

    我希望我的 iPhone 应用程序能够从网络上获取动态内容 应使用 CMS 管理此内容 我特别想知道我是否可以将 Drupal 或 Joomla 或其他 CMS 设置为我的 iPhone 应用程序的后端来获取内容 任何有关如何实现这一目标的
  • 无需 Web 界面即可在 Drupal 中切换主题

    我正在学习 php 和创建主题 不幸的是 当我编辑当前在 drupal 中使用的主题时 我在主题中犯了一个错误 即使我点击 drupal index php 也不会再显示任何内容 我想将损坏的 drupal 主题更改为可用的主题 但我无法这
  • Orchard CMS 完整指南 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我目前正在 Orchard 中开发一个非常简单的网站 但这需要我用主题和内容类型 小部件来扩展它 现在这就是我所了解的 内容类型和小部件
  • 将 MediaPicker 添加到常规站点设置

    我当前正在进行的项目正在利用租户站点 对于每个站点 我们希望能够通过修改其设置 在管理页面上 设置 gt 常规 来更改整个租户站点的徽标 我通过以下方式向站点设置添加了两个文本字段这个有据可查的教程 http docs orchardpro
  • Orchard Navigation - 如何使菜单链接不可点击

    我有以下菜单导航 home product product 1 product 2 news press releases about us 上面的每个菜单项都链接到一个内容 产品 除外 我需要这样做 以便当用户单击 产品 时不会去任何地方
  • Orchard CMS:Javascript 文件返回 404 未找到,即使它存在

    我的 Orchard 模块中的编辑器模板的 Razor 视图中有以下内容 Script Include assets js AtFoot 当页面呈现时 我可以在底部看到这一行 美丽的 唯一的问题是 当我访问该路径时 出现 404 错误 该脚
  • Orchard CMS 如何进行日志记录?

    我正在使用 Orchard CMS 它对我来说是更好的 CMS 我想了解它如何进行日志记录以及我是否可以添加自己的日志记录 我看到果园使用NullLogger类 它不起作用 我已打开 App Data Logs 文件夹并看到其中有日志文件
  • Orchard CMS - 配置基本 URL

    我使用 localhost frankgiotto 的基本 URL 在我的开发计算机上安装了最新版本的 Orchard 然后我将网站移至 www frankgiotto com 并在设置中更新了我的基本 URL 网站运行完美 我喜欢它的一切
  • 使用 Orchard 创建列表

    我正在尝试按照本教程创建内容列表 http docs orchardproject net Documentation Creating lists http docs orchardproject net Documentation Cr
  • October CMS:如何扩展后端用户的角色范围

    我已经能够延长Backend Models User类并添加一个范围查询方法以仅检索超级用户 public function boot User extend function model model gt addDynamicMethod
  • 为什么 Orchard 在执行内容项查询时如此慢?

    假设我想查询所有 Orchard 用户 ID 并且还想包括那些已被删除 也称为软删除 的用户 该数据库包含大约 1000 个用户 Option A 大约需要 2 分钟 Orchard ContentManagement IContentMa
  • 如何在 getStaticPaths 内添加 params 值数组

    我有一个页面 其结构如下 read slug number 我想要得到slug每个对应的值number in the getStaticPaths这是代码 export async function getStaticPaths const
  • 通过 PHP 将 CSV 导入 MYSQL

    我正在将 CSV 文件导入到我的管理区域 并且我想将文件添加到我的数据库中 我的 PHP 代码import php is
  • 使用多个 WHERE 子句更新 Codeigniter 中的批次

    我查看了 CI 用户指南来了解如何处理update batch 并且它似乎只接受一个索引来匹配要更新的行 但在我的例子中 我需要指定两个索引 例如lang and id page我一起用作索引 这样的lang en id page 115是
  • 将电子邮件规则中的日期时间字段标记转换为本地时区

    在 Orchard 中 我有一个自定义内容类型 其中包含日期时间字段 我创建了一条规则 用于在提交新内容项时发送电子邮件 我可以使用以下令牌在电子邮件中包含日期时间字段的值 Content Fields MyContentType MyDa
  • Orchard 中最近博客文章的自定义视图

    我已经搜索并尝试了 2 天来更改主页上显示的 RecentBlogPosts 内容类型的视图 我想显示帖子的标题和短语 我设法找到一个显示每个帖子标题的视图 但我还没有弄清楚模型中其他部分的名称或如何提取文本 非常感谢您的帮助 using

随机推荐

  • pgAdmin 中的主键和外键

    我想知道有人能给我解释一下如何在 pgAdmin 中分配主键和外键吗 我在网上找不到任何信息 例如 我有一个学生表 其中包含他们的所有详细信息 地址 出生日期等 我将向表中添加一个 Student number 并使其成为主键 我只是想知道
  • 反射问题——类型安全警告

    Class getConstructors http java sun com javase 6 docs api java lang Class html get
  • 通过属性值对 XML 进行排序 PHP

    所以我有一个 XML 文件 我试图根据属性 order 按顺序循环遍历该文件 这是一个例子
  • JUnit 3 是否有类似于 @Ignore 的东西

    我被迫使用 JUnit 3 如果我使用 JUnit 4 我偶尔会使用 Ignore因为我的一些测试需要一些时间 JUnit 4 中有类似的东西吗 注释掉测试很草率 并且更改了名称 来自testXxx 可能会导致忘记测试 Ignore很棒 因
  • 富文本框如何突出显示文本块

    我需要在 RTB 中突出显示文本的特定部分 不是指更改字体样式 颜色 而是指使用特定颜色进行块选择 这类似于 Visual Studio 在调试模式下突出显示一行的方式 我如何使用 RTB 来实现此功能 或者更确切地说 这是否可能 如果不可
  • 为不同节点类型配置jstree右键上下文菜单

    我在网上看到了一个示例 展示了如何自定义 jstree 右键单击 上下文菜单的外观 使用 contextmenu 插件 例如 允许我的用户删除 文档 但不能删除 文件夹 通过从文件夹的上下文菜单中隐藏 删除 选项 现在我找不到那个例子了 有
  • R 中的 pheatmap 格式:图例大小并创建方形图

    Pheatmap 仅在 legend FALSE 时创建方形图 我尝试使用 par 来允许更多 oma 和 mar 空间 但运气不佳 图例也很大 我找不到任何有关减少此图例或更改其位置的文档 第一个图没有安装树状图 但这与尺寸问题无关 无论
  • 使用股票代码输入、yahoo 或 google API 检索公司名称

    只是寻找一个简单的 api 返回 我可以在其中输入股票代码并接收完整的公司名称 股票代码 MSFT 将返回 微软 import yfinance as yf msft yf Ticker MSFT company name msft inf
  • 如何将 NSPanel 显示为工作表

    我正在尝试将 NSPanel 显示为工作表 我天真地沿着这些路线做一些事情 SheetController sheetController SheetController alloc initWithWindowNibName Sheet
  • maven buildnumber插件错误The scm url can not be null

    我是 Maven 的新用户 并且很难让 buildnumber maven plugin 执行我所期望的操作 本质上 我希望 maven 构建我的项目并创建结果的 JAR 文件 并在 manifest mf 文件中设置构建号 我将在下面包含
  • 如何抑制此 COM 泛型警告?

    我正在使用 msbuild 编译 VB Net 2 0 应用程序 在 VS2008 中创建 现在我添加了一个通用返回类型 它给了我以下内容 警告 类型库导出器 遇到泛型类型实例 一个签名 通用代码可能不是 导出到COM 刚刚花了很长时间删除
  • 使用 GUI 和工作线程增强 Asio 模式

    我想使用 GUI 线程和某些套接字 IO 的工作线程来实现 Boost Asio 模式 工作线程将使用boost asio io service管理套接字客户端 套接字上的所有操作将仅由工作线程执行 GUI 线程需要从工作线程发送和接收消息
  • 融合几个接近点的简单方法?

    我有一个这样的点列表 points 57 213878612138828 17 916958304169601 76 392039480378514 0 060882542482108504 0 12417670682730897 1 04
  • Hibernate @LazyCollection 注解有什么用

    我有 2 个实体作为父实体和子实体作为 OneToMany 关系 Entity public class Parent Id GeneratedValue strategy GenerationType AUTO private Integ
  • java 如何知道您是否正在运行 javaw.exe 与 java.exe

    相关以编程方式从 java 代码中查找 java exe 的绝对路径 https stackoverflow com questions 9006127 find absolute java exe path programatically
  • 如何使用 C 捕获另一个进程的输出?

    如何使用纯 C 捕获另一个进程的输出 你能提供示例代码吗 编辑 让我们假设Linux 我会对 相当可移植 的代码感兴趣 我想做的就是执行一个命令 捕获它的输出并以某种方式处理它 有多种选择 但它在一定程度上取决于您的平台 那就是说popen
  • 使用 NPOI,如何返回已由 Excel 格式化的单元格值?

    Using NPOI https npoi codeplex com 是否有任何内置的可能性来格式化单元格值 特别是数字和日期值 因为它已经 如果不是 最好的实施方式是什么 我想到了从 Excel 格式字符串到 C 格式字符串的格式字符串转
  • NodeJS 请求多个 api 端点

    好的 我正在尝试使用请求模块向 API 端点发出两个或多个请求 我正在渲染一个 HTML 文件 并使用以下代码将返回的 JSON 传递到车把模板 res render list html title List data returnedJS
  • 初始化一个包含 List 的 Map

    我需要使用里面有列表的地图 Map
  • Orchard CMS 中如何从数据库中获取表数据?

    如何从 Orchard CMS 数据库中获取表数据 我是 Orchard CMS 的初学者 我不知道如何在 Orchard CMS 中获取和保存任何数据 因为它不像 ado net 或 linq to sql 或实体框架等常规数据库访问模型