Apostrophe cms 如何通过撇号将数据从模板传递到index.js?

Apostrophe cms 如何通过撇号将数据从模板传递到index.js?,apostrophe-cms,apostrophe,Apostrophe Cms,Apostrophe,如果我将选项传递给如下代码中的小部件 {{apos.singleton(data.widget,'column'+loop.index,'eventicategorie',optionPage)} 如何在index.js文件的模块代码中(我实际上是指在构造函数或self.load中)获取optionPage值以查询所需的片段 谢谢因为模板是同步的,所以小部件总是在呈现模板之前加载。因此,您无法访问widgets模块的load方法中在模板级别传递的选项 我建议您作为替代方法使用(a)小部件模式中的

如果我将选项传递给如下代码中的小部件
{{apos.singleton(data.widget,'column'+loop.index,'eventicategorie',optionPage)}

如何在index.js文件的模块代码中(我实际上是指在构造函数或self.load中)获取optionPage值以查询所需的片段


谢谢

因为模板是同步的,所以小部件总是在呈现模板之前加载。因此,您无法访问widgets模块的
load
方法中在模板级别传递的
选项

我建议您作为替代方法使用(a)小部件模式中的设置(可在加载方法中使用),或(b)模块的单独子类(可以使用不同的加载方法以不同方式加载内容)

如果这些解决方案不适用于您的用例,请提供更多详细信息


我还注意到,您正在区域名称中使用循环索引。这通常不是获得这种效果的最佳方式。相反,使用
array
类型的字段在其自己的模式中有一个区域,或者使用由在其自己的模式中有一个区域的小部件组成的区域。后者对编辑来说尤其直观。您可以将
blockLevelControls:true
选项传递到外部区域,使编辑器更容易区分外部区域和内部区域的控件。

由于模板是同步的,因此始终在呈现模板之前加载小部件。因此,您无法访问widgets模块的
load
方法中在模板级别传递的
选项

我建议您作为替代方法使用(a)小部件模式中的设置(可在加载方法中使用),或(b)模块的单独子类(可以使用不同的加载方法以不同方式加载内容)

如果这些解决方案不适用于您的用例,请提供更多详细信息


我还注意到,您正在区域名称中使用循环索引。这通常不是获得这种效果的最佳方式。相反,使用
array
类型的字段在其自己的模式中有一个区域,或者使用由在其自己的模式中有一个区域的小部件组成的区域。后者对编辑来说尤其直观。您可以将
blockLevelControls:true
选项传递到外部区域,使编辑器更容易区分外部区域和内部区域的控件。

谢谢,但我有点困惑。你能和我分享一些关于你建议的文档吗?自定义小部件,包括如何向它们添加模式字段,这样用户可以在编辑它们时做出对加载方法可见的选择;嵌套小部件,作为区域名称中循环索引的替代品:谢谢你,但我有点困惑。您能与我分享一些您建议的文档吗?自定义小部件,包括如何向其添加架构字段,以便用户在编辑它们时可以做出对加载方法可见的选择:以及嵌套小部件,作为区域名称中循环索引的替代: