asp.net - 如何在 Umbraco 中创建可编辑宏

标签 asp.net content-management-system umbraco

我正在使用 Umbraco 4.7 开发一个网站。某些页面之间存在某些共同元素,例如“联系方式”、“最新新闻”、“最新产品”等。例如,一个页面可以有联系方式,而其他页面可能有新闻。我想创建某种宏(HTML 或 Razor)并希望将它们添加到所需的页面上。但我也希望内容编辑器可以编辑该内容。我该如何创建这样的可编辑宏?

最佳答案

我假设您熟悉 Razor 和创建宏。如果没有的话,有a reasonable article here .

有多种方法可以实现此目的,但每种方法都取决于您希望显示的内容类型。例如,只需在 Razor 中指定以选择按日期降序排列的前 3 篇新闻文章,即可仅使用代码创建“最新新闻”宏。同样,如果联系人详细信息数据已存在于其他页面(例如“关于我们”或“联系我们”),那么您只需使用 Razor 找到该页面并提取您希望在宏中显示的字段值即可。

但是,一旦您想要对宏中显示的项目进行一些控制,您就需要创建一些额外的方法来控制它。对于您的产品,您可能需要选择在宏中显示哪些产品,从而在整个网站上显示。因此,您可以:

  • 为每个产品添加是/否字段(例如,称为“在侧栏中显示”),然后可以使用宏来过滤产品显示;或
  • 创建一个名为“侧栏产品”的新文档类型,其中包含一个 uComponents 多节点选择器,可让您选择产品。然后,您可以从此文档类型创建一个节点,并在宏中使用 Razor 查询该节点中的产品。 (显然,您必须确保该节点不会显示在网站的导航中!)

第二个选项是迄今为止更好的选项,因为它更容易维护,提供了一点可扩展性,并且还允许您潜在地拥有多个“侧栏产品”节点,因此您可以在不同的部分中拥有不同的产品集。网站。第一个选项当然更容易实现,但可能很难维护,因为您必须记住勾选了哪个产品。

关于asp.net - 如何在 Umbraco 中创建可编辑宏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15184330/

相关文章:

c# - 使用企业库将(数据表)从 ASP.NET 传递到 SQL Server

seo - 有人为在 Orchard CMS 上运行的网站做 SEO 吗?

php - 我应该编写自己的 CMS 吗?

javascript - 如何在 umbraco 中通过 javascript 呈现自定义保存消息气球

c# - Umbraco 代码库 - 非特定版本

asp.net - 如何在MVC4的局部 View 中添加脚本?

c# - 有两个 Page_Load 而不覆盖

Umbraco 7 入门套件?

asp.net - “覆盖”javascript 函数

asp.net-mvc-3 - 使用 EF 4.3 设计带有模块的 Web 平台