Kit & Módulos

Sistema de segmentos, módulos e configuração do perfil do site — do setup inicial à ativação individual de funcionalidades.

Visão Geral

O sistema de Kit & Módulos controla quais funcionalidades cada site (tenant) possui. Ele opera em dois eixos:

Starter Kits
Pacotes pré-configurados que definem o perfil do site: quais módulos ativar, qual template usar, quais páginas criar.
Módulos
Funcionalidades individuais (Blog, Imóveis, Produtos, etc.) que podem ser ativadas ou desativadas por tenant.
O fluxo típico é: o tenant seleciona um Starter Kit que define o perfil do site, e depois pode ajustar módulos individualmente. Módulos inativos ficam completamente ocultos — menus, rotas e funcionalidades desaparecem.

Módulos

Módulos são unidades de funcionalidade da plataforma. Cada módulo controla um conjunto de funcionalidades: telas do painel, rotas, menus, views do front e CSS.

Catálogo Completo

CategoriaMóduloDescriçãoTipo
Essenciais
Sempre ativos
PáginasPáginas estáticas e Page BuilderCore
ConfiguraçõesConfigurações do siteCore
MídiaGerenciador de arquivos e imagensCore
TemplatesGestão de templates do siteCore
Conteúdo BlogPosts, categorias, tagsOpcional
PortfólioGaleria de projetos/trabalhosOpcional
DepoimentosDepoimentos de clientesOpcional
FAQPerguntas frequentes por categoriaOpcional
EquipeMembros da equipeOpcional
DownloadsÁrea de downloads protegidaOpcional
Comércio ProdutosCatálogo de produtos com categoriasOpcional
ImóveisListagem de imóveis com filtros avançadosOpcional
VeículosListagem de veículos com filtros avançadosOpcional
Interação ContatoFormulário de contato e mensagensOpcional
OrçamentoSolicitações de orçamento (mini-cart)Opcional
NewsletterCaptação de e-mailsOpcional
ComentáriosComentários em posts e conteúdosOpcional
Visual SlidersBanners rotativos (carrossel)Opcional
AnúnciosBanners e espaços publicitáriosOpcional

Tipos de Módulo

TipoComportamento
Core Sempre ativo. Não pode ser desativado por nenhum tenant. São funcionalidades essenciais (Páginas, Mídia, Configurações, Templates).
Obrigatório Ativado automaticamente pelo Starter Kit. O tenant não pode desativar enquanto estiver usando aquele kit. Exemplo: "Imóveis" no kit Imobiliária.
Opcional Pode ser ativado ou desativado livremente pelo tenant. Aparece como sugestão no kit mas não é imposto.

O Que Acontece ao Ativar/Desativar

Quando um módulo é ativado ou desativado para um tenant, os seguintes elementos são afetados automaticamente:

ElementoAtivoInativo
Menu do Painel Item visível na sidebar Item oculto da sidebar
Rotas do Painel Acessíveis normalmente Retornam 403 (acesso negado)
Front-end Páginas e listagens disponíveis Retornam 404
CSS do Front Arquivo CSS do módulo carregado Não carregado (economia de peso)
Componentes no Template Componente renderiza normalmente Componente não aparece no catálogo do editor
A verificação de módulo ativo é feita pela função has_module('slug') disponível em todo o sistema. Ela é cacheada em memória durante a requisição para máxima performance.

Starter Kits (Segmentos)

Starter Kits (ou Segmentos) são pacotes pré-configurados que definem o perfil completo de um site. Cada kit reúne:

Kits Padrão da Plataforma

KitÍconeMódulos ObrigatóriosMódulos Opcionais
Institucional Sliders, Contato Equipe, Portfólio, Depoimentos, FAQ, Newsletter, Downloads
Imobiliária Sliders, Contato, Imóveis Depoimentos, FAQ, Equipe, Newsletter
Catálogo Sliders, Contato, Produtos Depoimentos, FAQ, Equipe, Newsletter, Downloads
Portal Sliders, Contato, Blog Newsletter, Depoimentos, FAQ, Equipe
Concessionária Sliders, Contato, Veículos Depoimentos, FAQ, Equipe, Newsletter
Novos kits podem ser criados pelo administrador master a qualquer momento. Cada kit pode ter combinações diferentes de módulos, templates e páginas.

Seleção pelo Tenant

A tela de Kit & Módulos (/panel/segment) é onde o administrador do tenant configura o perfil do site.

Interface

A tela é dividida em duas colunas:

Coluna Principal
  • Cards de Kits — Grid com todos os kits disponíveis (ícone, nome, descrição, badges dos módulos principais)
  • Módulos Opcionais — Aparece ao selecionar um kit. Checkboxes para ativar/desativar módulos extras
  • Páginas Modelo — Switch para importar páginas pré-configuradas do kit
Sidebar de Preview
  • Ícone e nome do kit selecionado
  • Descrição
  • Lista de módulos (obrigatórios com borda verde)
  • Templates disponíveis
  • Páginas modelo incluídas
  • Botão "Confirmar Seleção"

Fluxo de Seleção

  1. O tenant clica em um card de kit → a interface carrega os detalhes via AJAX
  2. Os módulos obrigatórios aparecem com checkbox marcado e desabilitado (não podem ser desmarcados)
  3. Os módulos opcionais aparecem com checkbox livre
    • Se o tenant está reconfigurando o kit atual → módulos que já estavam ativos vêm pré-marcados
    • Se está trocando para um novo kit → todos os opcionais vêm desmarcados
  4. O tenant pode ativar o switch de importação de páginas modelo (se houver páginas disponíveis)
  5. Ao confirmar, o sistema executa tudo de uma vez:
    • Atualiza o segmento do tenant
    • Sincroniza módulos (core + obrigatórios + opcionais selecionados)
    • Importa páginas modelo (se solicitado)

Indicadores Visuais

Conflitos de Páginas

Ao importar páginas modelo, pode haver conflitos se o tenant já possui páginas com os mesmos slugs (ex: já tem /sobre ou /home).

Como o Sistema Trata

IndicadorSignificado
Nome da página Slug disponível — será criada normalmente
Nome da página já existe Slug já existe no tenant — não será importada (preserva a página existente)
A verificação de conflito é feita por slug, não por título. Se o tenant tem uma página com slug /sobre (mesmo que o título seja diferente), a página modelo "Sobre Nós" não será importada.

Páginas Modelo

Páginas modelo (Starter Pages) são páginas pré-configuradas que podem ser importadas automaticamente quando o tenant seleciona um kit.

Tipos de Conteúdo

Campos

CampoDescrição
Nome InternoIdentificação no painel (ex: "Página Sobre Padrão")
Título da PáginaTítulo exibido no site (slug gerado automaticamente)
SlugURL da página (ex: /sobre, /contato)
ResumoTexto para listagens e cards
ÍconeFontAwesome, com preview em tempo real
OrdemDefine prioridade na importação e listagem
SEOMeta título, descrição e keywords

Vinculação a Kits

Cada página pode estar vinculada a um ou mais kits (relação muitos-para-muitos). A vinculação pode ser feita:

Páginas sem vínculo a nenhum kit são consideradas universais — incluídas automaticamente para todos os kits. Use isso para páginas comuns como "Sobre Nós" e "Contato".

Páginas do Sistema

A plataforma já vem com 3 páginas pré-configuradas (criadas automaticamente na instalação):

PáginaSlugTipoConteúdo
Página Inicial /home Page Builder Slider, cards de serviços, seção sobre e features
Sobre Nós /sobre WYSIWYG História, valores e missão da empresa
Contato /contato Page Builder Texto introdutório e formulário de contato
Páginas do sistema são marcadas como "is_system" e não podem ser excluídas. São universais (sem vínculo a kit específico). Seu conteúdo pode ser editado livremente.

O Que é Importado

Ao importar uma página modelo para o tenant:

Gestão Master

O administrador da plataforma gerencia kits e módulos em /panel/master/segments.

Listagem

DataTable com colunas:

No topo: botão para acessar "Páginas Modelo" e botão "Novo Starter Kit".

Formulário do Kit

O formulário de criação/edição é dividido em 4 seções:

1. Informações Básicas

2. Template Padrão

3. Módulos

Todos os módulos não-core, organizados por categoria:

