Jump to content
Fórum Script Brasil
  • 0

Sistema de Troca de templates


manoaj

Question

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 ?

Edited by manoaj
Link to comment
Share on other sites

1 answer to this question

Recommended Posts

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152k
    • Total Posts
      651.6k
×
×
  • Create New...