2016-08-12 27 views
1

Hubspot内置于jinja中,并提供有限且定制的jinja库供其开发人员使用。没有服务器端接入服务和Python不工作,在它的模板Hubspot(Jinja):将变量添加到博客数据以输出for循环

你好,

我想知道是否有可能变量添加到博客数据。

目前打造出来的,你会设置一个for循环一个博客列表页

`{% for content in contents %} 

{% endfor %}` 

那么你会调用,在博客文章

{{ content.foo)) 

这些变量的不同部分调用变量为元素已经和总是包括在一个集中的博客文章,如

作者 日期 标题 摘要 绝对链接 等

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

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

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

通过编写这个过程的一半我决定将选择模块从主博客模板移动到博客页面模板,现在该选项的变量对列表页面不可用。将选择模块保留在博客页面模板之外的主要博客模板中,使选择变量可用,但不是由博客单独提供。由于在博客上选择的选项不是每个博客保存的,因此只有默认选项可用。

如果有办法将其添加到内容变量,这样你可以做类似

{{ content.widget_data.foo.value }} 
内容循环中

,使得现有的博客文章的个人选择这将是巨大的。

有什么想法?

回答

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" 
} 
} 
},