Foros del Web » Programando para Internet » PHP »

Usar el footer en otro nivel

Estas en el tema de Usar el footer en otro nivel en el foro de PHP en Foros del Web. Buenas tardes, Me gustaría plantearles la siguiente duda. Tengo un footer.php (situado en root) en el que existen 3 imágenes GIF (situadas en root/gif). En ...
  #1 (permalink)  
Antiguo 27/01/2008, 08:48
 
Fecha de Ingreso: enero-2008
Mensajes: 61
Antigüedad: 16 años, 3 meses
Puntos: 0
Usar el footer en otro nivel

Buenas tardes,

Me gustaría plantearles la siguiente duda.

Tengo un footer.php (situado en root) en el que existen 3 imágenes GIF (situadas en root/gif).

En el index.php (situado también en root) he creado un include al footer.php

Quiero crear una carpeta y en ella que existan documentos PHP que utilizen todos el mismo footer (situados en un nivel superior). Lo que hago es modificar el include de la siguiente manera ../footer.php para decirle que el footer está un nivell superior. Pues bien, aparece la tabla contenida en footer.php pero no las imágenes GIF.

Creo que me he explicado bastante mal. Es que soy muy torpe con esto.
  #2 (permalink)  
Antiguo 27/01/2008, 09:09
 
Fecha de Ingreso: septiembre-2004
Ubicación: Chihuahua Mex
Mensajes: 404
Antigüedad: 19 años, 7 meses
Puntos: 2
Re: Usar el footer en otro nivel

porque no les pones la ruta completa a las imagenes por ejemplo http://www.tuweb.com/imagen.gif
  #3 (permalink)  
Antiguo 27/01/2008, 09:14
 
Fecha de Ingreso: noviembre-2002
Mensajes: 1.341
Antigüedad: 21 años, 5 meses
Puntos: 17
Re: Usar el footer en otro nivel

Lo que hace el include y el require es coger el código e interpretarlo. Pero esto lo hace el script padre, es decir quien hace el include.

Si lo llamas desde www.dominio.com/carpeta/loquesea.php la ruta que tomará será: www.dominio.com/carpeta/, por lo que si tiene algún fichero referenciado por ubicación relativa, no funcionará (estará buscando las imágenes en www.dominio.com/carpeta/gif/ en vez de en www.dominio.com/gif).

Puedes definir una variable global que sea $URL_BASE o algo parecido y en las rutas utilizar la ruta entera, en vez de relativa.
  #4 (permalink)  
Antiguo 27/01/2008, 09:30
 
Fecha de Ingreso: enero-2008
Mensajes: 61
Antigüedad: 16 años, 3 meses
Puntos: 0
Re: Usar el footer en otro nivel

Muchas gracias por vuestra rápida contsetación.

He probado lo de Panaflakin, pero continua sin funcionar. Quizás por lo que apunta Keysher de definir préviamente una variable.

Lo que os pregunto ahora que no os haga reir, pero como se define la esta variable. Mis conocimientos hasta ahora de php son poner include con el dreamweaver!

Es decir, como definir esto de $URL_BASE y en que fichero de todos definirlo.

Gracias por vuestro tiempo
  #5 (permalink)  
Antiguo 27/01/2008, 09:36
okram
Invitado
 
Mensajes: n/a
Puntos:
Re: Usar el footer en otro nivel

Podrías poner al inicio de tus páginas esta etiqueta meta:

Código HTML:
<!-- Entre <head> y </head> -->
<base href="http://www.forosdelweb.com/" /> 
Ahora, para definir esa variable que te dicen, solo pones:

Código PHP:
$URL_BASE "http://www.sitio.com"
y para mostrar tus imágenes:
Código PHP:
echo "<img src='$URL_BASE/imagen.gif' />"
Un saludo,
  #6 (permalink)  
Antiguo 27/01/2008, 09:50
 
Fecha de Ingreso: enero-2008
Mensajes: 61
Antigüedad: 16 años, 3 meses
Puntos: 0
Re: Usar el footer en otro nivel

Muchas gracias!

Una última pregunta, el código de las dos últimas cajitas (las que dice "código PHP" dónde se tendría que pegar?

Muchas gracias por vuestro tiempo.
  #7 (permalink)  
Antiguo 27/01/2008, 10:35
okram
Invitado
 
Mensajes: n/a
Puntos:
Re: Usar el footer en otro nivel

En donde quieras. Si tienes un archivo común a todas las páginas, pues ese es el indicado, para que sea muy fácil de modificar. La idea es que esa variable esté disponible en todas tus páginas.

Un saludo,
  #8 (permalink)  
Antiguo 27/01/2008, 14:51
 
Fecha de Ingreso: enero-2008
Mensajes: 61
Antigüedad: 16 años, 3 meses
Puntos: 0
Re: Usar el footer en otro nivel

Vale . Así que pongo todos los códigos en footer.php porque es comuna a todas las páginas.

El código HTML lo pongo entre las dos etiquetas head.
<base href="http://www.forosdelweb.com/" />

Este código PHP: $URL_BASE = "http://www.sitio.com";
¿Lo puedo poner en cualquier parte de footer.php?

Y por último, este ¿dónde lo pongo?
echo "<img src='$URL_BASE/imagen.gif' />";

Mil gracias por vuestra ayuda
  #9 (permalink)  
Antiguo 27/01/2008, 15:52
 
Fecha de Ingreso: septiembre-2004
Ubicación: Chihuahua Mex
Mensajes: 404
Antigüedad: 19 años, 7 meses
Puntos: 2
Re: Usar el footer en otro nivel

Cual es tu pagina web donde tienes el footer?
  #10 (permalink)  
Antiguo 27/01/2008, 20:41
okram
Invitado
 
Mensajes: n/a
Puntos:
Re: Usar el footer en otro nivel

Haber, si colocas
Código HTML:
<base href="http://www.forosdelweb.com/" /> 
ya no es necesario que coloques la parte del código PHP, pues siempre se tomará como base esa url para cargar los archivos de tu sitio, como las imágenes. SI vas a incluir la ruta absoluta, que es lo que hacemos con la variable PHP $URL_BASE, entonces no es necesario ese trozo de código HTML. Para que esa variable "funcione", es necesario que la incluyas al insertar una imagen o llamar un archivo, y por eso es esta parte:
Código PHP:
echo "<img src='$URL_BASE/imagen.gif' />"
//o con links:
echo "<a href='$URL_BASE/pag.php' />"
Un saludo,
  #11 (permalink)  
Antiguo 28/01/2008, 10:38
 
Fecha de Ingreso: enero-2008
Mensajes: 61
Antigüedad: 16 años, 3 meses
Puntos: 0
Re: Usar el footer en otro nivel

Hola de nuevo,

Que malo que soy... Ahora me da un error tremendo: function

Menudo lio!!!

Gracias por vuestro tiempo

Última edición por noiet; 02/02/2008 a las 17:26
  #12 (permalink)  
Antiguo 29/01/2008, 09:02
 
Fecha de Ingreso: enero-2008
Mensajes: 61
Antigüedad: 16 años, 3 meses
Puntos: 0
Re: Usar el footer en otro nivel

Hola Gente,

Les querría preguntar si detectan el problema dentro del código, porque no hay manera de que aparezca la imagen. Gracias de antemano.


Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<
html xmlns="http://www.w3.org/1999/xhtml">
<
head>
$URL_BASE "http://www.fisalparty.com";  
<
meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<
title>Documento sin t&iacute;tulo</title>
</
head>

<
body>
echo 
"<img src='$URL_BASE/gif/footer/footer_logo_forum.gif' />"
</
body>
</
html

Saludos
  #13 (permalink)  
Antiguo 29/01/2008, 19:40
okram
Invitado
 
Mensajes: n/a
Puntos:
Re: Usar el footer en otro nivel

Pero, no combienes código HTML con PHP, o por lo menos indícale al serviudor cuál es cuál. Recuerda que para delimitar código PHP debes poner <?php y ?>. En tu ejemplo, sería así:

Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<?php
    $URL_BASE 
"http://www.fisalparty.com";   
?>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
<title>Documento sin t&iacute;tulo</title> 
</head> 

<body> 
echo "<img src='<?php echo $URL_BASE?>/gif/footer/footer_logo_forum.gif' />";  
</body> 
</html>
Hay muy buenos manuales sobre PHP y sus interacciones con HTML. Sería bueno que busques y leas uno

Un saludo,
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:39.