Cita:
Iniciado por Apolo Bien, parece que en algunas ocasiones revivir temas de casi 3 años atrás sí sirve y sí vale la pena.
Para ser sinceros... estaba buscando algún post sobre optimización de consultas mysql+php para páginas con un trafico muy alto de usuarios diarios .oO(2 millones o más) y me encontre con este tema y la verdad... No pude resistir contestar :) xD
Cita:
Iniciado por Jokin 2. UNIFICAR TOPS:
Ok, con lo de unificarlos todos...pero cómo se hace eso?
he dicho que lo de PHP me cae algo lejos?
Jokin, el tema de la personalización de MODULOS en PHP-Nuke, no es excesivamente "complicado", dado que la gran mayoria de los modulos siguen una linea muy similar en la estructura de la programación.
La unificación de los modulos, o mejor dicho, crear un modulo PROPIO que muestre informaciones de diferentes TOPS internos o de bloques / modulos ya instalados, puede parecerte CHINO si no te has tirado a la piscina de editar codigo de modulos, pero una vez dentro del agua, te garantizo... (por experiencia propia por que comence precisamente con este tipo de portales) ... que no es nada complicado.
Te aconsejo que EDITES y le pegues un vistazo a cualquier modulo existente en tu portal y aproveches para ver la programación de cualquiera de los modulos de TOPS que tienes instalados en tu Nuke.
Si quieres, te puedo echar una mano en la personalizacion y creacion de un modulo que los unifique todos, pero para ello... tienes que dar tu el primer paso, ya que ahora no trabajo con Nuke y no se ni siquiera que bloques / modulos de tops tienes instalados concretamente, por lo que tendras que pegar UN PRIMER analisis de la programación para encontrar tanto la consulta empleada para extraer la información de la bbdd así como la parte que muestra la info .oO(Anda!!! andaaaaaaaaaaa!!!! que parece que te este poniendo deberes y to xD jajajajajajjajajaja :) )
Cita:
Iniciado por Jokin 3. BLOQUE MODULOS ACTIVOS:
No se si te refieres al bloque de la izquierda al que llamamos Menú Principal. Dicho bloque, en principio era un módulo que variaba en función de las secciones que teníamos pero lo cambié por puro HTML:
PERFECTO!!!!
Cita:
Iniciado por Jokin Recuerdo haberlo probado una vez, pero ahora
no recuerdo desde dónde se modificaba esto
Yo reconozco que soy un poco... RADIKAL en soluciones, pero para mi, esta es la mas mejor de todas a la hora de controlar la aparicion de bloques en determinadas secciones.
Todo depende de como este estructurado el theme que tienes actualmente en tu portal, ya que esta parte de Nuke es una de las que, aun siguiendo una misma estructuración, puede variar bastante de un theme a otro. OJO!!! Hablo de memoria, desconozco completametne la evolucion de que haya podido llegar a sufrir NUKE y aún más las cosas que hayan podido hacerle de base los señores de NukeET ;) asi que igual, me equivoco xD
Dentro de la ruta:
/themes/nombredetutheme/ localiza el siguiente archivo:
theme.php
Localiza la function THEMEHEADER y en la declaracion de variables globales mira si aparece una variable llamada "
$name" si esta perfecto y en caso contrario, NO PASA NA!!! La colocas y listos :) Esta variable recoge el NOMBRE del modulo cargado .oO( modules.php?name=Forums por ejemplo ;) )
Ahora tan solo hemos de localizar la linea que hace que aparezca la columna de la izquierda, que si no recuerdo mal era algo tal que así:
blocks(left);
Y ahora tan solo hemos de marcar una condicion para que se muestre o no ese bloque en la carga del modulo FORUMS de la siguiente manera:
Código PHP:
if($name!="Forums"){
blocks(left);
}
Y listos!!! Ya no aparece el bloque de menus de la izquierda cuando se cargue el FORO xD ;) Pero ojo, como ya te he comentado, igual esto ha cambiado un poco desde que yo trabajaba con Nuke. Has de pensar que yo deje de trabajar con el en la version 6.5 .oO( Haya por la edad de piedra amos xD )
Cita:
Iniciado por Jokin También otra posibilidad que te ofrece PHP-Nuke es la personalizacion de CABECERAS, ya que dependiendo del MODULO cargado puedes indicar de forma fácil que cargue una cabecera u otra
Perdona pero no se de qué me hablas. ya me dirás.
Esta parte esta completamente relacionada con la del foro. Veras, dentro del archivo THEME.PHP hay diversas funciones que se encargan de cargar las partes que forman la página. Estas partes se dividen principalmente en 4 bloques definidos:
1.- Cabecera
2.- Bloques laterales
3.- Cuerpo / Noticias
4.- Pie
Dentro de la funcion themeheader, se hace una llamada a un fichero externo html o se puede llegar a encontrar la parte del código correspondiente a la cabecera directamente introducido en la funcion.
Este código o llamada al archivo externo, se puede controlar de la misma manera que te he comentado antes. O sea, añadiendo condiciones segun el valor de la variable NAME. Esto te puede servir, por ejemplo, para cargar una cabecera DIFERENTE para cada seccion que quieras personalizar... :)
Cita:
Iniciado por Jokin He realizado alguna de las modificaciones que me has comentado y las llamadas a la base de datos han descendido de 136 a 119 y el tiempo de carga en 2/3 segundos (aunque éste varia según le dé). Vamos mejorando
Gracias por tu ayuda. Espero tus respuestas.
Bueno, me alegro que te haya servido de algo lo comentado... Pero la verdad, es que te animo a que TRASTEES y JUEGUES con el código de los modulos, la verdad es que NO es tan complicado como parece... Es tan solo darte tiempo y preguntar cuando tengas dudas :)
Saludos y animos!