# Regras de Layouts e Templates Twig ## 1. Layouts Disponíveis O sistema SysCMS utiliza uma estrutura específica de templates Twig. NÃO invente nomes de layouts. Utilize apenas os existentes. ### Layouts Principais - **Painel Administrativo (Backend):** `layouts/dashboard.twig` - Use este layout para todas as páginas internas do painel de controle, módulos administrativos, e páginas de erro do admin. - **Caminho:** `app/templates/layouts/dashboard.twig` - **Exemplo de uso:** `{% extends "layouts/dashboard.twig" %}` - **Layout Base (Genérico):** `layouts/base.twig` - Use apenas se precisar de uma estrutura HTML mínima sem a barra de navegação e sidebar do dashboard. - **Caminho:** `app/templates/layouts/base.twig` - **Frontend/Público:** - O frontend geralmente utiliza temas dinâmicos localizados em `public/themes/`. - Para páginas de erro ou sistema genéricas, verifique `app/templates/default.twig`. ## 2. Erros Comuns a Evitar - **NUNCA** use `{% extends "layout.twig" %}`. Este arquivo NÃO existe. - **NUNCA** use `{% extends "admin.twig" %}`. - Sempre verifique a pasta `app/templates/layouts/` para confirmar o nome correto do arquivo antes de estender. ## 3. Estrutura de Pastas de Templates ``` app/templates/ ├── layouts/ │ ├── dashboard.twig (O MAIS IMPORTANTE) │ └── base.twig ├── errors/ (Páginas de erro devem estender layouts/dashboard.twig) ├── components/ (Componentes reutilizáveis) └── modules/ (Templates específicos de instalação de módulos) ``` ## 4. Injeção de CSS/JS - Utilize `{% block head %}` para adicionar CSS específico da página. - Utilize `{% block scripts %}` (se disponível no layout) ou adicione scripts no final do `{% block content %}` se necessário.