4. Páginas Modelo

Todas as páginas modelo disponíveis:

Duplicar Kit

Cria cópia completa com novo slug (sufixo -copia-XXXX), incluindo todas as relações (módulos e páginas).

Excluir Kit

Só é possível excluir se nenhum tenant está usando o kit. Se houver tenants vinculados, a exclusão é bloqueada e um alerta mostra a contagem de sites afetados.

Validação Cruzada

O formulário de Starter Kit possui um sistema de validação cruzada em tempo real que garante consistência entre template, módulos e páginas.

Como Funciona

  1. Ao selecionar ou trocar o template padrão, o sistema detecta os componentes presentes no HTML do template
  2. Cada componente detectado é listado com ícone e nome
  3. O sistema cruza com os módulos e páginas selecionados no formulário
  4. Se houver inconsistências, exibe avisos amarelos

Tipos de Avisos

CenárioAviso
Template tem menu de Blog mas módulo Blog não está marcado "módulo não ativado"
Template tem link "Sobre" mas página modelo não está incluída "página não incluída"

No final do painel, um resumo lista as pendências:

Atualização em Tempo Real

A validação recalcula automaticamente quando:

Use a validação cruzada como checklist: se o template tem um componente de Blog, ative o módulo Blog no kit. O objetivo é que todo link no template tenha o recurso correspondente ativo.

Ativação Individual de Módulos

Além da seleção por kit, o tenant pode ativar ou desativar módulos individualmente a qualquer momento.

Onde Ativar

Na mesma tela de Kit & Módulos (/panel/segment), o tenant pode:

Restrições

Ao trocar de kit, todos os módulos são resincronizados. Os módulos do kit anterior que não fazem parte do novo são desativados. Apenas módulos core + obrigatórios do novo kit + opcionais que o tenant selecionar ficam ativos.

Impacto no Front-end

A ativação de módulos afeta diretamente o que aparece no site público do tenant.

Menu e Navegação

Menus dinâmicos no template (componentes <x-front.category-menu>) são renderizados apenas se o módulo correspondente está ativo. Com módulo inativo, o menu simplesmente não aparece no HTML.

CSS Condicional

O layout do front carrega CSS de módulos condicionalmente:

@if(has_module('blog'))
    <link href="/css/front/blog.css" rel="stylesheet">
@endif

@if(has_module('products'))
    <link href="/css/front/products.css" rel="stylesheet">
@endif

Módulos inativos não carregam seus CSS, reduzindo o peso da página.

Rotas e Páginas

Rotas de módulos inativos retornam 404 automaticamente. Se alguém tentar acessar /blog com módulo Blog desativado, verá a página de erro 404.

Configurações de Módulos

Na sidebar de Configurações (/panel/settings), os grupos de configurações de módulos aparecem apenas para módulos ativos. Com Blog inativo, a seção "Blog" nas configurações não aparece.

Fluxo Completo

Resumo do ciclo de vida completo de um tenant usando Kit & Módulos:

1 Tenant Acessa Kit & Módulos

Abre /panel/segment e vê todos os kits disponíveis em cards com ícone, nome e badges dos módulos principais.

2 Seleciona um Kit

Clica no card desejado. A interface carrega detalhes via AJAX: módulos obrigatórios, opcionais, templates e páginas modelo.

3 Configura Módulos e Páginas

Marca os módulos opcionais desejados. Ativa a importação de páginas modelo (vê quais existem e quais serão ignoradas).

4 Confirma a Seleção

O sistema automaticamente: define o segmento, sincroniza módulos (core + obrigatórios + opcionais), importa páginas modelo (respeitando slugs existentes).

5 Site Configurado

O painel exibe apenas as funcionalidades dos módulos ativos. O front-end renderiza componentes correspondentes. Menus, rotas e CSS são atualizados automaticamente.

6 Ajustes a Qualquer Momento

O tenant pode trocar de kit ou ajustar módulos individuais. As alterações são imediatas — menus aparecem/desaparecem, rotas são liberadas/bloqueadas.

A troca de kit é não-destrutiva: conteúdo existente (posts, imóveis, produtos, etc.) é preservado mesmo com módulos desativados. Ao reativar, tudo volta a aparecer.