Como insertar BANNERS (en PHP) en la plantilla HTML ?

Started by readme.txt, June 16, 2004, 06:50:56 AM

Previous topic - Next topic

readme.txt

Hola, bueno he instalado el SMF beta 5 en mi server (solo para pruebas) y tengo este problema, quisiera ponerle un BANNER (es un script que esta en PHP) pero he visto que la plantilla esta en HTML y necesariamente tengo q insertarle codigo PHP en él . por ejemplo con esta sentencia llamo a mi banner :

$zona=bprincipal;
include("/home/zonarave/public_html/banner/muestra.php");


Y bueno obviamente eso no lo puedo hacer en la plantilla HTML , asi que me gustaria que me ayudaran como hago para que salga eso, creo q es cuestion en encapsular el codigo PHP dentro del HTML ? o algo x estilo ?  :-\

Espero sus respuestas y gracias

8)
Hagamos el mundo al reves.

Bartrainer

Anibal,

Buenos dias. El Espanol mio no es bastante bueno, asi que vamos a ver. Lo bueno the PHP is que lo puedes meter adentro the HTML siemple y cuando tu 'host' tenga PHP installado in el server. Para meter lo adentro the HTML tememos que salir de HTML mode y entrar al PHP mode via <?php ?>. ejemplo: Estamos en html<?php ahora estamos en PHP?> ahora estamos en HTML otra vez.

Ahora para meter el banner vamos a poner el banner en un file (banner.php):
<?php//Hacemos la funcion que hace el bannerfunction showBanner(){echo 'HTML VA AQUI';return;}?>

Ya que tenemos el banner hecho simplememte lo vamos a llamar con la funcion include_once()--{esto nadamas deja que el file que tu estas llamando nada mas este entre una vez}, y el variablo $_SERVER['DOCUMENT_ROOT'] --{basicamente esto segnifica el root de la pagina donde esta}. Llamamos el banner:
<?phpinclude_once($_SERVER['DOCUMENT_ROOT'].'/banner.php');showBanner();?>


ojalas que esto te allude,
YUK
Everyone that says "it can't be done" is followed by someone that just did it.  The possibilities are as Powerful as your imagination...

"There are No bad cocktails, just bad drinkers."

readme.txt

Gracias Yukon por ayudarme ;) ...

He hecho lo siguiente:

Archivo banner.php (el archivo banner esta en " /banner.php  " )



<?php//Hacemos la funcion que hace el bannerfunction showBanner(){// estos si tienen q ir obligatorio porque es la sentencia q ejecuta los banners aleatorios$zona=bprincipal;include("/home/zonarave/public_html/banner/muestra.php");return;}?>



Ahora en el archivo template.html o template.php pongo el siguiente codigo:



// aca ubico el lugar donde quiero que aparezca mi banner:

<table cellspacing="0" cellpadding="0" width="100%" align="center" border="0"  class="windowbg2">

    <tr height=65>
         <td valign="middle" align="left" bgcolor="#ffffff"><img alt="logo" src="YaBBImages/logoforum.gif" /></td>
         <td valign="middle" bgcolor="#ffffff"><? include_once($_SERVER['DOCUMENT_ROOT'].'/banner.php');
showBanner();  ?>
  </td>
    </tr>

</table>



No me sale error por ahora pero no me sale el banner   :'( ...

me sale una X y en la direccion sale : http://www.zonarave.com/click.php?id=11

Y me tiene que salir asi : http://www.zonarave.com/banner/click.php?id=11

Osea dentro del directorio banner no afuera d él.

Que puedo hacer?  :-\
Hagamos el mundo al reves.

Bartrainer

me parece que no has definido la funcion que  hace el banner. por ejemplo, <?php//Hacemos la funcion que hace el bannerfunction showBanner(){echo 'aqui pones el html que compone el banner';return;}?>

Entonces done quieras el banner simplemente pones esto:
<?phpinclude_once($_SERVER['DOCUMENT_ROOT'].'/banner.php');showBanner();?>


Aqui te voy an enseniar un ejemple que you he hecho:<?php//Makes the Banner functionfunction showBanner(){echo '<table width="100%" height="8%" border="0" cellpadding="2" cellspacing="2" class="banbg">  <!--DWLayoutTable-->  <tr>     <td width="28%" rowspan="2"><img src="/Images/logo.gif" border="0" usemap="#Map"></td>    <td width="28%" height="46%">&nbsp;</td>    <td width="44%" valign="top">       <div align="right"><img src="/Images/moto.gif" ></div></td>  </tr>  <tr>     <td height="54%">&nbsp;</td>    <td>&nbsp;</td>  </tr></table><map name="Map">  <area shape="rect" coords="0,0,278,91" href="/index.php"></map>';return;}?>

Y aqui llamo el banner:<link href="/Templates/style.css" rel="stylesheet" type="text/css">
</head>

<body background="/Images/banbg.gif">
<?phpinclude_once($_SERVER['DOCUMENT_ROOT'].'/banner.php');showBanner();?>
<table width="100%" height="90%" border="0" cellpadding="0" cellspacing="0" class="bgtable">


