Conn2Flow
Navegação das docs

Referência / Módulos

Módulo admin-paginas

Autoria de páginas e telas de sistema, rotas, permissões, SEO, agendamento e histórico.

Caminho no Gestor modulos/admin-paginas/

Administra os registros de páginas do site e de telas de sistema: conteúdo, layout, caminho, vínculo a módulo/opção, permissões, datas e metadados SEO. O conteúdo publicado é o registro de paginas; a tela incorpora o editor HTML compartilhado.

Como usar

  1. Abra admin-paginas/. O filtro inicial é tipo=pagina; selecione sistema ou ambos para ver telas administrativas. module_id filtra módulo quando o tipo não é página.

  2. Em admin-paginas/adicionar/, informe nome, caminho terminado em barra, layout, framework CSS e tipo. Para sistema, informe módulo, opção e, quando aplicável, raiz do módulo.

  3. Edite conteúdo no editor, configure SEO/compartilhamento e, se necessário, datas de publicação, criação e modificação. O seletor de imagem de destaque guarda o caminho físico relativo do arquivo.

  4. A permissão permissao-pagina habilita alterar sem_permissao (página sem exigência de permissão). Sem ela, o controle é removido e o backend não grava sua alteração.

  5. Salve e revise admin-paginas/editar/?id=<slug>. Clonar usa admin-paginas/clonar/?id=<slug>. As rotas declaradas são iguais em pt-br/en, relativas à raiz do idioma. A listagem oferece status, exclusão e edição.

O JS formata caminhos sem acentos, em minúsculas, com hífens e barra final. Alterar nome/caminho pode reformatar o endereço; revise antes de salvar. Para publicações com campos estruturados, use o módulo publisher-pages.

Referência técnica

Despacho, permissões e hooks

O controlador configura listar e despacha adicionar, editar, clonar; a interface compartilhada trata status e excluir. O único AJAX próprio é editor-html-switch: editor_checked=sim grava a variável booleana do módulo como verdadeira; qualquer outro valor grava falsa, retornando status=Ok.

ModulosOperacoesData.json semeia modificar-permissao-da-pagina, operação permissao-pagina, nos dois idiomas. Não há widget público próprio nem templates de conteúdo declarados neste JSON; ele fornece páginas administrativas e o componente lista-pagina-ou-sistema.

O PHP dispara ações no escopo admin-paginas: adicionar.banco, editar.banco, clonar.banco, após a escrita, passando id e dados. A edição inclui alteracoes; criação/clonagem incluem nome, caminho, tipo e módulo. O JSON não declara hooks.api nem inscrições hooks: disparar uma ação não implica haver consumidor registrado.

Persistência e rotas antigas

Criação/clonagem geram slug único no idioma, status A, versão 1 e autor atual. A duplicidade de caminho é verificada no idioma. A edição compara campos, guarda backups de conteúdo anterior quando não vazio, registra histórico, marca user_modified=1 e incrementa versão. Renomear pode mudar id, salvo presença de _gestor-nao-alterar-id.

Marcadores de HTML/CSS/head são convertidos de [[...]] para @[[...]]@ ao gravar. O controlador calcula css_source_hash a partir de HTML, CSS e layout pelo helper de procedência; isso não equivale a compilar CSS novo nessa função.

Quando caminho muda, resolve o id numérico e chama gestor_pagina_301_registrar(id_paginas, caminhoAntigo). O sitemap é sincronizado após criar/clonar/editar e por callbacks de status/exclusão; uma exceção nessa sincronização é registrada e não interrompe o CRUD.

Tabelas e colunas

Tabela/grupo Colunas e tipos das migrations
paginas: identidade id_paginas numérico; id_usuarios inteiro nullable, padrão 1; nome, id, layout_id strings até 255; language até 10, padrão pt-br
Roteamento caminho TEXT; tipo, modulo, opcao strings até 255; raiz, sem_permissao inteiros pequenos nullable; publisher_id até 255
Conteúdo html, css, css_precompiled, css_compiled, html_extra_head, html_updated, css_updated MEDIUMTEXT; framework_css até 50; css_source_hash até 64
SEO imagem_destaque até 500, og_titulo até 255, og_descricao e meta_descricao TEXT, meta_keywords até 500
Estado/origem status char (padrão A), versao inteiro (padrão 1), user_modified, system_updated, file_version, checksum, plugin, project
Datas data_criacao, data_modificacao; data_publicacao_inicio e data_publicacao_fim nullable
paginas_301 id_paginas_301, id_paginas, caminho TEXT, data_criacao

A unicidade da página é (id, language), não apenas id. As migrations não definem os ENUMs e as foreign keys apresentados na doc antiga. tipo e framework_css são strings; caminho não é VARCHAR(500).

Datas e SEO

As datas passam por formato_data_hora_br_para_datetime(). Na criação, datas de criação/modificação não interpretadas usam NOW(); janela vazia permanece nula. Na edição, limpar janela exige o parâmetro data_publicacao_inicio_limpar ou data_publicacao_fim_limpar; só enviar campo vazio não remove a data anterior.

O roteador exige início nulo ou <= NOW() e fim nulo ou >= NOW(), além de status ativo. Fora da janela, a consulta normal não encontra a página. Não há status separado “agendado” neste controlador.

SEO inclui og_titulo, og_descricao, meta_descricao, meta_keywords e imagem de destaque. Keywords são normalizadas pelo helper; na edição, os campos enviados vazios podem limpar os valores antigos.

Limitações e legado

O legado descrevia raiz como raiz do site e tradução do id do módulo para admin-pages. O formulário usa essa opção no bloco de configuração de módulo; o id real e as rotas continuam admin-paginas também em inglês.

Veja também

O Futuro é Híbrido: Humano + IA.

O Conn2Flow é a ferramenta. Se você precisa do Arquiteto para desenhar a estratégia da sua empresa usando essa tecnologia...

Contrate Consultoria Especializada