【问题标题】:Bigcommerce Stencil Page ID?Bigcommerce 模板页面 ID?
【发布时间】:2016-05-19 12:04:42
【问题描述】:

在 Bigcommerce 的 Stencil 对象模型文档中:here is the link

我没有看到任何对基本页面 ID 的引用。虽然我可以看到“pageIDshown when hovering over the page name in the admin interface.

这个 pageID 值是否可以通过 Handlebars 访问?

【问题讨论】:

  • 您能解释一下基本页面是什么意思吗?喜欢内容网页?
  • @Alyss - 是的,我相信他指的是内容网页的 id。我刚刚注意到,在模板主题的内容页面上,pageid 出现在面包屑列表的最后一项中。让这个 pageid 也出现在“page”对象以及“pages”列表中的每个页面中会很有帮助。
  • @Alyss 是的,我正在尝试遍历所有页面并捕获每个页面的唯一 pageID。最终用途是在 if 语句中使用该 pageID 来有条件地显示特定页面。

标签: handlebars.js bigcommerce


【解决方案1】:

目前似乎只能获取您正在查看的页面的 pageid。这可能不是你需要的。您可能需要 pages 列表中每个页面的 pageid。希望他们能尽快添加。但是,以防万一它对您有所帮助,这就是我获取当前正在查看的页面的 pageid 的方式:

{{#each breadcrumbs}}
  {{#if @last}}
    {{this.pageid}}
  {{/if}}
{{/each}}

我正在使用这种方法来加载基于页面的特定样式表。我在config.json 中的每个页面都有一个样式表映射:

"settings": {
  "page_stylesheets": {
    "151": {"file_name": "my-custom-stylesheet.css"}
}

我在 templates/layouts/base.html 中添加了一个块:

{{#block "pageStyles"}} {{/block}}

然后,在我的 templates/pages/page.html 文件的顶部,我有以下内容:

{{#partial "pageStyles"}}
  {{#each breadcrumbs}}
    {{#if @last}}
      {{#with (lookup ../../theme_settings.page_stylesheets this.pageid)}}
        {{{stylesheet (concat 'assets/css/' this.file_name)}}}
      {{/with}}
    {{/if}}
  {{/each}}
{{/partial}}

【讨论】:

  • 感谢您在上面发布您的解决方案,但是,对于不同的场景,这是一个不错的解决方案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多