首页 文章

Hubspot(Jinja):为博客数据添加变量以便在for循环中输出

提问于
浏览
2

Hubspot建于jinja,提供有限和定制的jinja库供其使用's developers. no server side access is available and python does not work in it' s模板

你好,

我想知道是否可以向博客数据添加变量 .

目前,要构建博客列表页面,您需要设置for循环

`{% for content in contents %}

{% endfor %}`

然后你会调用在博客帖子的不同部分调用的变量

{{ content.foo ))

这些变量适用于已经并且始终包含在hubspot博客帖子中的元素,例如

作者日期 Headers 摘要绝对链接等

但是可以添加这些变量 . 例如,假设我将图像模块添加到博客帖子模板中 . 有没有办法在列表页面上访问它?

我实际上要做的是允许该选项根据我在博客文章模板上设置的选择模块在一列或两列中显示任何列表项 . 如果在创建博客文章时选择1列或2列,则列表页面上循环内的包装器中的类将相应更改 .

我遇到的问题是,虽然选项模块值可用于列表页面模板(在博客模板上的hubl模板模块中,而不是在博客文章模板中),并且选择下拉列表在博客编辑模板上并且可以进行选择并保存,列表页面仅识别默认选项,而不是在博客编辑器中选择的选项 .

写这篇文章的一半我决定将选择模块从主博客模板移到博客页面模板,现在列表页面无法选择变量 . 将选择模块保留在博客页面模板之外的主博客模板中会使选择的变量可用,但博客不能单独使用 . 由于博客上选择的选项不是按博客保存的,因此只有默认选项可用 .

如果有一种方法可以将它添加到内容变量中,那么你可以做类似的事情

{{ content.widget_data.foo.value }}

在内容循环中,使个人选择的博客文章可用 .

有任何想法吗?

1 回答

  • 1

    我回答了自己的问题 .

    我使用了开发人员信息(我必须使用代码美化器和页面搜索),但我在每个帖子的数据中找到了选择小部件 .

    我期待它是这样的

    {{ content.widget_data.foo.value }}
    

    因为这是它在页面上的工作方式(减去内容 . ),但它最终成为了

    {{ content.widgets.foo.body.value }}
    

    它现在输出每个帖子做出的选择 .

    如果这对其他人有帮助,我想提一下,选择模块实际上放在博客页面模板中(不是主博客模板或列表模板) .

    这适用于任何模块,自定义或其他模块 . 您只需在数据和目标中找到它 .

    我的数据看起来像:

    "contents": {
    "objects": [{
    "widgets": {
    "columns": {
    "css": {},
    "child_css": {},
    "name": "foo",
    "type": "choice",
    "label": "Choose Columns",
    "smart_type": null,
    "id": "columns",
    "body": {
    "value": "col-wrap-2"
    }
    }
    },
    

相关问题