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

help con theme de php-nuke

Estas en el tema de help con theme de php-nuke en el foro de Sistemas de gestión de contenidos en Foros del Web. Necesito que la columna derecha sea totalmente diferente a la izquierda eso quiere decir diferente tamaño y diferente fondo o color de la columna como ...
  #1 (permalink)  
Antiguo 21/04/2005, 15:53
Avatar de virla  
Fecha de Ingreso: julio-2002
Ubicación: Rio Gallegos - Santa Cruz
Mensajes: 893
Antigüedad: 21 años, 9 meses
Puntos: 1
Pregunta help con theme de php-nuke

Necesito que la columna derecha sea totalmente diferente a la izquierda eso quiere decir diferente tamaño y diferente fondo o color de la columna como puedo hacer?
espero la ayuda de los maestros
Gracias
__________________
---->Sin ayuda no se llega a ningun lado<----
Virla
  #2 (permalink)  
Antiguo 22/04/2005, 04:54
Avatar de Jony.  
Fecha de Ingreso: noviembre-2004
Ubicación: Chile!
Mensajes: 497
Antigüedad: 19 años, 6 meses
Puntos: 0
En tu panel de administración puedes ver una de los iconos dice: Blocks ?? o Block... no recuerdo bien, ahi puedes editar las posiciones...

ahora para editar el tamaño, creo que ya tienes que empezar a indagar en los archivos... en la carpeta! block de tu host...

saludos

Pda: no recuerdo si es block la carpeta o tiene otro nombre, alguien puede decirme...
__________________
*CL* Jonathan / Te amo en todo momento y por siempre...
Webjimenez - Mis fotos personales - Hospedaje web a tu medida por $ 5 dolares
  #3 (permalink)  
Antiguo 22/04/2005, 05:01
Avatar de virla  
Fecha de Ingreso: julio-2002
Ubicación: Rio Gallegos - Santa Cruz
Mensajes: 893
Antigüedad: 21 años, 9 meses
Puntos: 1
sori pero no es eso, se que hay que modificar algo en el theme todo lo demas ya lo he visto y no hace nada.
el tema es cuando arma la pagina y el php-nuke le dice que tiene que armar la columna derecha es donde hay que decirle que arme por ejemplo colder.php y no la que utiliza siempre para armar las columnas
de cualquier modo muchas gracias por tu colaboracion
__________________
---->Sin ayuda no se llega a ningun lado<----
Virla
  #4 (permalink)  
Antiguo 22/04/2005, 16:51
Avatar de webosiris
Moderador egiptólogo
 
Fecha de Ingreso: febrero-2002
Ubicación: Luxor, Egipto
Mensajes: 10.725
Antigüedad: 22 años, 2 meses
Puntos: 998

te había escrito una contestación larguísima pero se me borró... empiezo de nuevo desde 0....

