【问题标题】:How do I parameterize an Umbraco template?如何参数化 Umbraco 模板?
【发布时间】:2011-03-23 02:44:53
【问题描述】:

我有一个 Umbraco 网站

...具有各种文档类型,例如:

  • 页面
  • 出版
  • 事件
  • 新闻

...以及各种模板,例如:

  • 首页
  • 内容
  • 内容与列表
  • 嵌入媒体的内容(例如 youtube 视频)

在模板中,我有一些可选的宏/小部件。例如,有时带有“内容”模板的页面会显示“搜索站点”小部件,有时则不会。特定小部件是否显示在特定页面上将由 CMS 管理员(不是开发人员)控制。

为每个小部件组合添加模板不是一种选择:如果“内容”模板具有可选的小部件 W1、W2、W3,那么我最终需要为这些小部件的每个成员创建一个模板小部件 - 即我必须将我拥有的模板数量乘以 8 (2^n) 才能获得 3 个可选小部件(实际站点将有超过 3 个可选小部件)。

所以我想根据用户在 Umbraco 后端某处设置的参数来打开和关闭小部件的显示。实际的打开和关闭非常简单 - 我将在我的用户控件中添加一个“if (widgetX_is_turned_on)”语句。

但是,据我所知,我只能将属性添加到文档类型,而不是模板。我不希望添加一个属性来将每个小部件切换到我的根文档类型,因为如果与文档关联的模板不允许某个小部件,其中许多切换/属性最终将什么都不做。例如,如果我使用“内容”文档类型创建了一个名为“示例页面”的“页面”文档,那么如果“内容”模板实际上不允许显示,那么“显示搜索站点小部件”切换/属性将不会执行任何操作“搜索网站”小部件。

是否有一种简洁的方式来参数化模板,以便我可以为单个文档打开和关闭宏/小部件?

【问题讨论】:

    标签: umbraco


    【解决方案1】:

    您所做的基本上是为您的小部件创建单独的文档类型,然后将它们链接到您的内容。如果没有为当前页面选择小部件,您甚至可以从父文档继承小部件。

    可以在这篇博文中找到对这个概念的一个很好的解释:http://blog.hendyracher.co.uk/sidebar-widgets-with-umbraco-v4/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多