Sitefinity 4+ - 标准化Sitefinity 4-5.x中的站点内模块

时间:2013-04-12 20:41:32

标签: sitefinity sitefinity-4 sitefinity-5

我们编写了很多站内模块,并注意到它们现在在SF 4+中与基于内容的模块完全不同。所以,就此而言,我有一些问题:

  1. 如何获得编辑/创建表单的标准模块的精确外观?例如,如何消除上面的菜单,使表单居中等,例如,事件模块?
  2. 如何在radgrid中添加操作菜单下拉列表,就像在标准模块的网格中看到的一样?
  3. 如何将Sitefinity字段合并到用户控件中?例如sf:ImageField在添加到控件时会抛出脚本错误吗?此外,是否有关于这些字段的文档以及如何配置?
  4. --- ---最终

    如果我们真的想要这种标准化,我们是否必须采用其他模块类型?

    4.是否存在允许我们访问非sitefinity数据的模块类型(即分离db
      但也为我们提供与内容完全相同的功能和UI体验 -   基于模块?

1 个答案:

答案 0 :(得分:0)

站点内部模块只是放置在后端页面中的自定义用户控件(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 Content”UI的唯一方法是从Content继承,然后创建一个自定义提供程序,从数据库读取并将其转换为Sitefinity内容类型。这当然是可能的,但这是一个非常大的项目。

除非您完全需要这种紧密集成,否则我建议您只需通过API进入站内,链接到Sitefinity内容类型,分类等,并单独管理。

我希望这有用!