lo que querés es posible pero difícil si no tenés conocimientos de php...
en nuke asigna una única función a los bloques de la izquierda y de la derecha, así que lo primero que hay que hacer es indicarle una nueva función para cada tipo de bloque...
hay una función (o + de 1, no recuerdo bien) en el mainfile.php que tiene un if que indica que si la posición es derecha o izquierda se ejecute la función themesidebox() Hay que modificar eso para que si la posición es izquierda se ejecute themesidebox() y si es derecha en cambio se ejecute themesidebox1() Después hay que duplicar themesidebox() (eso esta en el mainfile también) y llamar a su duplicado themesidebox1()
Después de esto te vas al theme.php de tu tema y te encontrarás algo como esto:
Código PHP:
function themesidebox($title$content) {
    
$tmpl_file "themes/TuTema/blocks.html";
    
$thefile implode(""file($tmpl_file));
    
$thefile addslashes($thefile);
    
$thefile "\$r_file=\"".$thefile."\";";
    eval(
$thefile);
    print 
$r_file;

esto hay que duplicarlo y llamarlo themesidebox1 y "blocks.html" cambiarlo por "blocks1.html". Blocks.html es el html que regula el estilo de los bloques de la izq. y de la derecha (originalmente). Ahora solo va a regular a los de la izquierda. Entonces solo te falta crear el blocks1.html para los de la derecha y colocralo en la carpeta de tu tema (estoy considerando que tu tema es en html, osea tiene footer.html, header.html, etc...)

Yo hice algo parecido a esto hace un tiempo, pero era aún un poco más complejo porque también distinguí entre la 1º posición de cada columna y el resto... fue una forma útil de aprender un poco más de php

Espero que te haya servido.
__________________
Pasamos tus PSD a HTML

Pobre del que lo sabe todo, porque no tiene nada más que aprender ni razón para vivir. -
  #5 (permalink)  
Antiguo 22/04/2005, 17:16
Avatar de virla  
Fecha de Ingreso: julio-2002
Ubicación: Rio Gallegos - Santa Cruz
Mensajes: 893
Antigüedad: 21 años, 9 meses
Puntos: 1
Mil gracias se que tenia que ver con eso pero no sabia como hacerlo voy a provarlo y despues te cuento que paso.
mil gracias de nuevo webosiris
__________________
---->Sin ayuda no se llega a ningun lado<----
Virla
  #6 (permalink)  
Antiguo 25/04/2005, 11:48
Avatar de virla  
Fecha de Ingreso: julio-2002
Ubicación: Rio Gallegos - Santa Cruz
Mensajes: 893
Antigüedad: 21 años, 9 meses
Puntos: 1
en esta parte del codigo creo que esta lo que tu dices pero no se como hacerlo

function blocks($side) {
global $storynum, $prefix, $multilingual, $currentlang, $db, $admin, $user;
if ($multilingual == 1) {
$querylang = "AND (blanguage='$currentlang' OR blanguage='')";
} else {
$querylang = "";
}
if (strtolower($side[0]) == "l") {
$pos = "l";
} elseif (strtolower($side[0]) == "r") {
$pos = "r"; ////donde r es la columna donde quiero cambiar
} elseif (strtolower($side[0]) == "c") {
$pos = "c";
} elseif (strtolower($side[0]) == "d") {
$pos = "d";
}
$side = $pos;
$sql = "SELECT bid, bkey, title, content, url, blockfile, view, expire, action, subscription FROM ".$prefix."_blocks WHERE bposition='$pos' AND active='1' $querylang ORDER BY weight ASC";
$result = $db->sql_query($sql);
while($row = $db->sql_fetchrow($result)) {
$bid = intval($row['bid']);
$title = stripslashes(check_html($row['title'], "nohtml"));
$content = stripslashes($row['content']);
$url = stripslashes($row['url']);
$blockfile = $row['blockfile'];
$view = intval($row['view']);
$expire = intval($row['expire']);
$action = $row['action'];
$action = substr("$action", 0,1);
$now = time();
$sub = intval($row['subscription']);
if ($sub == 0 OR ($sub == 1 AND !paid())) {
if ($expire != 0 AND $expire <= $now) {
if ($action == "d") {
$db->sql_query("UPDATE ".$prefix."_blocks SET active='0', expire='0' WHERE bid='$bid'");
return;
} elseif ($action == "r") {
$db->sql_query("DELETE FROM ".$prefix."_blocks WHERE bid='$bid'");
return;
}
}
if ($row[bkey] == admin) {
adminblock();
} elseif ($row[bkey] == userbox) {
userblock();
} elseif ($row[bkey] == "") {
if ($view == 0) {
render_blocks($side, $blockfile, $title, $content, $bid, $url);
} elseif ($view == 1 AND is_user($user) || is_admin($admin)) {
render_blocks($side, $blockfile, $title, $content, $bid, $url);
} elseif ($view == 2 AND is_admin($admin)) {
render_blocks($side, $blockfile, $title, $content, $bid, $url);
} elseif ($view == 3 AND !is_user($user) || is_admin($admin)) {
render_blocks($side, $blockfile, $title, $content, $bid, $url);
}
}
}
}
}
pero de verdad no me doy una idea de donde tengo que hacer el cambio espero que me des una mano
gracias
__________________
---->Sin ayuda no se llega a ningun lado<----
Virla
  #7 (permalink)  
Antiguo 25/04/2005, 12:02
Avatar de virla  
Fecha de Ingreso: julio-2002
Ubicación: Rio Gallegos - Santa Cruz
Mensajes: 893
Antigüedad: 21 años, 9 meses
Puntos: 1
bueno parece que ya lo logre lo unico que veo es que tendre que cambiar en todas las partes donde aparece dentro del mainfile.php la palabra themesidebox hacerle los cambios porque sino me muestra algunos bloques y otros no
muchas gracias por tu ayuda
__________________
---->Sin ayuda no se llega a ningun lado<----
Virla
  #8 (permalink)  
Antiguo 25/04/2005, 12:13
Avatar de virla  
Fecha de Ingreso: julio-2002
Ubicación: Rio Gallegos - Santa Cruz
Mensajes: 893
Antigüedad: 21 años, 9 meses
Puntos: 1
Bueno tengo el problema que te comente solo me cambia un modulo los demas me los deja como estaban el cambio lo realize aqui
codigo------------------
function render_blocks($side, $blockfile, $title, $content, $bid, $url) {
if ($url == "") {
if ($blockfile == "") {
if ($side == "c") {
themecenterbox($title, $content);
} elseif ($side == "d") {
themecenterbox($title, $content);
} elseif ($side == "l"){
themesidebox($title, $content);
} else {
themesidebox1($title, $content);
}
decime hay algo mal?
__________________
---->Sin ayuda no se llega a ningun lado<----
Virla
  #9 (permalink)  
Antiguo 25/04/2005, 22:00
Avatar de webosiris
Moderador egiptólogo
 
Fecha de Ingreso: febrero-2002
Ubicación: Luxor, Egipto
Mensajes: 10.725
Antigüedad: 22 años, 2 meses
Puntos: 998
lo que hiciste hasta ahora creo que esta , solo que incompleto... tenés que cambiar todas las funciones involucradas como lo hiciste con la que pusiste en el ultimo mensaje. Lo que pasa que hay distintos tipos de bloques (los que son de archivo, los que los carga desde la BD, etc.) y el mainfile usa distintas funciones dependiendo de que tipo de bloque es...

Ya nos contarás si tuviste éxito...
__________________
Pasamos tus PSD a HTML

Pobre del que lo sabe todo, porque no tiene nada más que aprender ni razón para vivir. -
  #10 (permalink)  
Antiguo 26/04/2005, 03:38
Avatar de virla  
Fecha de Ingreso: julio-2002
Ubicación: Rio Gallegos - Santa Cruz
Mensajes: 893
Antigüedad: 21 años, 9 meses
Puntos: 1
haa ok, entonces lo que tengo que hacer es ir provando asta que queden los que yo nocesito.
muchas gracias por la ayuda
__________________
---->Sin ayuda no se llega a ningun lado<----
Virla
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 22:09.