我们编写了许多站点内模块,并且注意到它们现在在sf4 +中确实偏离了基于内容的模块。所以,关于这一点,我有一些问题:
- 如何获得编辑/创建表单的标准模块的确切外观和感觉?例如,如何消除上面的菜单,将表单居中,等等,比如在Events模块中?
- 你如何添加一个动作菜单下拉到一个网格,就像你在网格中看到的标准模块? 如何将Sitefinity字段合并到用户控件中?例如sf:ImageField在添加到控件时抛出脚本错误?此外,是否有关于这些字段以及如何配置的文档?
——最终——
如果我们真的想要标准化,我们必须使用另一种模块类型吗?
4。是否有一个模块类型,将允许我们访问非站点完整性数据(即单独的db
)而且还为我们提供与内容完全相同的功能和UI体验基于模块?
站点内部模块是简单的自定义用户控件(ascx)放置到后端页面,以添加您的自定义功能到后端。为了复制站点其他部分的外观和感觉,我将HTML复制并粘贴到控件中。
我之前做了一个关于这个的网络研讨会,包括重新创建后端编辑器的代码。它似乎仍然有效,可以在这里获得:http://www.sitefinity.com/blogs/joshmorales/posts/josh-morales-blog/2011/06/30/sitefinity_intra-site_module_webinar_notes
居中视图有点不同,我没有那个html,但您也可以这样做(从另一个本机页面复制它)。我并不总是100%准确(我的控件通常与Sitefinity的布局不同),但我足够接近,所以它不会破坏用户体验。
动作菜单可以用javascript重新创建,但是如果你正在寻找为你做这一切的NATIVE集成,实际上你会看到继承或更好:简单地使用模块构建器,它可以让你构建自定义类型,自动安装到Sitefinity中,就像它们是常规模块一样。
字段被明确设计为在本地sitefinity模块定义(使用sitefinity上下文组成UI的类)的上下文中运行。这并不意味着你不能在你的模块中包含Sitefinity内容;它只是意味着如果你这样做,你将不得不自己使用API实现集成。
关于你的最后一个问题,使用外部数据但仍然保持"Sitefinity内容"UI的唯一方法是从Content继承,然后创建一个从数据库读取并将其转换为Sitefinity内容类型的自定义提供程序。这当然是可能的,但这是一个相当大的工程。
除非您完全需要这种紧密集成,否则我建议您直接在站点内,通过API链接到Sitefinity内容类型,分类等,并单独管理。
我希望这是有帮助的!