hojalas que esto te allude :) nota que lamme el banner immediatamente despues del <body> tag. Asi el banner es lo primero que salle ariba en la pagina. Estas segure que to host tiene PHP correcto? ahh otra cosa..you recomendo que to uses las tags conociales para PHP ques son las sigientes: <?php ?>. De esta manera nunca tendras problemas con php entendiendo que tiene que parsar.

YUK
Everyone that says "it can't be done" is followed by someone that just did it.  The possibilities are as Powerful as your imagination...

"There are No bad cocktails, just bad drinkers."

readme.txt

Hola Yuk , sabes es yo tengo un administrador de Banners y por eso no puedo poner codigo html dentro de la funcion ShowBanner(); ... con 2 lineas puedo llamar a mi banner aleatorios y que funciona para todo mi sitio web y que son estos:


$zona=bprincipal;
include("/home/zonarave/public_html/banner/muestra.php");


Pero igual no me sale porque no me muestra el banner , sale una X (cuando una imagen no es encontrada en la ruta) y en el url del banner sale:
http://www.zonarave.com/click.php?id=11

Asi que debe de salir de esta manera:
http://www.zonarave.com/banner/click.php?id=11

Pienso que el problema es en el :
include("/home/zonarave/public_html/banner/muestra.php");

Este es el codigo de muestra.php :



<?
//cargo configuracion
include("/home/zonarave/public_html/banner/nkads.conf.php");
//funciones
include("/home/zonarave/public_html/banner/funciones.inc.php");
//**********************************************************************************
// NKAds                                                                           *
//**********************************************************************************
//
// Copyright (c) 2002-2003 NKStudios S.R.L.
// http://nkads.nkstudios.net
//
// This program is free software. You can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License.
//
//**********************************************************************************

//Llamada a la funcion para desactivar banners
desactiva_banners();

//Busco los banners segun el nombre de la zona.
$ads_sql_busco = "SELECT ads_banners.id
  FROM
  ads_zonas_banners,
  ads_zonas,
  ads_banners
  WHERE
  (ads_zonas.nombre = '$zona') AND
  (ads_zonas_banners.id_zona = ads_zonas.id) AND
  (ads_banners.id = ads_zonas_banners.id_banner) AND
  (ads_banners.activo = '1')
  ORDER BY ads_banners.id ASC";
 
$ads_result_busco = mysql_query($ads_sql_busco);
if ($ads_row_busco = mysql_fetch_array($ads_result_busco)){
//Del total de resultados, buscamos uno aleatorio
        do{
                $ads_i++;
                $ads_id_banner[$ads_i] = $ads_row_busco["id"];
        }while($ads_row_busco = mysql_fetch_array($ads_result_busco));

//Le pasamos la posta a la funcion para que muestre el banner
muestra_banner($ads_id_banner[@mt_rand(1,$ads_i)],1,$r);

//Unseteamos variables molestas
unset($ads_i, $ads_id_banner);
}else{
//Ups, esta zona no tiene banners... mostramos el banner por defecto
banners_defecto($zona,$r);
}
?>



Que puedo hacer? :/
Hagamos el mundo al reves.

Bartrainer

Anibal,

ahora te entiendo. Honestamente ahi estoy trocado proque si trato de alludar pero you todavia estoy aprendiende, pues estoy ya esta fuera de me abilidad en este momento. Pero estoy segure que Omar te pueda alludar, quisas el lea esto o alguien que sepa mas que yo.

Ahora que estoy pensando, alomejor se pudiera definir el administrador de los banners a una funcion, y simplemente llamarlo asi como lo estabamos llamando. Dejame ver si lo puedo hacer con un poco de alluda de los pro's de SMF :)

YUK
Everyone that says "it can't be done" is followed by someone that just did it.  The possibilities are as Powerful as your imagination...

"There are No bad cocktails, just bad drinkers."

Atomsk

tambien llegue a tener un rotador de banners n_n

debeZ poner algo asi en el index_template.php

';
include (banner.php);

echo '


Ya que la parte donde intentas poner el banner, esta dentro de un echo''... por lo cual, debeZ cerrar el echo -> poner tu codigo y volver a abrir el echo...

Bartrainer

Ya te entiendo...

Trata esto:// aca ubico el lugar donde quiero que aparezca mi banner:

<table cellspacing="0" cellpadding="0" width="100%" align="center" border="0"  class="windowbg2">

    <tr height=65>
         <td valign="middle" align="left" bgcolor="#ffffff"><img alt="logo" src="YaBBImages/logoforum.gif" /></td>
         <td valign="middle" bgcolor="#ffffff"> <?php $zona=bprincipal;                                                include("/home/zonarave/public_html/banner/muestra.php");?>
  </td>
    </tr>

</table> 


Parece que lo que to quires es simplemente poner un codigo de PHP adentro de HTML. Dejame saber si esto arregle tu problema.

YUK
Everyone that says "it can't be done" is followed by someone that just did it.  The possibilities are as Powerful as your imagination...

"There are No bad cocktails, just bad drinkers."

Advertisement: