HubSpot 宏不输出标记
HubSpot macro not outputting markup
我定义了一个 my_macro.html
,目前看起来像这样:
<!--
templateType: "none"
isAvailableForNewContent: false
-->
{% macro video_card(background_image, video_link) %}
<div class="videoCard" style="background-image: url({{ background_image }});">
<a class="button--play" id="play-video"></a>
<h1>test</h1>
</div>
{% endmacro %}
在 HubSpot 中,在我的 custom module
中,我正在尝试使用这个宏。我有以下内容:
{% import '/website/assets/hubl/my_macros.html' as macros %}
<div class="hero">
<div class="hero__video">
{{ macros.video_card }} <!-- this is where I'm trying to print markup -->
</div>
</div>
但是,在输出中我应该看到标记的地方,我看到了以下消息:
com.hubspot.jinjava.lib.fn.MacroFunction@9d25d51
不确定为什么?我遵循了记录的 import
和 my_macro.html
文件名结构 defined here.
您的宏有 2 个参数 video_card(background_image, video_link)
,但在您的模板中
{{ macros.video_card }} <!-- this is where I'm trying to print markup -->
您忘记传递任何参数了吗?
应该是这样的:
{{ macros.video_card('bg-image.png', 'video.mp4') }}
对于任何想知道的人,在自定义模块中使用宏的正确方法是:
{% from '/website/assets/hubl/my_macros.html' import videoCard %}
它的用法是:
{{ video_card('image.jpg') }}
我定义了一个 my_macro.html
,目前看起来像这样:
<!--
templateType: "none"
isAvailableForNewContent: false
-->
{% macro video_card(background_image, video_link) %}
<div class="videoCard" style="background-image: url({{ background_image }});">
<a class="button--play" id="play-video"></a>
<h1>test</h1>
</div>
{% endmacro %}
在 HubSpot 中,在我的 custom module
中,我正在尝试使用这个宏。我有以下内容:
{% import '/website/assets/hubl/my_macros.html' as macros %}
<div class="hero">
<div class="hero__video">
{{ macros.video_card }} <!-- this is where I'm trying to print markup -->
</div>
</div>
但是,在输出中我应该看到标记的地方,我看到了以下消息:
com.hubspot.jinjava.lib.fn.MacroFunction@9d25d51
不确定为什么?我遵循了记录的 import
和 my_macro.html
文件名结构 defined here.
您的宏有 2 个参数 video_card(background_image, video_link)
,但在您的模板中
{{ macros.video_card }} <!-- this is where I'm trying to print markup -->
您忘记传递任何参数了吗?
应该是这样的:
{{ macros.video_card('bg-image.png', 'video.mp4') }}
对于任何想知道的人,在自定义模块中使用宏的正确方法是:
{% from '/website/assets/hubl/my_macros.html' import videoCard %}
它的用法是:
{{ video_card('image.jpg') }}