如何参数化Umbraco模板?

如何参数化Umbraco模板?,umbraco,Umbraco,我有一个翁布拉科网站 …具有各种文档类型,例如: 页面 出版 事件 新闻 …和各种模板,例如: 家 内容 满足于列表 嵌入媒体的内容(例如youtube视频) 在一个模板中,我有一些可选的宏/小部件。例如,有时带有“内容”模板的页面会显示“搜索站点”小部件,有时则不会。是否在特定页面上显示特定小部件将由CMS管理员(不是开发人员)控制 为每个小部件组合添加一个模板不是一个选项:如果“内容”模板有可选的小部件W1、W2、W3,那么我最终需要为这些小部件的功率集的每个成员创建一个模板-即,对

我有一个翁布拉科网站

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

  • 页面
  • 出版
  • 事件
  • 新闻
…和各种模板,例如:

  • 内容
  • 满足于列表
  • 嵌入媒体的内容(例如youtube视频)
在一个模板中,我有一些可选的宏/小部件。例如,有时带有“内容”模板的页面会显示“搜索站点”小部件,有时则不会。是否在特定页面上显示特定小部件将由CMS管理员(不是开发人员)控制

为每个小部件组合添加一个模板不是一个选项:如果“内容”模板有可选的小部件W1、W2、W3,那么我最终需要为这些小部件的功率集的每个成员创建一个模板-即,对于3个可选小部件,我必须将我拥有的模板数乘以8(2^n)(对于真实站点,将有3个以上的可选小部件)

因此,我想根据用户在Umbraco后端某处设置的参数来打开和关闭窗口小部件的显示。实际的打开和关闭非常简单-我只需在用户控件中添加一个“if(widgetX_is_开启)”语句

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


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

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

关于这个概念的一个很好的解释可以在这篇博文中找到: