Foros del Web » Programando para Internet » PHP »

duda con web modular

Estas en el tema de duda con web modular en el foro de PHP en Foros del Web. Hola, tengo una duda y problema a la ves, he mirado el tutoria de zonaphp.com con lo referente a webs modulares, lo he entendido bien, ...
  #1 (permalink)  
Antiguo 11/12/2004, 12:09
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años
Puntos: 406
Pregunta duda con web modular

Hola, tengo una duda y problema a la ves, he mirado el tutoria de zonaphp.com con lo referente a webs modulares, lo he entendido bien, y ya tengo varios modulos creados, la duda es la siguiente, cada modulo lo tengo por separado, ejemplo

modulos
| |
| |
| |
| ------modulo1
|
------modulo 2

osea que en la carpeta modulos tengo subcarpetas en las cuales cada subcarpeta tiene los archivos del modulo en concreto, mi duda es, como se llaman a los archivos de los modulos, si con el archivo conf.php se hace esto

Código PHP:
$conf['home'] = array(
  
'archivo' => 'home.php',
  
'layout' => LAYOUT_DEFECTO ); 
$conf['articulo'] = array(
  
'archivo' => 'art.php' );
$conf['imp_art'] = array(
  
'archivo' => $conf['articulo']['archivo'],
  
'layout' => 'imprimir.php' 
entonses, tengo que crear un modulo por cada pagina que quiero llamar????????

por si no me entendieron (espero que si) es que si en el modulo1 tengo 5 archivos php los cuales muestran informacion tengo que crear los 5 modulos para los 5 archivos?? no hay una manera para que solamente llamando al primero pueda llamar a los 4 restantes archivos???

de antemano gracias
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #2 (permalink)  
Antiguo 11/12/2004, 13:06
Avatar de jesusbet
(Desactivado)
 
Fecha de Ingreso: mayo-2004
Ubicación: Monterrey, MX
Mensajes: 2.667
Antigüedad: 19 años, 11 meses
Puntos: 2
Primero, lee esta FAQ de php para entender como funcionan las webs modulares:
http://www.forosdelweb.com/showpost....8&postcount=27

En cuanto a tu duda, creo que en el array pondrías esto:
Código PHP:
 $conf['home'] = array(
  
'archivo' => 'carpeta/home.php',
  
'layout' => LAYOUT_DEFECTO ); 
saludos
  #3 (permalink)  
Antiguo 11/12/2004, 13:11
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años
Puntos: 406
hola, antes que nada, gracias por responder.

Bueno, eso si lo entendi bien, de hecho ya tengo varios modulos, pero mi duda es que, por ejemplo, tengo un modulo que es foro, pero foro no es un solo archivo (index.php), tiene mas archivos, mi duda es, que si tengo que crear un modulo en el archivo conf.php para cada uno de esos archivos y llamarlo por ejemplo ?mod=responder o ?mod=ver_mensaje y si es asi, no hay alguna otra forma para hacerlo pues podriamos decirlo, mas facil??
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #4 (permalink)  
Antiguo 11/12/2004, 23:20
 
Fecha de Ingreso: mayo-2004
Ubicación: Argentina
Mensajes: 126
Antigüedad: 19 años, 10 meses
Puntos: 1
Sonrisa Sitios Modulares

Hola Nemutagk, justamente estoy por terminar mi 3er sitio modular y la respuesta es SI.
Lamentablemente la unica forma que encontré para asociar los archivos de los modulos es de la forma ?mod=(nombre_de_archivo).
Te doy un ejemplo:
Tengo un sistema de clasificados, para mostrar en el cuerpo del sitio la pagina principal de este sistema, pongo ?mod=avisos.
?mod=avisos en el archivo conf.php dice:

$conf['avisos'] = array(
'archivo' => 'clasificados/index.php' );

Este index incluye (por ejemplo) una conección a la bd de la forma include("?mod=coneccion");, si es que lo defino en conf.php.
O podría incuir todo de la forma include("modulos/clasificados/coneccion.php"); y Olvidar el conf.php. PERO! si conneccion.php tiene una salida del tipo "echo" la interfase del sitio no va a existir, va a mostrarse la pagina coneccion.php y nada mas.

Basta con escribir todos los accesos en el conf.php para "alivianar" el codigo.
Otro ejemplo:
En conf.php agrego paths a las imagenes y a los thumb de imagenes.
$site="http://www. dominio.com/";
$pathimagen=$site."imagenes/clasificados/";
$path_thumb=$site."imagenes/clasificados/thumbs/";

Armo los codigos con simples variables <?=$pathimagen?> o <?=$path_thumb?> haciendo uso del camino absoluto. (de paso evito cambios en todos los archivos, si el sitio cambia de dominio)

Digamos que a la larga vale la pena armarse un archivo de configuración extenso, pero efectivo.

Lo que si, tene en claro que para todos los archivos que llames desde ?mod= la ruta BASE es la direccion del sitio. Creoque no me explique... si tenes un modulo que es sistema de foros y optas por poner un include de la forma include("ver_mensaje.php"); ver_mensaje.php va a ser buscado en www.elsitio.com/ver_mensaje.php y no en modulos/foro/ver_mensaje.php. Una vez más no estaría mal tomarse mas tiempo con el archivo de configuración y darle sentido al sitio en si. espero haberme explicado.

Saludos!

PD: Buena pregunta la tuya... te dejo otra: Si trabajamos en un sito modular y hacemos uso de las sesiones, como hacemos para que funcione la redirección del tipo header ("location: algo.php"); si antes que nada se carga el index.php de path ROOT y para que esta funcion sea válida, no debe escribirse ni una sola linea de codigo???

Revisando el FAQ del Web entré la solución! http://www.forosdelweb.com/f18/faqs-php-530600-post414490/

¿Que haríamos sin forosdelweb?,no?

Última edición por pincho; 13/11/2009 a las 14:28
  #5 (permalink)  
Antiguo 12/12/2004, 18:52
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años
Puntos: 406
hola, antes que nada, gracias por responder

Sin duda alguna, no se que hariamos muchos de los que visitamos forosdelweb.com, es sin duda un foro de primera, retomando el tema de la web modular, he estado probando varias cosas, y bueno, sin duda alguna he visto que si, no he encontrado otra forma mas que incluir cada pagina en conf.php para ser llamado en todo momento por ?mod=modulo, tambien vi la necesidad de crear un class de conexion a mysql para tener todo disponible, ahora estoy viendo la posibilidad de incluir un pequeño motor de templates (MUUYY BASICO) pero funcional, asi como la posibilidad de una web multilingüe, y como comentas, es mejor armar un conf.php bien, y no dejar cosas para despues, muchas gracias por tu respuesta
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #6 (permalink)  
Antiguo 12/12/2004, 20:22
 
Fecha de Ingreso: octubre-2004
Mensajes: 46
Antigüedad: 19 años, 6 meses
Puntos: 0
hola
yo tb segui el tutorial del foro de zonaphp para hacer la web modular y un foro, el problema que describes me ha llevado la ultima semana un poco de cabeza y al final estoy intentando resolverlo asi:
cabecera.html
Código HTML:
 <body bgcolor="#9999cc" text="#FFFFFF" link="#FFFFFF">
<table width="100%" border="0" align="center" cellpadding="2" cellspacing="2">
<tr>
    <td bgcolor="#4b557d" align="center">
     <div align="right">
        [ <a href="?mod=home">Inicio</a> ]
        [ <a href="?mod=foro&citar=0">Nuevo Tema / Responder Tema</a> ]
     </div>
    </td>
</tr>
</table>
</body> 
post.html
Código HTML:
<table width="90%" border="0" align="center" cellpadding="2" cellspacing="2"> 
  <tr bgcolor="<?=$color?>"> 
    <td width="25%" valign="top">
      <b><a name="<?=$id?>"><?=$autor?></a></b><br> 
      <font size="-2">Enviado el : <?=$enviado?></font> 
    </td> 
    <td> 
        <table width="100%" border="0" cellspacing="0" cellpadding="0"> 
            <tr> 
                <td><strong><font size="-1"><?=$titulo?></font></strong></td> 
                <td width="10%" align="right">
                    [<a href="?mod=foro&id=<?=$id?>&citar=1">CITAR</a>]
                </td> 
            </tr> 
        </table> 
        <hr align="center" width="100%" size="2" noshade><?=$mensaje?>
    </td> 
  </tr> 
  <tr> 
    <td colspan="2" height="5"></td> 
  </tr> 
</table> 
foro.php
Código PHP:
if (isset ($_GET['citar'])) include ('./foro/respuesta.php');
else if (isset (
$_GET['id'])) $id $_GET['id']; 
respuesta.php
Código PHP:
if (isset ($_GET['id'])) $id $_GET['id'];
//if (isset $$id = $_GET["id"]; 
if (isset ($_GET['citar'])) $citar $_GET["citar"]; 
if (isset (array(
"id" => $id)) $row = array("id" => $id); 
if(
$citar==1
para hacer el foro tb he seguido el tutorial de zonaphp.
como puedes ver si $_GET['citar'] esta seteado se incluye el archivo respuesta.php donde se diferencia si es nuevo tema $citar==0
por ahora no he conseguido que funcione, me da el siguiente error al cargar la web:
Parse error: parse error, unexpected T_ARRAY, expecting T_VARIABLE or '$' in \foro\respuesta.php on line 5
como podeis ver mas arriba en esa linea tengo:
Código PHP:
if (isset (array("id" => $id)) $row = array("id" => $id); 
no entiendo esta linea que hace, he leido un poco sobre arrays en el manual de php.net y sigo igual.
en el codigo del foro de zonaphp esto esta asi y funciona. si alguien me puede explicar que hace esta linea de codigo, o donde esta el error, o las dos cosas, para ver si funciona.

esta forma de llamar a respuesta.php creo que para un foro mas complicado va a ser muy engorrosa y al final lo mejor va a ser hacer lo que ha explicado Pincho, pero en este foro que es sencillito deberia funcionar y ya que estoy... tengo que encontrar que falla.
__________________
:adios: Saludos
Dokan
  #7 (permalink)  
Antiguo 12/12/2004, 20:35
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años
Puntos: 406
hola!!!

la linea que dices hace una condicion if(), si existe la condicion array("id" => $id) entonses se ejecuta $row = array("id" => $id)

el error que te manda, si no mal me equivoco es porque la variable esta vacia, y te manda error al crear el array, pero ojo, no esto seguro :p, deja checo el manual del foro en zonaphp que haces referencia
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #8 (permalink)  
Antiguo 12/12/2004, 20:55
 
Fecha de Ingreso: octubre-2004
Mensajes: 46
Antigüedad: 19 años, 6 meses
Puntos: 0

si te refieres a la variable $id este vacia o no me sale igual el error.
gracias
__________________
:adios: Saludos
Dokan

Última edición por Dokan; 13/12/2004 a las 02:05
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 09:03.