PDA

View Full Version : |Pedido| sistema de include da MuSite



iProZy
24/10/2017, 09:33 PM
Bom eu não sei se é a área certa de postar sorry.

Então eu tentei pegar o sistema de include da MuSite para poder fazer um site simples com templates (é para estudos...),
mas não consigo, o site sempre fica branco.

Então queria saber quais os arquivos ou então qual o código de como utilizar o include personalizado da musite.

Exemplo: em vez de usar <?=TITLE_SITE;?> ele só usa {#TITLE_SITE},

em vez de usar a include pra puxar o include("menuRight.tpl.php"); ele só usa {$menuRight}.

alguém poderia me passar o código e me explidar ou dizer quais arquivo necessários pegar da MuSite?

s00x
24/10/2017, 10:07 PM
Que tal olhar o arquivo ldtpl.class.php ?
Antes de você sair dando CTRL + C e CTRL + V, você tem que pelo menos tentar entender o código, esse é o primeiro passo, mesmo que seja para estudo, essa deveria ser a forma inicial de começar as coisas.

iProZy
24/10/2017, 10:29 PM
Que tal olhar o arquivo ldtpl.class.php ?
Antes de você sair dando CTRL + C e CTRL + V, você tem que pelo menos tentar entender o código, esse é o primeiro passo, mesmo que seja para estudo, essa deveria ser a forma inicial de começar as coisas.

sim eu já olhei, mas quando tento puxar o arquivo com $ldTpl->open a pagina fica branca, já tentei de td tipo, mas a pag só fica branca, não carrega nada.

Eu queria saber msm se ele trabalha junto com outro arquivo para funcionar

s00x
25/10/2017, 11:49 AM
sim eu já olhei, mas quando tento puxar o arquivo com $ldTpl->open a pagina fica branca, já tentei de td tipo, mas a pag só fica branca, não carrega nada.
Eu queria saber msm se ele trabalha junto com outro arquivo para funcionar

O Sistema trabalha da seguinte forma, a classe ldtpl.class.php é responsável por montar a estrutura dos arquivos e chamar as constantes.
Utilizando a variável:


$ldTpl->set(string, attr);

Você seta um atributo pra uma string.

Você importa esse atributo chamando a constante que foi atribuída a ele, exemplo:


$myQuery = $this->query("SELECT [id],[question] FROM dbo.webPollQuestions WHERE active = 1 ORDER BY id DESC");

if(mssql_num_rows($myQuery) > 0)
{
$exeQuery = mssql_fetch_object($myQuery);
$resultQuery = "<li><strong>{$exeQuery->account}</strong></li>";
}

$ldTpl->set("TESTE", $resultQuery);


Minha constante ficou definida como TESTE.
Então se eu quiser exibir o resultado, como ficaria o código:


$ldTpl = new ldTpl();
$ldTpl->show();

{#TESTE}

Ficária assim a inclusão.

Caso eu queria incluir uma página, basta apenas eu fazer assim.


{#INCLUDE:newPage}


Lembrando que é desse modo que inclui a página, a pasta que a string INCLUDE vai buscar a página está definida nesse função aqui:


public function includes()
{
$lastPos = 0;
while($stop == false)
{
if(($beginCurrentPos = stripos($this->content_file, "{#INCLUDE:", $lastPos)) !== false)
{
//echo "Posição de inicio: {$beginCurrentPos}<br />";
$lastPos = ++$beginCurrentPos;

if(($endCurrentPos = stripos($this->content_file, "}", $lastPos)) !== false)
{
//echo "Posição de fim: {$endCurrentPos}<br />";
$lastPos = ++$endCurrentPos;

$fileNameInclude = substr($this->content_file, $beginCurrentPos+9, (($endCurrentPos-1) - ($beginCurrentPos+9)));

$this->includeOpen("templates/".constant("TEMPLATE_DIR")."/".$fileNameInclude.".tpl.php");
$this->content_file = str_replace("{#INCLUDE:".$fileNameInclude."}", $this->includeContent_file, $this->content_file);
}
else
$stop = true;
}
else
$stop = true;
}
}


Espero que tenha entendido, até mais.

iProZy
26/10/2017, 11:33 AM
O Sistema trabalha da seguinte forma, a classe ldtpl.class.php ...

Perfeito cara, muito obrigado