Crie um componente reutilizável em suas páginas e modelos chamado módulo personalizado. Você aprenderá sobre campos e os usará com o HubL.
Última modificação: 10 de outubro de 2025
‘Crie um componente reutilizável em suas páginas e modelos chamado módulo personalizado. Você aprenderá sobre campos e os usará com o HubL.’;‘https://cdn2.hubspot.net/hubfs/327485/Module%20Editor-1-1.png’;Neste tutorial, você usará o tema do HubSpot CMS Boilerplate para aprender como criar um módulo e usá-lo em modelos e páginas como parte de um tema. No final do tutorial, você terá criado um módulo de depoimentos que inclui um campo de imagem, um campo de texto e um campo de rich text.
Instale o Node.js, que habilita as ferramentas de desenvolvimento local da HubSpot. As versões 10 ou superior são compatíveis.
Se quiser avançar, você pode visualizar os arquivos do projeto concluídos. Como o código do tema do CMS Boilerplate pode mudar com o tempo, apenas os arquivos mais críticos que os desenvolvedores precisarão criar ou editar durante o tutorial são incluídos. Esses campos incluem:
Testimonial.module: a pasta que contém os arquivos que compõem o módulo personalizado que você criará como parte do tutorial.
homepage.html: o modelo que será editado para incluir o módulo personalizado.
images: a pasta que contém as imagens de perfil que você usará no módulo.
Durante este tutorial, você fará o desenvolvimento do módulo localmente. Para interagir com o HubSpot na interface da linha de comando, você precisará instalar a CLI do HubSpot e configurá-la para acessar sua conta.
No terminal, execute o comando a seguir para instalar a CLI globalmente. Para instalar a CLI apenas no seu diretório atual, execute o npm install @hubspot/cli.
Reportar código incorreto
Copiar
Perguntar à IA
npm install -g @hubspot/cli
No diretório onde você armazenará os arquivos do tema, autentique a sua conta da HubSpot para que seja possível interagir com ela por meio da CLI.
Reportar código incorreto
Copiar
Perguntar à IA
hs account auth
Pressione Enter para abrir a página da chave de acesso pessoal no navegador.
Selecione a conta para a qual deseja implantar e clique em Continuar com esta conta. Você será redirecionado para a página da chave de acesso pessoal da conta.
Ao lado de Chave de acesso pessoal, clique em Mostrar para revelar sua chave. Em seguida, clique em Copiar para copiá-la para a área de transferência.
Cole a chave copiada no terminal e pressione Enter.
Insira um nome exclusivo para a conta. Esse nome só será visto e usado por você ao executar comandos. Em seguida, pressione Enter. Para conectar as ferramentas de desenvolvimento local à sua conta:
Você verá uma mensagem de sucesso confirmando que o arquivo ~/.hscli/config.yml foi criado.
Execute o comando abaixo para criar um novo tema chamado my-theme. Uma pasta de temas chamada my-theme será criada no seu diretório de trabalho contendo os ativos de boilerplate.
Reportar código incorreto
Copiar
Perguntar à IA
hs create website-theme my-theme
Carregue os arquivos na sua conta.
Reportar código incorreto
Copiar
Perguntar à IA
hs upload <src> <destination>
Parâmetro
Descrição
O caminho para os arquivos locais, em relação ao diretório de trabalho atual.
O caminho de destino na sua conta HubSpot. Isso pode ser uma nova pasta.
Por exemplo, hs upload my-theme my-new-theme faria o upload da pasta my-theme do seu computador para uma pasta my-new-theme no HubSpot.
Na barra lateral direita do editor de módulos, clique no menu suspenso **Adicionar campo **e selecione Texto.
Na barra lateral direita, clique no ícone de lápis no canto superior direito para dar um nome para o campo. Para este tutorial, insira o Nome do cliente. Você verá a mudança do nome da variável do HubL para customer_name.
Defina o Texto padrão para Sally.
Na barra lateral direita, clique no ícone de trilha de navegação para retornar ao menu do módulo principal.
Adicionar o campo de rich text para o depoimento de Sally
Adicione outro campo usando o mesmo método, desta vez selecionando o tipo de campo de Rich text.
Rotule o campo de rich text Depoimentos.
Clique na caixa de Rich text padrão e digite “Não tive nada além de experiências maravilhosas com esta empresa.”
Até agora, você adicionou dados em vários campos de módulo. Neste momento, porém, o módulo não contém nenhum HTML para renderizar esses dados. No editor do módulo, isso é refletido pelo estado vazio da seção module.html. Em seguida, você adicionará o HubL ao module.html para exibir os dados do campo.
Os tokens HubL acima usam notação de ponto para acessar os dados de cada campo. Nesse caso, como queremos extrair os dados dos campos do módulo, cada token começa com module, seguido pelo nome da variável HubL do campo. Você pode usar a notação de ponto para acessar ainda mais propriedades específicas de um campo, o que você pode ver nos tokens profile_pic na linha 3 acima.
Com o HubL adicionado ao módulo, clique em Visualizar no canto superior direito para ver como o módulo está até agora.
No canto superior direito, clique em Publicar alterações.
Depois de criar e publicar o módulo no HubSpot, você usará a CLI para enviá-lo para o ambiente local, de modo a poder visualizar seu conteúdo e fazer quaisquer alterações necessárias.
Para exibir o módulo localmente, primeiro você precisará baixá-lo para o tema local:
No terminal, execute o seguinte comando: hs fetch <hs_src> <destination>:
<hs_src> representa o caminho do arquivo do módulo no HubSpot. Para obter o caminho do arquivo, clique com o botão direito do mouse no módulo, na barra lateral esquerda do gerenciador de design, e selecione Copiar caminho.
<destination> representa o caminho para o diretório local onde se encontra o tema. Se omitido, o comando será o padrão para o diretório de trabalho atual.
Por exemplo, se você já estiver no diretório de trabalho, o comando de busca pode ser semelhante ao seguinte:
No seu editor de códigos preferido, acesse a pasta do módulo que você acabou de baixar da sua conta da HubSpot. Dentro da pasta do módulo, você verá cinco arquivos diferentes:
Parâmetro
Descrição
fields.json
Um objeto JSON que contém os campos do módulo.
meta.json
Um objeto JSON que contém metainformações sobre seu módulo.
module.css
O arquivo CSS que estiliza o módulo.
module.html
O HTML e o HubL do seu módulo.
module.js
O JavaScript do seu módulo.
Você pode encontrar informações mais detalhadas em nossa documentação sobre a estrutura de arquivos do módulo, principalmente as relacionadas aos arquivos fields.json e meta.json. Neste tutorial, vamos nos concentrar nos arquivos fields.json, module.css e module.html e como eles são gerados, baixados e enviados para o editor de módulos no Gerenciador de design.
Abra o arquivo fields.json do módulo. Além de alguns dos números de id, o atributo src do campo de imagem e, potencialmente, a ordem dos campos, o arquivo deve conter um objeto JSON semelhante ao seguinte:
O arquivo module.htmldeve conter o HubL e o HTML que você escreveu anteriormente no editor de módulos do HubL + HTML.Para tornar este código mais interessante e pronto para estilo CSS, copie e cole o seguinte código no arquivo:
Para esta parte do tutorial, você trabalhará principalmente dentro das pastas modules e templates nos arquivos de tema locais. Por sua definição mais básica, os módulos são áreas editáveis de modelos e páginas da HubSpot. Você pode inserir módulos em modelos no HubSpot usando o gerenciador de design, mas aqui usaremos o HubL para adicionar módulos a um modelo em seu ambiente local.
No editor de código, abra a pasta templates e, em seguida, abra o arquivo home.html.
No arquivo home.html, acesse a dnd_section final, que começa na linha 28. Você adicionará o seu novo módulo a esta seção.
Em dnd_section e acima dos outros dnd_modules, copie e cole a seguinte tag de módulo HubL:
Essa tag HubL faz referência ao seu novo módulo pelo caminho relativo de arquivo. Para que o módulo se ajuste de forma uniforme aos outros dois módulos na dnd_section, também atribui valores de width e offset ao módulo:
O CMS da HubSpot usa um sistema de grade de 12 colunas; portanto, para espaçar este módulo de forma uniforme com os outros dois, você precisará atualizar a dnd_section de cada módulo para uma largura igual a 4.
Em seguida, o primeiro dnd_module no grupo (testimonial) terá um deslocamento de 0 para posicioná-lo primeiro em lugar.
O segundo dnd_module (linked_image) terá um deslocamento de 4 para posicioná-lo em segundo lugar.
O terceiro dnd_module (rich_text) terá um deslocamento de 8 para posicioná-lo em terceiro lugar.
Depois de definir offset e width para cada dnd_module, seu código será semelhante ao seguinte:
Reportar código incorreto
Copiar
Perguntar à IA
{% dnd_section background_color="#f8fafc", vertical_alignment="MIDDLE" %} {% dnd_module path= “../modules/Testimonial.module”, offset=0, width=4 %} {% end_dnd_module %} {% dnd_module path="@hubspot/linked_image", img={ "alt": "Stock placeholder image with grayscale geometrical mountain landscape", "loading": "lazy", "max_height": 451, "max_width": 605, "size_type": "auto_custom_max", "src": get_asset_url("../images/grayscale-mountain.png") }, offset=4, width=4 %} {% end_dnd_module %} {% dnd_module path="@hubspot/rich_text", html="<h2>Provide more details here.</h2><p>Use text and images to tell your company’s story. Explain what makes your product or service extraordinary.</p>" offset=8, width=4 %} {% end_dnd_module %} {% end_dnd_section %}
Se você não tiver mantido o comando watch em execução para rastrear seu trabalho automaticamente, execute hs watch <src> <dest>. Certifique-se de que esse comando continue em execução ao concluir as próximas etapas.
Na sua conta da HubSpot, abra o gerenciador de design (Marketing > Arquivos e modelos > Ferramentas de design.
Na barra lateral esquerda do gerenciador de design, selecione o arquivo home.html.
No canto superior direito, clique em Visualizar e selecione Visualização em tempo real com opções de exibição para abrir a visualização do modelo em uma nova janela.
Na nova guia, confira a visualização do modelo, que deve conter o módulo de depoimentos recém-adicionado.
Para tornar o modelo da página inicial mais interessante:
Retorne ao editor de códigos e abra o arquivo home.html.
Adicione os seguintes parâmetros à tag do módulo de depoimentos:
Reportar código incorreto
Copiar
Perguntar à IA
{% dnd_module path='../modules/Testimonial.module', customer_name = "Mary", profile_pic = { src: "{{ get_asset_url('../images/profile-pic-mary.svg') }}", alt: "Mary Profile Picture" }, testimonial = "Wow, what a product! I can't wait to recommend this to all my family and friends!", offset=0, width=4%}{% end_dnd_module %}
Os parâmetros acima substituem os valores padrão que você atribuiu originalmente aos três campos. Cada parâmetro usa o nome da variável do HubL que você atribuiu a cada campo anteriormente:
customer_name: este parâmetro passa o nome Mary para o campo de nome do cliente, substituindo o valor de Sally.
profile_pic**: **este parâmetro é um objeto que contém duas propriedades.
A propriedade src usa a função do HubL get_asset_url para recuperar o URL da nova imagem de perfil. Observe que o caminho do arquivo de imagem é relativo ao seu diretório de trabalho. Primeiro, você precisará adicionar essa imagem à pasta images nos arquivos do tema local. Você pode encontrar a imagem na pasta images nosarquivos do projeto concluído.
A propriedade alt atribui o texto alternativo da imagem.
testimonial: este parâmetro passa um novo texto para o campo de depoimentos.
Alternativamente, para o campo de rich text, você pode usar a sintaxe de bloco do HubL para escrever um grande bloco de HTML ou texto:
Reportar código incorreto
Copiar
Perguntar à IA
{% dnd_module path='../modules/Testimonial.module', customer_name = "Mary", profile_pic = { src: "{{ get_asset_url('../images/profile-pic-mary.svg') }}", alt: "Mary Profile Picture" }, offset=0, width=4%} {% module_attribute "testimonial" %} Wow, what a product! I can't wait to recommend this to all my family and friends! {% end_module_attribute %}{% end_dnd_module %}
Saiba mais sobre a sintaxe de bloco do módulo.Se você manteve o comando watch em execução no seu terminal, salve as alterações para enviá-las para o HubSpot. Você pode voltar ao gerenciador de design para visualizar o modelo.
Adicionar mais dois módulos de depoimentos ao modelo
Nesta etapa, você adicionará mais dois módulos de depoimentos ao modelo usando as mesmas etapas anteriores:
Acesse o editor de códigos e, em seguida, abra o arquivo home.html.
No módulo de depoimentos que você adicionou anteriormente, adicione outra instância do módulo, copiando e colando o código desse módulo. No novo módulo de depoimentos, especifique os seguintes detalhes usando as mesmas etapas acima:
O nome do cliente é Ollie.
O depoimento de Ollie diz: I can't believe that I ever conducted business without the use of this product!
Para a imagem de Ollie, adicione o caminho de arquivo relativo para o arquivo dentro da pasta images. Você pode obter a imagem nos arquivos do projeto concluído. Em seguida, dê à imagem de Ollie o atributo alt de Ollie Profile Picture.
Para manter o espaçamento, defina offset como 4 e width como 4.
Abaixo do segundo módulo de depoimento, adicione um terceiro com os seguintes detalhes:
O nome do cliente é Erin.
O depoimento de Erin diz: My business has nearly tripled since I began to use this product! Don't wait, start now!
Para a imagem de Erin, adicione o caminho de arquivo relativo para o arquivo dentro da pasta images. Em seguida, dê à imagem de Erin o atributo alt de Erin Profile Picture.
Para manter o espaçamento, defina offset como 8 e width como 4.
Salve suas alterações.
Se você manteve o comando watch em execução no seu terminal, volte ao Gerenciador de design para visualizar as alterações no modelo. A visualização do modelo deve conter todos os três módulos de depoimentos.Como etapa final, você preparará o tema para uso em uma página ativa, modificando o arquivo theme.json.
Agora que você criou um módulo personalizado, adicionou-o ao modelo home.html e, opcionalmente, personalizou o nome do tema, está pronto para criar uma página ativa a partir do tema.Se quiser seguir um tutorial semelhante criado especificamente para temas, confira o tutorial Introdução aos temas a seguir. Caso contrário, você pode saber mais sobre como criar e personalizar páginas na Central de conhecimento da HubSpot.Ou, se você quiser saber mais sobre os módulos, confira os seguintes guias: