2

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

4

1 回答 1

3

我假设您熟悉 Razor 和创建宏。如果没有,这里有一篇合理的文章

有几种方法可以做到这一点,但每种方法都取决于您希望显示的内容类型。例如,可以仅使用代码创建“最新新闻”宏,只需在剃刀中指定以选择按日期降序排列的前 3 篇新闻文章。同样,如果联系人详细信息数据已经存在于另一个页面上(例如关于我们或联系我们),那么您可以使用 Razor 定位该页面并拉取您希望在宏中显示的字段值。

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

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

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

于 2013-03-03T11:42:34.777 回答