Última modificação: 8 de outubro de 2025
export_to_template_context
é um parâmetro que disponibiliza os parâmetros de uma tag HubL para o ambiente de modelo sem realmente renderizar a tag HubL. Esse parâmetro pode ser usado com todas as tags HubL. O widget_data
dict é usado para recuperar esses parâmetros, armazená-los em variáveis e/ou incorporá-los à lógica do seu modelo.
Ao disponibilizar os parâmetros de uma tag HubL no contexto do modelo sem renderizá-la, você pode permitir que os usuários tomem decisões no editor de conteúdo que afetem a forma como o modelo é renderizado. Por exemplo, digamos que você queira renderizar apenas um determinado bloco de código quando o usuário atribuir um valor a um campo. Isso se torna possível com esse parâmetro.
Primeiro, você deve adicionar export_to_template_context=True
à tag HubL. Em seguida, você deve usar um parâmetro widget_data.module.parameter_you_want_to_retreive
.
Uso em módulos personalizados
export_to_template_context=True
não é suportado em módulos personalizados, pois não serve para eles em nenhum propósito real. Você não precisa usar export_to_template_context
para obter o valor de um módulo dentro de um modelo, basta acessá-lo. Se você precisar ocultar visualmente a saída do módulo, poderá criar o módulo para que não haja saída ou incluir um campo booleano que habilite ou desabilite a renderização de algo.
Imagens de fundo selecionáveis pelo usuário
Neste exemplo, uma tag HubL de imagem é criada, mas depois exportada para o contexto do modelo, em vez de renderizada. O parâmetrosrc
é recuperado com a tag widget_data
e renderizado como a fonte de uma imagem de fundo em uma tag de estilo.
Campo de escolha para renderizar marcação predefinida
O exemplo a seguir usa o parâmetroexport_to_template_context
com um módulo de escolha para alterar uma mensagem de banner em uma página de carreiras. O usuário seleciona um departamento por meio da IU e o cabeçalho é alterado sem que ele precise editar o conteúdo.
Recuperação dos parâmetros em módulos já renderizados no modelo
Se você quiser recuperar um parâmetro de um módulo ou tag renderizado em uma página, o módulo poderá ser acessado dentro de um dict chamadowidgets
. O parâmetro export_to_template_context
não é obrigatório. A sintaxe é a seguinte:
Observação:
O método acima não é compatível com a recuperação de valores de campos em módulos globais, já quecontent.widgets
não acessará os módulos globais.Impressão das informações do módulo HubL na listagem do blog
Embora os modelos de blog sejam geralmente usados para blogs, eles também podem ser reaproveitados para criar vários outros tipos de listagens. Você pode usar as técnicas descritas acima para fazer isso. Por exemplo, talvez você queira criar um layout de listagem de imprensa que sua empresa recebeu, mas em vez de vincular a posts, prefere que a listagem seja vinculada a outra página. Você pode ver esse conceito em ação em academy.hubspot.com/projects. A página de listagem de projetos é um modelo de listagem de blog, mas cada post vincula a uma página regular da HubSpot. O criador de conteúdo especifica o link de destino no editor. No cabeçalho do código do post do blog individual, você definiria um campo de texto. Se você não quiser que o texto seja renderizado no post, useexport_to_template_context
.
content.widgets.custom_blog_link.body.value
. Embora o widget_data
não esteja disponível para a listagem do blog, o valor desse campo ainda é armazenado no contexto dos widgets do conteúdo individual.
Veja abaixo um loop básico de listagem de blog que renderiza esse link personalizado com cada post. Se estiver usando essa técnica, convém adicionar o subdiretório criado automaticamente para cada post do blog ao seu arquivo robots.txt para evitar que esses posts vazios sejam rastreados pelo Google e outros rastreadores.