Ir para conteúdo
Fórum Script Brasil
  • 0

Sistema de Troca de templates


manoaj

Pergunta

pessoal é o seguinte eu to tentando faser meu sistema de troca de templates com um painel por onde eu vo faser estas trocas olhem ate onde eu já conssgui faser

index.php

//inclui a classe

require_once('functions/class.template.php');

//instancia a classe

$tp = new templateParser('themes/padrão/template.html'); Esta linha é responsavel pela troca das templates

//define os parâmetros da classe

$tags = array(

'titulo' => 'Meu template',

'cabecalho' => 'cabecalho.php',

'menu' => 'menu.php',

'coluna1' => 'coluna1.php',

'coluna2' => 'coluna2.php',

'coluna3' => 'coluna3.php',

'rodape' => 'rodape.php'

);

//faz a substituição

$tp->parseTemplate($tags);

// exibe a page

echo $tp->display();

?>

class.template.php'

<?php
class templateParser
{
    private $output;

    //construtor faz a carga do template
    function templateParser( $templateFile='../themes/padrão/template.html' ){
        (file_exists($templateFile)) ? $this->output=file_get_contents($templateFile) : die('Erro: Arquivo '.$templateFile.' não encontrado');
    }

    //faz a substituição
    function parseTemplate($tags=array()){
        if(count($tags)>0){
            foreach($tags as $tag=>$data){
                $data = (file_exists($data)) ? $this->parseFile($data) : $data;
                $this->output = str_replace('{'.$tag.'}',$data, $this->output);
            }
        }
        else {
            die('Erro: não encontramos o arquivo ou texto');
        }
    }

    //Enquanto o buffer de saída estiver ativo, não é enviada a saída do script
    function parseFile($file){
        //Ativar o buffer de saída.
        ob_start();
        include($file);
        //O conteúdo deste buffer interno é copiado na variável $content
        $content=ob_get_contents();
        //descartar o conteúdo do buffer.
        ob_end_clean();
        return $content;
    }

    //Exibe o tempalte
    function display(){
        return $this->output;
    }
}

bom como vocês podem ver eu comentei a linha la na index em vermelho que é responsavel pela troca dos template sou seja se eu mudar aquele caminho o template muda , agora vamos o que eu to tentando faser euq ueria achar um jeito de faser mudanças naquele caminho atravez de um painel administrativo como eu faço isso . ou simplesmente achar uma forma de informar o caminho $tp = new templateParser('themes/padrão/template.html'); atravez d eum banco de dados onde estara amazenado a informação do novo camainho ?

Editado por manoaj
Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...