如何在Umbraco中创建可编辑的宏

时间:2013-03-03 09:32:47

标签: asp.net content-management-system umbraco

我正在使用Umbraco 4.7来开发一个网站。某些页面中存在某些共同元素,如“联系人详细信息”,“最新消息”,“最新产品”等。例如,一个页面可以包含联系人详细信息,而其他页面可能包含新闻。我想创建某种宏(HTML或Razor),并希望在所需的页面上添加这些宏。但我也希望内容编辑器可以编辑这些内容。我该如何创建这样的可编辑宏?

1 个答案:

答案 0 :(得分:3)

我将假设您熟悉Razor并创建宏。如果没有,则有a reasonable article here

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

但是,只要您想要控制宏中显示哪些项目,您就需要创建一些其他控制方法。对于您的产品,您可能希望选择宏中显示的内容,以及整个站点中显示的内容。因此,您可以:

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

这第二个选项是更好的选择,因为它更易于维护,提供一点可扩展性,并且还允许您有多个“侧栏产品”节点,因此您可以在不同的部分中使用不同的产品组。这些网站。第一个选项当然更容易实现,但由于您必须记住选中的产品,因此难以维护。