【发布时间】:2011-03-23 02:44:53
【问题描述】:
我有一个 Umbraco 网站
...具有各种文档类型,例如:
- 页面
- 出版
- 事件
- 新闻
...以及各种模板,例如:
- 首页
- 内容
- 内容与列表
- 嵌入媒体的内容(例如 youtube 视频)
在模板中,我有一些可选的宏/小部件。例如,有时带有“内容”模板的页面会显示“搜索站点”小部件,有时则不会。特定小部件是否显示在特定页面上将由 CMS 管理员(不是开发人员)控制。
为每个小部件组合添加模板不是一种选择:如果“内容”模板具有可选的小部件 W1、W2、W3,那么我最终需要为这些小部件的每个成员创建一个模板小部件 - 即我必须将我拥有的模板数量乘以 8 (2^n) 才能获得 3 个可选小部件(实际站点将有超过 3 个可选小部件)。
所以我想根据用户在 Umbraco 后端某处设置的参数来打开和关闭小部件的显示。实际的打开和关闭非常简单 - 我将在我的用户控件中添加一个“if (widgetX_is_turned_on)”语句。
但是,据我所知,我只能将属性添加到文档类型,而不是模板。我不希望添加一个属性来将每个小部件切换到我的根文档类型,因为如果与文档关联的模板不允许某个小部件,其中许多切换/属性最终将什么都不做。例如,如果我使用“内容”文档类型创建了一个名为“示例页面”的“页面”文档,那么如果“内容”模板实际上不允许显示,那么“显示搜索站点小部件”切换/属性将不会执行任何操作“搜索网站”小部件。
是否有一种简洁的方式来参数化模板,以便我可以为单个文档打开和关闭宏/小部件?
【问题讨论】:
标签: umbraco