Foros del Web » Creando para Internet » Sistemas de gestión de contenidos »

index.php en vez de modules.php en php-nuke

Estas en el tema de index.php en vez de modules.php en php-nuke en el foro de Sistemas de gestión de contenidos en Foros del Web. Hola a todos, bueno como veran soy nuevo aqui como usuario como visitante no, la pagina es muy buena y me a ayudado mucho en ...
  #1 (permalink)  
Antiguo 12/09/2005, 21:47
Avatar de Shadito  
Fecha de Ingreso: septiembre-2005
Mensajes: 6
Antigüedad: 18 años, 7 meses
Puntos: 0
index.php en vez de modules.php en php-nuke

Hola a todos, bueno como veran soy nuevo aqui como usuario como visitante no, la pagina es muy buena y me a ayudado mucho en varias ocaciones, bueno hace poco inicie un nuevo proyecto para un cliente pero este quiere que la direccion de sus modulos sean index.php?name="nombre del modulo" y bueno revisando el codigo en base a php-nuke 7.6, lleve acabo este proyecto, y hay una linea en la que el index define a modules.php (o al menos ese entendi no se mucho aun de php) que es esta linea:

$_SERVER['SCRIPT_NAME'] = "modules.php";

y mas abajo elije la tabla que va a usar para el home (algunos sabran que en el admin yendo a modules tiene la opcion de cambiar el index por el que uno desee, y lo define como home)

$row = $db->sql_fetchrow($db->sql_query("SELECT main_module from ".$prefix."_main"));
$name = $row['main_module'];
$home = 1;

bueno en base a eso decidi que en vez de poner el codigo donde esta "modules.php", poner el codigo de modules.php directamente asi ya no requeriria de modules.php, pero vino un segundo problema...

en modules.php hay un codigo para impedir que este sea abierto directamente y muestra un mensaje, yo lo he modificado el archivo pero seria algo asi...

} else {
$pagetitle = "- "._FILENOTFOUNDS;
die ("._FILENOTFOUNDS");
}
}

entonces al eliminar esta linea ya entra de esta forma:

index.php?name="nombre del modulo"

pero hay un problema que aun no logro resolver, y ese es que al entrar en index.php, me sale un error diciendome que tengo un problema por que no tengo una pagina de inicio, y mas abajo el link diciendo "quiere agregar una pagina de inicio", al darle clic envia directamente al admin de modulos y para mi sorpresa (por que pense que por el cambio del codigo se habia borrado el home) habia ya una pagina de inicio definida (home), entonces no se como corregir ese problema, de hecho movi este codigo...

$row = $db->sql_fetchrow($db->sql_query("SELECT main_module from ".$prefix."_main"));
$name = $row['main_module'];
$home = 1;

hasta antes de:

if (file_exists($modpath)) {
include($modpath);
} else {
$index = 1;
include("header.php");
OpenTable();
if (is_admin($admin)) {
echo "
"._HOMEPROBLEM."

[ "._ADDAHOME." ]
";
} else {
echo "
"._HOMEPROBLEMUSER."
";
}
CloseTable();
include("footer.php");
}

y si entra el index.php pero ya no abre de nuevo index.php?name= en vez de eso abre el index.php (osea el home por default que tenga, asi tenga index.php?name=News Forums etc, muesta la que tengo por default como home)

*** Cabe mensionar y algo que pase por alto en cada modulo cambie la primer linea que empieza y define "modules.php" por "index.php" (es la primer linea de cada modulo, despues de los creditos), por que si no lo cambio muestra el mensaje "usted no puede acceder directamente a este archivo".

Espero alguien me pueda ayudar y asi pasar el tip a varios nukeros y asi inovar cada vez mas phpnuke
  #2 (permalink)  
Antiguo 15/09/2005, 17:37
 
Fecha de Ingreso: diciembre-2004
Mensajes: 346
Antigüedad: 19 años, 4 meses
Puntos: 1
que raro con eso deberia funcionar, he tomado tu codigo y he probado al poner

if ($module = 1){
......
.....
} else {
$home = 1;
......
.....
}

pero tampoco va, se queda en blanco la pagina jeje :) incluso añadi un if antes de $home = 1 como en modules, pero tampoco va, pero supongo que por ahi va la cosa
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 21:55.