Foros del Web » Programando para Internet » PHP »

Distribuir contenidos con php.

Estas en el tema de Distribuir contenidos con php. en el foro de PHP en Foros del Web. Hola a [email protected]! Soy nuevo en el foro y algo menos en php. Habitualmente visito páginas de un mismo sitio con aspecto muy común entre ...
  #1 (permalink)  
Antiguo 03/01/2006, 09:02
 
Fecha de Ingreso: enero-2006
Mensajes: 16
Antigüedad: 11 años, 11 meses
Puntos: 0
Mensaje Distribuir contenidos con php.

Hola a [email protected]! Soy nuevo en el foro y algo menos en php.
Habitualmente visito páginas de un mismo sitio con aspecto muy común entre ellas, o sea, guardan un formato básico; cabecera, pies, links y una zona central que suele variar de aspecto en función de la consulta. Tengo una leve idea, pero se que con php se consigue dicha distribución de la página en si. Como podría hacerlo?
  #2 (permalink)  
Antiguo 03/01/2006, 09:34
 
Fecha de Ingreso: diciembre-2005
Mensajes: 165
Antigüedad: 12 años
Puntos: 4
con la funcion include puedes incluir paginas php sin tener que escribir cada vez el codigo. por ejemplo

<?
include ("cabecera.php");

... aqui el codigo de la pagina ...

include ("pie.php");
?>
  #3 (permalink)  
Antiguo 03/01/2006, 10:59
 
Fecha de Ingreso: enero-2006
Mensajes: 16
Antigüedad: 11 años, 11 meses
Puntos: 0
Gracias. Se algo de los include, pero poco. Sabes si se pueden distribuir estos contenidos de los incluides en tablas?
  #4 (permalink)  
Antiguo 03/01/2006, 12:58
 
Fecha de Ingreso: diciembre-2005
Mensajes: 165
Antigüedad: 12 años
Puntos: 4
Que quieres hacer exactamente?
Con include lo que haces es llamar a un archivo php externo y lo incluyes en ese.
  #5 (permalink)  
Antiguo 04/01/2006, 02:40
 
Fecha de Ingreso: enero-2006
Mensajes: 16
Antigüedad: 11 años, 11 meses
Puntos: 0
Entiendo que los include posicionan los contenidos en una página de arriba hacia abajo en el orden que son llamados. Si pones include ("cabecera") se posiciona en el principio de la página, sí después otro include debajo de este, etc. Pero si quieres crear una distribución en forma de tablas, o sea, una cabecera en la parte superior, en la parte izquierda de la página un índice de links, en el centro de la página los resultados de consultas o de los links llamados y al final de todo el pie de página. Algo que con frames solía hacer sin dudas. Esa es mi idea.
No sé si me explico correctamente.
  #6 (permalink)  
Antiguo 04/01/2006, 04:49
 
Fecha de Ingreso: diciembre-2005
Mensajes: 165
Antigüedad: 12 años
Puntos: 4
Pero el mecanismo es el mismo. Tu el include lo puedes poner donde quieras.
Si tu tienes un index.php con una estructura de tablas, en la celda de arriba le pones el include("cabecera.php"); y se carga el archivo cabecera.php en esa celda. Luego en la celda central puedes poner include("central.php); y asi sucesivamente.

Te pongo un ejemplo:
(hola.php)
<?
echo "HOLA";
?>

(index.php)
<table width="100%" border="1" align="center" cellpadding="0" cellspacing="0">
<tr>
<td height="52" colspan="3" align="center"><? include ("hola.php"); ?></td>
</tr>
<tr>
<td height="285" align="center"><? include ("hola.php"); ?></td>
<td align="center"><? include ("hola.php"); ?></td>
<td align="center"><? include ("hola.php"); ?></td>
</tr>
</table>


En este ejemplo tienes 2 archivos:hola.php y index.php
Creas el index con la estructura y luego mediante includes incluyes los archivos donde quieras. En este ejemplo si ejecutas index.php veras una tabla que pone HOLA en cada celda.
No se si te ha quedado claro. Si no, ya sabes ;)
  #7 (permalink)  
Antiguo 04/01/2006, 06:03
 
Fecha de Ingreso: enero-2006
Mensajes: 16
Antigüedad: 11 años, 11 meses
Puntos: 0
De acuerdo

Perfectamente claro. Muchas gracias. Esto me da pie ha seguir con muchas mas dudas que tengo pero es un principio excelente. Gracias de nuevo.
  #8 (permalink)  
Antiguo 04/01/2006, 13:59
 
Fecha de Ingreso: agosto-2003
Ubicación: santiago, chile
Mensajes: 297
Antigüedad: 14 años, 3 meses
Puntos: 0
Cita:
Iniciado por Cubatron
Pero el mecanismo es el mismo. Tu el include lo puedes poner donde quieras.
Si tu tienes un index.php con una estructura de tablas, en la celda de arriba le pones el include("cabecera.php"); y se carga el archivo cabecera.php en esa celda. Luego en la celda central puedes poner include("central.php); y asi sucesivamente.

Te pongo un ejemplo:
(hola.php)
<?
echo "HOLA";
?>

(index.php)
<table width="100%" border="1" align="center" cellpadding="0" cellspacing="0">
<tr>
<td height="52" colspan="3" align="center"><? include ("hola.php"); ?></td>
</tr>
<tr>
<td height="285" align="center"><? include ("hola.php"); ?></td>
<td align="center"><? include ("hola.php"); ?></td>
<td align="center"><? include ("hola.php"); ?></td>
</tr>
</table>


En este ejemplo tienes 2 archivos:hola.php y index.php
Creas el index con la estructura y luego mediante includes incluyes los archivos donde quieras. En este ejemplo si ejecutas index.php veras una tabla que pone HOLA en cada celda.
No se si te ha quedado claro. Si no, ya sabes ;)

saludos...
esto mismo se puede hacer sin usar tablas?
  #9 (permalink)  
Antiguo 04/01/2006, 14:20
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Usa campas ("layers") (<div ....>)

El caso es que con PHP vas a llamar a cierto contenido llamandolo con la función include() y debes tener presente que PHP sólo hace que "componer" el código "HTML"/Javascript que se enviará al navegador (cliente).

Un saludo,
  #10 (permalink)  
Antiguo 12/01/2006, 21:48
 
Fecha de Ingreso: agosto-2003
Ubicación: santiago, chile
Mensajes: 297
Antigüedad: 14 años, 3 meses
Puntos: 0
saludos nuevamente..
una pequeña duda.. para el caso del include con tablas
por ej como puedo hacer que si en el primer include, dentro del hola.php tengo por ejemplo un link, como hago q ese link se me habra en la tercera tabla o segunda? y no en una pagina nueva?
  #11 (permalink)  
Antiguo 13/01/2006, 04:25
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 13 años, 4 meses
Puntos: 101
Recalco el comentario de Cluster: "debes tener presente que PHP sólo hace que "componer" el código "HTML"/Javascript que se enviará al navegador (cliente)".

... el hecho que un enlace se habra en una ventana nueva, en la misma ó en algún frame, es cuestión propia del HTML (JS quizá). Para que se abra en la misma ventana solo evita que contenga en atributo "target" que, dicho sea de paso --tema muuuy aparte--, no es estándar.
Código HTML:
<a href="..." target="_blank">Enlace</a> <!-- Abre en una ventana nueva. MAL -->
<a href="...">Enlace</a> <!-- Abre en la misma ventana. BIEN --> 
Lo que se ha manejado se le conoce como "Web Modulares". Básicamente se trata de pasar valores vía URI (archivo.php?id=3) que definirá el contenido a mostrarse en determinada sección (bloque, módulo... "tabla en tu caso") del código HTML final.

Esto lo tienes explicado en una FAQ: http://www.forosdelweb.com/showthrea...278#post265278
Y en este artículo http://www.zonaphp.com/creando-webs-modulares/ (jejeje, acabo de ver se mudaron a WP).

Cabe decir que PHP es un lenguaje del lado del servidor por lo que, para lo que se plantea, necesitarás hacer la petición del fichero al servidor (cargar toda la página). Si quieres evitar esto necesitas otra cosa: Ifarmes sería la mejor alternativa, se trata de mostrar una página dentro de otra.. así pués, el enlace solo debe abrir en el iframe indicado. Otras opciones son el mostrar/ocultar capas ó el uso de AJAX, pero si estámos hablando del cuerpo de la página (el contenido) esto no es óptimo.

Saludos!
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #12 (permalink)  
Antiguo 13/01/2006, 20:29
 
Fecha de Ingreso: agosto-2003
Ubicación: santiago, chile
Mensajes: 297
Antigüedad: 14 años, 3 meses
Puntos: 0
se agradece la respuesta

nos vemos
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 00:53.