Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sitecore Speak-用JavaScript设置扩展器的标题_Sitecore_Sitecore Speak Ui - Fatal编程技术网

Sitecore Speak-用JavaScript设置扩展器的标题

Sitecore Speak-用JavaScript设置扩展器的标题,sitecore,sitecore-speak-ui,Sitecore,Sitecore Speak Ui,使用cintelUtil,我可以很容易地在数据绑定上为大多数SPEAK控件设置文本。但对于扩展器,我似乎无法设置它。setText无效 应该注意,我的扩展器位于DataRepeater项中。因此,它将动态呈现数据所需的数量。现在我正在Expander渲染中设置文本,但由于DataRepeater,我需要它是动态的 下面是将数据绑定到模板的函数。扩展器的名称是InfoExpander setupCompanyInfo: function (intelBaseUrl) {

使用cintelUtil,我可以很容易地在数据绑定上为大多数SPEAK控件设置文本。但对于扩展器,我似乎无法设置它。setText无效

应该注意,我的扩展器位于DataRepeater项中。因此,它将动态呈现数据所需的数量。现在我正在Expander渲染中设置文本,但由于DataRepeater,我需要它是动态的

下面是将数据绑定到模板的函数。扩展器的名称是InfoExpander

    setupCompanyInfo: function (intelBaseUrl) {

                  providerHelper.initProvider(this.CompanyInfoProvider,
                      "companyinfo",
                      intelBaseUrl,
                      this.ExternalDataTabMessageBar);

                  providerHelper.setupDataRepeater(this.CompanyInfoProvider, this.CompanyInfoRepeater);

                  this.CompanyInfoRepeater.on("subAppLoaded", function (args) {
                      var data = args.data,
                          subapp = args.app;

                      cintelUtil.setText(subapp.InfoName, data.Name, true);
                      cintelUtil.setText(subapp.InfoExpander, data.Name, true);

                  }, this);

                  providerHelper.getListData(this.CompanyInfoProvider);
}

通过大量的调试和对主干的更好理解,我找到了答案

  • 使用高级扩展器,而不是我使用的普通扩展器
  • 使用模板/sitecore/client/Business Component Library/version 1/Layouts/Renderings/Containers/AdvancedExpander/AdvancedExpander参数创建项目
  • 在该项中,您可以设置手风琴的参数。i、 e.默认情况下是否打开,是否可以打开,等等
  • 在高级扩展程序中,将数据源设置为步骤3中新创建的项
  • 当高级扩展器与数据源一起使用时,主干中会显示一个称为“header”的新属性。我们可以在代码中设置此属性来设置值。使用代码“subapp.InfoExpander.set(“header”,data.Name);”来完成这一任务
  • setupCompanyInfo:function(intelBaseUrl){
    providerHelper.initProvider(this.CompanyInfoProvider,
    “公司信息”,
    intelBaseUrl,
    这个.ExternalDataTabMessageBar);
    providerHelper.setupDataRepeater(this.CompanyInfoProvider,this.CompanyInfoRepeater);
    this.companyForepeater.on(“subAppLoaded”,函数(args){
    var data=args.data,
    subapp=args.app;
    cintelUtil.setText(subapp.InfoName,data.Name,true);
    subapp.InfoExpander.set(“header”,data.Name);
    },这个);
    providerHelper.getListData(this.CompanyInfoProvider);
    
    }
    也许你能帮助我。看看这个: