Usando “include” para inserir código dinâmico em skins do IP.Board

É muito chato pensar em algo e não ter a mínima ideia de como programar isso. No meu caso, o “algo” era usar a famosa função include, do PHP, no IP.Board, para incluir um script simples, que randomiza os anúncios do Google AdSense entre os administradores. Como a renda proveniente dos anúncios do Guia do PC é dividida, é mais fácil e conveniente fazer com que o próprio servidor “divida” essa renda. Esse script básico pode ser feito com rand() e switch (ou if, se você preferir).

IP.Board

IP.Board

A programação do script é fácil. O problema é: como incluir esse script em uma skin do IP.Board? Frames não são aconselháveis porque, como os anúncios do AdSense são contextuais, colocá-los numa página diferente diminuiria a relevância desses anúncios. Após alguns minutos de pesquisa no oráculo, descobri a tag <php>, que pode ser inserida na skin, assim:

<php>
echo 'Isto será interpretado pelo PHP';
include '/home/paulo/public_html/arquivo-qualquer.php';
</php>

O problema desse código é que ele será interpretado antes da própria skin, útil apenas em códigos que não retornam nada na tela. Sendo assim, não importa onde você colocar o echo(), por exemplo: ele sempre aparecerá no topo da página.

Nesse caso em específico, não consegui encontrar nada relevante no Google. Por sorte, a Invision Power mantém um suporte técnico na área de clientes. Eles me retornaram o seguinte código, que (adivinhem!) funcionou:

{parse include="/home/paulo/public_html/arquivo-qualquer.php"}

Para usá-lo em todas as páginas do fórum, basta acessar o Admin CP, entrar na aba ‘Look & Feel’ e usar a opção ‘Manage Templates & CSS’ na skin desejada. Em ‘Global Templates’, aba o template ‘globalTemplate’ e insira o código desejado. Para colocar o código logo após a barra de navegação e usuário, insira o código depois do trecho:

<div id='content' class='clear'>

…caso esteja usando o IP.Board 3.

Include nas skins do IP.Board

Include nas skins do IP.Board

Para os mais curiosos, as tags {parse} podem fazer mais, como mostrado na documentação do IP.Board. Um script simples para randomizar anúncios está logo abaixo.

<?php
$autores = rand(1,10); // depende do número de autores: caso sejam 3, utilize rand(1,3)

switch($autores){ // escolha entre os autores
	case 1: // se o escolhido foi o autor 1...
		echo 'Código do autor número 1'; // mostra o código
		break; // termina o 'case'
	case 2: // se o escolhido foi o autor 2...
		echo 'Código do autor número 2'; // mostra o código
		break; // termina o 'case'
	// (...)
	case 10: // se o escolhido foi o autor 10...
		echo 'Código do autor número 10'; // mostra o código
		break; // termina o 'case'
}
?>

Deixe um Comentário

O seu endereço de email não será publicado Campos obrigatórios são marcados *

*

Você pode usar estas tags e atributos de HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>