XOOPS WAP Mobile
Notícias
Detalhes:
Título: Integração de páginas HTML no Xoops
Autor: admin
Data: 2005-05-21 13:30:00
Conteúdo:
Original:
Adding your own pages to XOOPS - a PHP intro

É uma tradução livre, ou seja, acrescentei algumas informações que
achei úteis e retirei outras que achei dispensáveis. Mas creio que
o contexto não se alterou.

Acho que é um assunto interessante para aqueles usuários que como
eu não tem uma base forte em PHP mas que conhecemos bem o HTML e o
Xoops em si. Gostaria que o assunto fosse mais discutido e que se
possível possamos fazer disso um grande tutorial colaborativo.
Disso pode nascer uma geração desenvolvedora de módulos.

Então. Você manja de HTML, mas é um zero a esquerda com PHP? Então
vamos aprender o básico do PHP adicionando uma página para XOOPS.
Então. Você manja de HTML, mas é um zero a esquerda com PHP? Então vamos aprender o básico do PHP adicionando uma página para XOOPS.

Integração com o Xoops

A equipe de desenvolvimento do XOOPS tornou muito fácil a integração de suas próprias páginas HTML em XOOPS. Primeiro, vamos apenas dizer-lhe como é feito e, em seguida, tiraremos algumas dúvidas comuns sobre o PHP.

Você já tem a sua própria página HTML que queres que faça parte do seu site XOOPS. Para exemplificar nós também temos. Nomearemos ela como bemvindo.html. Eis o código:
Citando:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Minha Página</title>
</head>
<body>
<p><strong>Olá pessoal, sejam bem vindos a este site!</strong> </p>
<p>Fiz ele usando o <a href="http://www.xoops.org">XOOPS</a>.</p>
</body>
</html>

Primeira coisa que temos de fazer é tornar este um arquivo PHP, pois o XOOPS é todo escrito nesta linguagem. Para "converter" bemvindo.html para um arquivo PHP basta apenas mudar a extensão de .html para .php. Agora que temos o arquivo .html renomeado para bemvindo.php vamos abri-lo em um editor de textos (Notepad) ou editor HTML (Dreamweaver).

Agora, temos de nos livrar de todas as tags HTML fora do corpo porque o XOOPS já as trata automaticamente em seus arquivos de tema. Agora nosso arquivo ficou assim:
Citando:

<p><strong>Olá pessoal, sejam bem vindos a este site!</strong> </p>
<p>Fiz ele usando o <a href="http://www.xoops.org">XOOPS</a>.</p>

Agora vamos adicionar algumas linhas de código para no início e no fim do arquivo, para que fique assim:
Citando:

<?php
include 'mainfile.php';
include XOOPS_ROOT_PATH.'/header.php';
?>
<p><strong>Olá pessoal, sejam bem vindos a este site!</strong> </p>
<p>Fiz ele usando o <a href="http://www.xoops.org">XOOPS</a>.</p>
<?php
include XOOPS_ROOT_PATH.'/footer.php';
?>

Agora vamos salvar e enviar o arquivo bemvindo.php a pasta raiz do XOOPS no servidor (a mesma pasta que contem os arquivos admin.php, backend.php, banners.php, entre outros.). E ponto final.

Ao ver bemvindo.php vemos que a nossa HTML felizmente já faz parte do XOOPS e já está integrada com o nosso tema.

Obs.: Hoje em dia existem alguns módulos que já providenciam esta integração de páginas HTML em conteúdo XOOPS. Porém o tutorial é destinado aquelas pessoas que querem entender um pouco mais da estrutura XOOPS e da linguagem PHP.

Uma introdução ao PHP

Como você deve ter percebido as linhas que substituíram o início e o fim do HTML estão em PHP. Mas o que é PHP?
Isso pode não fazer qualquer sentido, mas o PHP é uma linguagem de script server-side que foi especialmente concebida para o desenvolvimento WEB. Isso quer dizer que arquivos .php são tratados de maneira diferente do que os .html pelos servidores. Quando uma página é solicitada por um navegador o arquivo HTML é enviado diretamente a ele assim como está. Quando uma página PHP é solicitada por um navegador, o código HTML e as instruções em código PHP contidas no arquivo são separados. As instruções de codificação PHP do servidor são seguidas, produzindo mais código HTML e juntamente com o código HTML original são enviados para o navegador.

Comparando o que fizemos em bemvindo.php e em bemvindo.html você pode ver que enquanto o arquivo bemvindo.html sempre possui a mesma aparência, o arquivo bemvindo.php é customizado de acordo com seu tema utilizado no momento. Da mesma forma dinamicamente o nosso conteúdo se adapta as permissões de acesso para cada usuário, blocos visíveis e demais conteúdos XOOPS.

Esta é uma simplificação do PHP. Mas importante para que possamos entender e seguir adiante.

A primeira coisa que temos que saber sobre o PHP, ou sobre qualquer outra linguagem de computador é que todos os símbolos são importantes. Você não pode deixar de fora nenhuma vírgula, parênteses, cifrão ou espaço. Todos estes símbolos têm significados muito específicos e mudá-los normalmente irá resultar em um PHP PARSE ERROR. Fazendo com que o resultado não seja exatamente a página como você esperava ver.

A primeira regra do PHP é que todos os comandos PHP devem vir entre os separadores <? PHP e?>. Tudo que estiver fora dos separadores é enviado diretamente para o navegador como HTML. Vamos dar mais uma olhada em nosso arquivo:
Citando:

<?php
include 'mainfile.php';
include XOOPS_ROOT_PATH.'/header.php';
?>
<p><strong>Olá pessoal, sejam bem vindos a este site!</strong> </p>
<p>Fiz ele usando o <a href="http://www.xoops.org">XOOPS</a>.</p>
<?php
include XOOPS_ROOT_PATH.'/footer.php';
?>

Podemos ver agora que temos dois blocos de PHP, um antes e um depois do nosso HTML. Olhemos para a primeira linha do primeiro bloco PHP:
Citando:

include 'mainfile.php';

O que esta linha PHP está dizendo ao servidor é: copie e cole todos o conteúdo de mainfile.php direita onde esta linha está.
Você pode incluir arquivos HTML de forma semelhante, mas tenha cuidado com os símbolos:

include 'qualqueroutrapagina.html';

Não deixe as aspas simples ou o ponto e vírgula de fora.
A pergunta que vem à sua mente agora deve ser: "O que está em mainfile.php?"

Em resumo mainfile.php é o XOOPS. Ele possui milhares de instruções para lidar com coisas como templates, segurança, bancos de dados. E com esta única linha tudo isto torna-se acessível a nós!

Vamos a próxima linha:
Citando:

include XOOPS_ROOT_PATH.'/header.php';


Esta linha simplesmente diz ao servidor para copiar e colar todo o conteúdo do arquivo header.php que pode ser encontrado na mesma pasta onde foi instalado o XOOPS. Agora, XOOPS_ROOT_PATH é uma constante mainfile.php criada para você. Em geral na programação você tem que nomear tudo o que for usar. Constantes são bits de informação nomeados e que não podem mudar. O XOOPS verifica a pasta onde ele foi instalado e chama-lhe de XOOPS_ROOT_PATH.

Não se preocupe se isso não faz sentido agora. Pois com o tempo as coisas ficam mais claras.

O header.php gera a primeira parte do template XOOPS, todos os blocos e por isso este é o primeiro bit de HTML que o servidor envia para o browser. Após isto, este bloco PHP é encerrado e assim o servidor envia o seguinte HTML (o nosso conteúdo), até que o navegador chegue ao segundo bloco PHP.

Linha final:
Citando:

include XOOPS_ROOT_PATH.'/footer.php';


Tal como antes, diz ao servidor para "incluir" o footer.php. O arquivo footer.php, naturalmente, gera a segunda metade do template XOOPS que é enviado ao navegador.

Segurança

Agora vamos usar uma das características de segurança que tem o Xoops.
Cole o código abaixo logo após a linha include XOOPS_ROOT_PATH '. / header.php';
Citando:

if ( !$xoopsUser ) {
redirect_header("user.php",0);
exit();
};


Aqui usamos um dos comandos mais importantes em qualquer linguagem de programação: o comando 'if'. Em português: se. Trata-se de um comando interno e então terei que explicar como ele funciona no PHP.

O comando If tem duas partes. A primeira entre parênteses, e a segunda entre chaves. A parte entre parênteses são os critérios que o servidor verifica. E se o critério for atendido quaisquer comandos entre as chaves são executados.
Portanto, os comandos básicos se parecem com isso:

if ( Informação a checar ) {
Primeira coisa a fazer;
Segunda coisa a fazer;
Etc etc etc;
};

Quando olhamos para o código vemos que estamos verificando! $ XoopsUser, ou seja, se temos um usuário Xoops acessando aquela página. Se não tivermos o servidor deve fazer as seguintes duas coisas:
Citando:

redirect_header("user.php",0);
exit();


$ XoopsUser apenas verifica se o usuário está autenticado. Assim, o código entre chaves só é realizado para visitantes. Os usuários terão acesso direto a nossa página.

Citando:

redirect_header("user.php",0);

Essa linha envia o browser para user.php, a página de login do Xoops. Fizemos a página bemvindo.php para membros apenas. A próxima linha imediatamente pára o trabalho do servidor sobre esta página, o que faz sentido, pois enviaremos a pessoa para a página de login apenas uma vez.

Inserindo conteúdo via PHP

Agora vamos substituir nosso conteúdo HTML por este script abaixo:
Citando:

<?php

$user_name=$xoopsUser->getVar('uname');

echo ("Olá $user_name. <br>Obrigado por usar o XOOPS!");

?>


O resultado fica assim:
Citando:

<?php
include 'mainfile.php';
include XOOPS_ROOT_PATH.'/header.php';
?>
<?php
$user_name=$xoopsUser->getVar('uname');
echo ("Olá $user_name. <br>Obrigado por usar o XOOPS!");
?>
<?php
include XOOPS_ROOT_PATH.'/footer.php';
?>


Você já deve ter notado que todos os três setores estão em PHP. Isso faz com que possamos racionalizar um pouco mais a página. Veja:
Citando:

<?php
include 'mainfile.php';
include XOOPS_ROOT_PATH.'/header.php';

$user_name=$xoopsUser->getVar('uname');
echo ("Olá $user_name. <br>Obrigado por usar o XOOPS!");

include XOOPS_ROOT_PATH.'/footer.php';
?>

Basta que tenhamos um <?php no início de tudo e um ?> no final, o restante é dispensável.

Mas vamos ao script em si:

Citando:

$user_name=$xoopsUser->getVar('uname');

A primeira linha diz ao XOOPS para ir descobrir se o usuário está conectado. E se está instrui em como vamos chamá-lo. Nesse caso $user_name, que é o nome definido pelo mesmo quando se inscreveu.

Citando:

echo ("Olá $user_name. <br>Obrigado por usar o XOOPS!");

A próxima linha efetivamente envia a nossa mensagem de boas-vindas como HTML para o navegador usando o comando echo.
Eu vou deixar para vocês descobrirem o comando echo por vocês mesmos.
Por enquanto é isso.


<< 1 ..135 (136) 137 ..335 >>