Bueno en este tutorial paso a explicar como poder colocar baners diferentes por cada foro. Esto quiere decir que cada ves que un user entre a x foro si podra ver un banner asociado con ese foro en el que estemos.
Primero debemos localizar donde se encuentra nuestro banner en nuestro theme ya que no todos los themes son iguales. Por ejemplo en el Theme default de Smf 2.0 Rc3 y este se encuentra aqui:
<h1 class="forumtitle">
<a href="', $scripturl, '">', empty($context['header_logo_url_html_safe']) ? $context['forum_name'] : '<img src="' . $context['header_logo_url_html_safe'] . '" alt="' . $context['forum_name'] . '" />', '</a>
</h1>
Entonces un poquito mas arriba donde empiezan las globales vamos a crear una variable con nuestros diferentes logos.
Quote
Pongamos este ejemplo nosotros tenemos dos foros, uno con id 7 y otro con id 9
entonces despues de:
global $context, $settings, $options, $scripturl, $txt, $modSettings;
agregamos
$valid = array(
7 => 'url de imagen para el foro con id7.jpg',
9 => 'url de imagen para el foro con id9.jpg',
);
if(!empty($context['current_board']))
$logo = $valid[$context['current_board']];
else
$logo = 'logodefault.png';
En este caso la variable
$logo contendra nuestro banner a usar :D y en este caso que es en el theme default iria asi:
en la parte anterior que menciona reemplazarian por esto:
<h1 class="forumtitle">
<a href="', $scripturl, '"><img src="'.$logo.'" alt="' . $context['forum_name'] . '" /></a>
</h1>';
Este es un ejemplo para el theme default, esto no significa que no pueda servir en los demas themes sino todo lo contrario. Solamente si quieren pueden preguntar y les respondere como adaptarlo
saludos
www.smfpersonal.net
Gran tutorial lucas, más tarde le doy una probadita a todo esto.
Saludos!
ok man gracias
cualquier duda solo consultala
saludos
hola lucas este no puedo modificar el Banners de mi foro soy novato
me podrias esplicar como cambiarle gracias saludos cordiales
ftabin.webcindario.com/index.php
Pero que problema tienes?
Amigo lean, lo podrias adaptar para la version 1.1.11 ::)
Lean? ....
Es lo mismo, esto es un ejemplo, solo deben "adaptarlo" por que en todos los themes sea de 1.1 o 2.0 el banner va a estar distinto.
Quote from: lucas-ruroken on July 01, 2010, 07:42:21 PM
Lean? ....
Es lo mismo, esto es un ejemplo, solo deben "adaptarlo" por que en todos los themes sea de 1.1 o 2.0 el banner va a estar distinto.
XD! Perdon Lucas, esque estuve viendo el foro de lean y se me paso el nombre haha..
_____
Bueno lo que no consigo encontrar es esto:
<h1 class="forumtitle">
<a href="', $scripturl, '">', empty($context['header_logo_url_html_safe']) ? $context['forum_name'] : '<img src="' . $context['header_logo_url_html_safe'] . '" alt="' . $context['forum_name'] . '" />', '</a>
</h1>
Url de tu web y adjunta tu index.template.php.
Si quieres te explico como se hace, eso solamente vas a encontrar en el theme default, si es otro theme es muy probable que no este, con eso me referia a la posicion del banner.
Lucas, no deberias dar soporte a un usuario que cambia el copyright del theme y encima lo hace linkeable a su web y no a la del diseñador del theme. Una verguenza que alla gente que haga estas cosas...
Ok no habia prestado atencion, estaba esperando a ver la url de su web.
Aqui esta la URL de mi WEB:
www.latinozlife.com (http://www.latinozlife.com)
Quote from: lean on July 02, 2010, 05:43:18 PM
Lucas, no deberias dar soporte a un usuario que cambia el copyright del theme y encima lo hace linkeable a su web y no a la del diseñador del theme. Una verguenza que alla gente que haga estas cosas...
De verdad perdon, esque vi un tutorial de un amigo de como cambiar los creditos y bueno como he modificado cosas del theme tambien me quise dar un credito a mi , perdon ojala no pienses mal de mi amigo.., de verdad lo siento. Ojala comprendas, no volverá a suceder estoy muy apenado.
ahora pongo como estaba antes.
bueno :-[ , volviendo al tema aki te adjunto mi index.template.
http://www.megaupload.com/?d=KL0X6OH0
quiero que todas las zonas tengan el mismo logo excepto 4 zonas que son para mayores de 18.
Saludos y perdon por ese error del cual me arrepiento, ya lo arregle
Me apuntooo
Quote from: Dди!€ℓeX! on July 11, 2010, 10:10:06 PM
Aqui esta la URL de mi WEB:
www.latinozlife.com (http://www.latinozlife.com)
Quote from: lean on July 02, 2010, 05:43:18 PM
Lucas, no deberias dar soporte a un usuario que cambia el copyright del theme y encima lo hace linkeable a su web y no a la del diseñador del theme. Una verguenza que alla gente que haga estas cosas...
De verdad perdon, esque vi un tutorial de un amigo de como cambiar los creditos y bueno como he modificado cosas del theme tambien me quise dar un credito a mi , perdon ojala no pienses mal de mi amigo.., de verdad lo siento. Ojala comprendas, no volverá a suceder estoy muy apenado.
ahora pongo como estaba antes.
bueno :-[ , volviendo al tema aki te adjunto mi index.template.
http://www.megaupload.com/?d=KL0X6OH0 (http://www.megaupload.com/?d=KL0X6OH0)
quiero que todas las zonas tengan el mismo logo excepto 4 zonas que son para mayores de 18.
Saludos y perdon por ese error del cual me arrepiento, ya lo arregle
Puedes colocar, Silentewave by Dzinerstudio
Modificado por lalalala
o algo similar, la idea respetar los créditos originales.
saludos!
A ver estuve buscando donde editar el logo pero no encontré!
Adjunto mi index.template, solo es necesario que me digan donde esta, así puedo editarlo y voy aprendiendo :)
http://www.megaupload.com/?d=8D9RSPBA
http://rapidshare.com/files/406553454/index.template.zip
pd: ya no se pueden adjuntar archivos en el foro?
En esta zona al menos no.
Me parece que debes llegar a Simple Machines Hero (por que yo si puedo adjuntar.)
A hacer spam entonces!, no digo... denme una mano con mi index.template u_U
u.u Alguien me ayuda?
adjunta el index.template.php
Quote from: distante on July 12, 2010, 11:13:58 AM
http://rapidshare.com/files/406553454/index.template.zip
Ahí esta :)
el problema con tu logo es que es atraves de css.... donce dice (creo) <div id="logo"></div> deberias poner
<div id="logo"><img src="RUTA DE IMAGEN" alt="" /></div>
y en el index.css buscas
#logo
y abajo dice background.... y borrar esa linea de background....
Quote from: lucas-ruroken on July 14, 2010, 10:21:37 PM
el problema con tu logo es que es atraves de css.... donce dice (creo) <div id="logo"></div> deberias poner
<div id="logo"><img src="RUTA DE IMAGEN" alt="" /></div>
y en el index.css buscas
#logo
y abajo dice background.... y borrar esa linea de background....
Realmente dice <div id="logo"
/></div>
Ningún problema con eso? :-\
<div id="logo"/>
reemplazalo por lo que te dije...
<div id="logo"><img src="RUTA DE IMAGEN" alt="" /></div>
Oh ya me di cuenta de algo.
Yo no estoy usando el "logo" del theme, cuando adapte el theme a lo que yo quería, puse un logo.png de 1x1 transparente
Y lo que uso en la parte del logo es realmente lo que tengo definido como "top-banner"
Lo tengo así
<div id="top-banner">
Es la linea 226 del index.template que adjunte.
Podría reemplazar igual <div id="top-banner"> por <div id="top-banner"><img src="RUTA DE IMAGEN" alt="" />
Y eliminar el background de #top-banner en el css?
Me salta la duda porque el <div id="top-banner"> no tiene a su lado la etiqueta de cierre </div>
::)
U_u no soy muy pesado no?
no, no eres pesado :P
si es cuestino de probar hasta que te quede en link y no en css.
Funciono perfecto :)
Creo que falta detallar algo.
Cuando no estas en el inicio del foro, pero tampoco quieres usar banner distinto, no funciona bien el script
Mira:
www.forosperuanos.net aquí todo bien
Pero en
http://www.forosperuanos.net/cocina-y-reposteria/
No me muestra el background, en el codigo fuente sale que el src esta vacío:
<div id="top-banner"><img src="" alt="" />
Hice los cambios así:
global $context, $settings, $options, $scripturl, $txt, $modSettings, $logo;
$valid = array(
79 => 'http://www.forosperuanos.net/Themes/x-mas_20rc2/images/banners/top-papeleras9-79.png',
9 => 'http://www.forosperuanos.net/Themes/x-mas_20rc2/images/banners/top-papeleras9-79.png',
26 => 'http://www.forosperuanos.net/Themes/x-mas_20rc2/images/banners/top-sexualidad26.png',
);
if(!empty($context['current_board']))
$logo = $valid[$context['current_board']];
else
$logo = 'MIURL/images/custom/top-banner.png';
Creo que falta una parte de código donde diga "si no existe en el array entonces.." o algo así?
Edit! Luego de mucho rato tratando logre hacer el php necesario y le puse un par de controladores por si alguien quiere activarlo y ver como funciona.
Quedo así
/Si En board actual devuelve FALSO al empty (es decir si tenemos un ID de subforo) entonces, uso el logo del array
If(!empty($context['current_board']))
{
$logo = $valid[$context['current_board']];
// echo' El primer logo es........................'.$logo.'<br/>';
}
//si el contenido de la variable Logo es menor de 3 caracteres
If (strlen($logo) < "3" )
{
$logo = 'MIURL/images/custom/top-banner.png';
// echo' El logo luego de comparativo de vacio es '.$logo.'<br/>';
}
La otra parte
<div id="top-banner"><img src="'.$logo.'" alt="" />
Ahora todo funciona bien, si tengo una imagen hecha para un foro sale esa imagen como aquí:
http://www.forosperuanos.net/sexualidad/
http://www.forosperuanos.net/la-papelera/
Y si no esta definido, usa la imagen por defecto como aquí:
http://www.forosperuanos.net/
http://www.forosperuanos.net/software-y-hardware/
O en cualquier otro subforo!
Lo único malo es que en mi log de errores me bota estos 2 errores
Quote from: Primer Error: Linea 236 Index.Template
8: Undefined variable: logo
==>236: If (strlen($logo) < "3" )
Cosa que no entiendo porque declaré la variable $logo en los globales!
Quote from: Segundo erro: Linea 232 Index.Template
8: Undefined index: 5
==>232: $logo = $valid[$context['current_board']];
Este Realmente varia mucho,
Quote8: Undefined index: 5
8: Undefined index: 17
8: Undefined index: 60
y es que es el número que da el 'current_board'
Alguna idea? de como eliminar estos errores? porque mi log se esta llenando demasiado! :P
De paso quizás uno de nuestros gurús de php me pueden ayudar a hacer más liviano ese código, me parece que esta haciendo un poquitoooo lento el foro. :-\
reemplaza
if(!empty($context['current_board']))
por
if(!empty($context['current_board']) && !empty($valid['$context['current_board']))
Eso es para eliminar el error del log no? o_o
Como quedaría el código al final? así?
/Si En board actual devuelve FALSO al empty (es decir si tenemos un ID de subforo) entonces, uso el logo del array
if(!empty($context['current_board']) && !empty($valid['$context['current_board']))
{
$logo = $valid[$context['current_board']];
// echo' El primer logo es........................'.$logo.'<br/>';
}
//si el contenido de la variable Logo es menor de 3 caracteres
If (strlen($logo) < "3" )
{
$logo = 'MIURL/images/custom/top-banner.png';
// echo' El logo luego de comparativo de vacio es '.$logo.'<br/>';
}
o así?
/Si En board actual devuelve FALSO al empty (es decir si tenemos un ID de subforo) entonces, uso el logo del array
if(!empty($context['current_board']) && !empty($valid['$context['current_board']))
{
$logo = $valid[$context['current_board']];
// echo' El primer logo es........................'.$logo.'<br/>';
}
ELSE
{
$logo = 'MIURL/images/custom/top-banner.png';
// echo' El logo luego de comparativo de vacio es '.$logo.'<br/>';
}
u.u'
si, con respecto al codigo es liviano, demasiado liviano, no tiene nada que pueda ralentizar el foro.
pero cual es el problema en esto?
Cuando vos pones banners diferentes en cada foro, el navegador tiene que recargar esa imagen, si vos tuvieras un unico banner, esa imagen queda guardada en el cache y entonces se hace mas rapido.
Simplemente por eso, el codigo es muy liviano, no tiene ninguna complicacion
ah, si, parece que estaba bajando muchas cosas en la madrugada u.u'
Entonces uso el primero no?
/Si En board actual devuelve FALSO al empty (es decir si tenemos un ID de subforo) entonces, uso el logo del array
if(!empty($context['current_board']) && !empty($valid['$context['current_board']))
{
$logo = $valid[$context['current_board']];
// echo' El primer logo es........................'.$logo.'<br/>';
}
//si el contenido de la variable Logo es menor de 3 caracteres
If (strlen($logo) < "3" )
{
$logo = 'MIURL/images/custom/top-banner.png';
// echo' El logo luego de comparativo de vacio es '.$logo.'<br/>';
}
:) gracias eh
:P deberías hacerlo mod! aunque vi uno por ahí pero no hacia esto ultimo
Tengo un problemilla
con la linea que me diste
if(!empty($context['current_board']) && !empty($valid['$context['current_board']))
No se si tengo que cambiar un ) por un ] y ponerle un ', así:
if(!empty($context['current_board']) && !empty($valid['$context['current_board']]')
O debo quitarle la comilla inicial así:
if(!empty($context['current_board']) && !empty($valid[$context['current_board']))
:-\
if(!empty($context['current_board']) && !empty($valid[$context['current_board']))
asi esta bien, sory
Con lo del mod lo hubiese hecho sin no fuera tan diferente en todos los themes....
dependiendo del theme es completamente diferente, el tuto esta sobre el theme default pero en otros themes como este es completamente diferente.
Lo puse así y me boto este error:
Parse error: syntax error, unexpected ')', expecting ']' in index.template.php on line 230
230 es la linea de ese código u.u
;D
if(!empty($context['current_board']) && !empty($valid[$context['current_board']]))
xD !!! malogrando se aprende?
Yaaaa había visto que faltaba el corchete :P
Gracias lucas! ^^
de nada, cualquier duda, aca andaremos
Estuve viendo y guiándome un poco del CBI, y de esta forma también puede lograrse lo mismo.
paso a colocar lo que hice para los interesados.
Al index.template, se agrega o suplanta este div por el div que contiene su logo.
<div class="logo">';
if(!empty($context['current_board']) && file_exists($settings['theme_dir'] . '/logos/foro'.$context['current_board'].'.png'))
echo'<img src="', $settings['theme_url'], '/logos/foro'.$context['current_board'].'.png" alt="' . $context['forum_name'] . '" />';
else
echo'<img src="', $settings['theme_url'], '/logos/logo.png" alt="' . $context['forum_name'] . '" />';
echo'</div>
Solo se crearía la carpeta logos en la carpeta del tema que usas, y dentro de ella estarían los logos de cada foro.
Al igual como el CBI, cada logo debe tener como nombre foro + el id del foro al que se le cambiar el logo. Ejem:
Tutema/logos/
foro1.png
foro2.png
foro3.png
foro4.png
foro5.png
ETC....
logo.png
logo.png se llamara el logo por default que se mostrara en su foro,y que también se mostrara si un foro no tiene logo propio.
claro esta que pueden modificar la extensión,nombre,dirección,la clase,etc.
saludos, y ahí tienen una alternativa mas.
PD. cualquier corrección de los gurus de php, háganlo saber :P
perfecto zutzu, el codigo mas simplificado seria asi:
if(!empty($context['current_board']) && file_exists($settings['theme_dir'] . '/logos/foro'.$context['current_board'].'.png'))
echo'<img src="', $settings['theme_url'], '/logos/foro'.$context['current_board'].'.png" alt="' . $context['forum_name'] . '" />';
else
echo' <img src="', $settings['theme_url'], '/logos/logo.png" alt="' . $context['forum_name'] . '" />';
Gracias lukas, ya modifique el código simplificado. ;)
Perfect!
Esto haria el index.template menos pesado no? :-\
es igual.... son dos codigos muy liviano... son 2 o 3 linas nomas... piensa que smf tiene miles y miles de lineas, 2 no van a hacer la difernecia en este caso... y menos sino fuerzan a nada.
Me refiero a que (si por ejemplo) tengo 40 subforos, tendría que hacer 30 lineas extras al index.template.php y en el otro no.
O da igual?
:P estoy aprendiendo!
es lo mismo..... asi hagas 200 lineas no va a hacer mas lento en este caso
:P a bueno entonces me quedo con la modificación como la dijiste!
:D gracias!
A ver si me puedes dar una mano en el problema que tengo con los campos de edición de mi firma en el otro tema :(
Y si quiero poner en ves de imagenes banners de adsence? Como podria hacerlo?
Quote from: lean on July 25, 2010, 02:36:44 AM
Y si quiero poner en ves de imagenes banners de adsence? Como podria hacerlo?
Para eso no seria mejor usar este mod? http://custom.simplemachines.org/mods/index.php?mod=255
No, porque creo que ese mod te permite poner 1, no te muestra uno para cada foro.
Si tenes ese mod me podrias decir si se puede?
Que en un foro X salga un banner arriba de todo y en otro foro salga otra banner y asi?
Si, con el mod puedes definir DONDE y como quieres que salga cada aviso. Puedes crear X avisos para X categorías distintas
y en vez de poner en cada array la url de tu imagen, pones el banner de adsense... y luego remueves la parte que dice <img.. y dejas solo la variable
saludos