使

  项目中新增了功能点,且功能点为动态功能时,需要通过模板来实现,而原来站点的相关配置不能满足此需求,则需要通过扩展服务来实现此功能。

 

  相关数据结构

  ZCInteractiveTemplate表,其中包含字段ID、SiteID、CODE、Template、PlatformID 以及泽元表结构必有字段,其中Code用来保存模板定义类com.zving.test.impl.TestSiteInteractiveTemplateService中的IDTemplate用来保存站点目录下的模板文件,若未进行设置则使用定义类中UI目录下的默认的template文件,platformID用来保存平台的ID,其中包括pchtml5rss

 

  涉及的类说明

  继承类com.zving.contentcore.properties. AbstractInteractiveTemplateProperty,扩展服务com.zving.contentcore.service.InteractiveTemplateService,该扩展服务是站点动态模板设置的UI扩展服务。

 

  详

  第一步:

  在相应的插件配置中新增一个服务项,填写相关的信息,ID可使用Class的包路径+类名(com.zving.test.impl. TestSiteInteractiveTemplateService)),便于识别。选择扩展服务com.zving.contentcore.service.InteractiveTemplateService (需当前插件依赖Contentcore插件)点击Class可弹出新建Class窗口,默认继承com.zving.contentcore.properties.AbstractInteractiveTemplateProperty,定义包名 类名(com.zving.test.impl.TestSiteInteractiveTemplateService),确定保存。

 

  第二步:

  进入com.zving.test.impl.TestSiteInteractiveTemplateService类中,可看到该类实现了两个方法,代码如下:

  该类中定义了动态模板加载相关的一些属性的获取方法,详情见代码内注释。

  保存后重启即可获取到,完成以上步骤后,重启查看站点的动态模板设置,如下图:

xxx

  完成后在相关动态功能页的动态响应类中可通过TemplateUtil.getInteractiveTemplate(context, MemberFavoritesTemplateProperty.ID);来获取模板的路径,若未设置则取默认值,若设置新值,则返回新的模板路径。

  注意在调试过程,发现动态模板扩展配置一直未加载新增的服务项,经调试发现是由于插件定义类中的PluginID .plugin中定义的ID不一致,导致加载时对比失败导致,调整一致后问题解决。