Página 1 de 1

Logo aleatorio desde el ACP

Publicado: 03 Nov 2011, 14:40
por zyxer
Bueno, antes que todo, pido disculpa por el título tan poco descriptivo pero es que no supe como resumir lo que quiero en una sola línea.

Les cuento, que quiero poner un logo aleatorio en mi página y se me ocurre que no me gustaría entrar a include/funtions cada vez que quiera modificar el número de imágenes que tengo en el folder de imágenes aleatorias... he pensado que eso podría modificarse desde el ADC y no sé como hacerlo. Pero se me ocurre que tal vez con el Advertasement Manager poniendo (en vez de un código de anuncio) el número de imágenes que tengo.

Bueno.. no sé si se pueda ni como hacerlo... ¿será posible?

Re: ¿Será posible?

Publicado: 03 Nov 2011, 15:28
por zyxer
No podía editar.


Solo agregar la información de que no tiene que ser necesariamente con el Advertisement Manager. Puede ser agregando un espacio en los módulos del ACP (que hasta sería mejor idea).

Re: Logo aleatorio desde el ACP

Publicado: 03 Nov 2011, 16:18
por javiexin
Pues creo que podrías utilizar lo siguiente:
  • Creas una carpeta nueva, por ejemplo dentro de root/images, digamos logos
  • Dentro de esa carpeta pones todas las imágenes que quieras como logos; para facilitar que se vean bien, tienen que tener todas exactamente el mismo tamaño
  • Luego, copias en esa misma carpeta el fichero php que adjunto (NOTA: NO soy el autor, lo encontré en algún otro foro, los créditos están en el propio script)
  • Por último, utilizas como logo lo siguiente: {T_IMAGES_PATH}/logos/rotate.php
Puedes ver un ejemplo en la cabecera de mi foro (http://www.exincastillos.es/foro): el banner del patrocinador (se muestra al pasar el ratón sobre el logo del patrocinador) se elige aleatoriamente en cada carga entre los varios que tengo disponibles (en este momento, sólo dos).

Espero que te sirva, no utiliza el ACP, sino que tienes que utilizar el FTP, pero no hace falta cambiar nada si quieres usar más logos, o diferentes. Saludos,
-javiexin

PD: Si los moderadores lo consideran, se podría crear un tutorial/artículo de la biblioteca para poner imágenes aleatorias en diversos lugares del foro...

Re: Logo aleatorio desde el ACP  Tema Solucionado

Publicado: 03 Nov 2011, 16:25
por Alorse
Eso es casi como hacer un nuevo MOD, pero vamos a intentarlo.

Lo primero es crear el cambio en la base de datos que tendrá la variable, así que desde el phpMyAdmin ejecuta:

Código: Seleccionar todo

INSERT INTO phpbb_config (config_name, config_value) VALUES ('logo_rand', '5')
Ahora vamos con la edición de los archivos:

Abrir Includes/acp/acp_board.php y buscar:

Código: Seleccionar todo

						'override_user_style'	=> array('lang' => 'OVERRIDE_STYLE',		'validate' => 'bool',	'type' => 'radio:yes_no', 'explain' => true),
Agregar después:

Código: Seleccionar todo

						'logo_rand'	=> array('lang' => 'LOGO_RAND',		'validate' => 'int',	'type' => 'text:3:4', 'explain' => true),
Abrir language/es/acp/board.php y buscar:

Código: Seleccionar todo

	'OVERRIDE_STYLE'				=> 'Sustituir estilo del usuario',
Agregar antes:

Código: Seleccionar todo

	'LOGO_RAND'			=> 'Logo aleatorio',
	'LOGO_RAND_EXPLAIN'			=> 'Número de imágenes que desea que tenga el logo aleatorio.',
Abrir includes/functions.php y buscar:

Código: Seleccionar todo

'SITE_LOGO_RANDOM'
Cambia TODA esa linea, no solo el pedazo que buscaste, por:

Código: Seleccionar todo

		'SITE_LOGO_RANDOM'      	=> mt_rand(1, $config['logo_rand']),
Con eso ya funcionara como tu deseas.
Para configurar el número ve al ACP >> General >> Configuración de sitio >> Logo aleatorio

Re: Logo aleatorio desde el ACP

Publicado: 03 Nov 2011, 19:46
por zyxer
:bravo: Excelente!!! muchas gracias, DTB.

Funciona excelentemente, el hecho de que hablaste de que eso es casi crear un nuevo MOD me dio la idea de que también se pueda se puedan subir las imágenes desde el ACP y así el MOD estaría completo. Pero lo digo sólo para si tú (o alguien más) quiere tomarse la idea, si lo hicieran me encantaría pero no es una petición formal. Muchas Gracias, la modificación funciona correctamente.

P.D.: si alguien lo realiza, por favor avisarme.