jamesperet/EstruturaAberta

Sistema de Temas

jamesperet opened this issue · 3 comments

Estrutura no sistema para temas visuais. Os temas são criados em cima do Twitter Bootstrap e arquivos PHP representando cada tipo de página no sistema.

Objetivo

Simplificar o desenvolvimento de layouts para o sistema Estrutura Aberta.

Exemplo de hierarquia de arquivos:

Temas
    Minimal
        assets
            css
            js
            imgs
        index.php
        edit_page.php
        pages.php
        ...
   Redesigno
        assets
            css
            js
            imgs
        index.php
        edit_page.php
        pages.php
        ...
  • Na raiz do sistema, criar arquivos PHP que vão chamar os respectivos arquivos na pasta do tema em uso.
  • Criar modulos de conteúdo para simplificar a criação dos temas. Por exemplo: criar funções para desenhar objetos do layout que aperecem ao longo de varias págians como o menu do topo e o footer.
  • Separar a pasta páginas da pasta layouts na pasta dos temas.
  1. Criar variável para o tema na classe Settings e colunas no banco de dados.
  2. Criar a página /index.php no nivel "root" do projeto para carrega o conteúdo que está na página do tema em /themes/%tema_escolhido%/index.php.
  3. Fazer isso para todas as outras páginas do sistema.
  4. Criar função na página system_settings para escolher o tema do sistema. Função que le todos os temas e cria uma lista para o administrador escolher, pré-vizualisar e ativar novos temas. Quem sabe no futuro até criar um instalador de temas atravez desta interface.

Construido o sistema de temas, igual descrito acima.