[tutorial-Tip] Fondo de pagina para cada usuario

Started by Dhayzon, May 12, 2014, 11:08:35 PM

Previous topic - Next topic

Dhayzon

fondo de pagina para cada usuario - smf
Bueno este tip es para  que cada usuario pueda elegir su propia imagen de fondo  en toda la pagina
al final hay demos
comencemos el tutorial 

-->  Como primer paso  crearemos un nuevo campo personalizado  desde nuestra administración  nos vamos  a :



--> activamos los Campos Avanzados del Perfil  y guardamos


-->  ahora crearemos un nuevo campo sabiendo q estamos en
Centro de Administración SMF » Características y Opciones » Campos del Perfil



--> Ahora rellenaremos los campos de la siguiente forma

--> Nombre: Background
--> Descripción: Introduce  url del fondo de la pagina
--> Sección del Perfil: perfil del foro
--> Mostrar en la página de registro: no (esto es opcional)
--> Mostrar en los Temas: lo dejamos tal cual (desactivado)
--> Elegir colocación: Estándar
--> Mostrar incrustado en el texto (opcional):lo dejamos en blanco
--> Tipo de Campo: Texto
--> Longitud Máxima: 255(puedes elejir)
--> Permitir BBC : no(desactivado)
--> Máscara de Introducción:Expresión regular (avanzado)
y colocamos en el campo que nos aparecerá

Quote([^\s]+(\.(?i)(jpg|png|gif|bmp))$)

--> Privacidad: por defecto
--> Se puede buscar: no (esto es opcional)
--> Activo:si 


--> ahora nos vamos a configurar el perfil como ven ya tenemos el capo personalizado, ya podemos poner una url , bien pero no pasara nada  ..pasemos al segundo paso





-->  ahora trabajaremos con el index.template.php de tu theme ..este tip esta basado en el thema por defecto

buscamos:
echo '
</head>
<body>';
}


agregamos antes :


$id = $context['user']['id'];
loadMemberData(array($id));
global $user_profile;

if (!isset($options['cust_backgr'])){
//cuando el campo este vacio se mostrara este fondo -- usuario

echo'<style>body{
background:url(' . $settings['images_url'] . '/default-cover.jpg);
}</style>';


}elseif (!empty($options['cust_backgr'])){


$cover = $user_profile[$id]['options']['cust_backgr'];

}
else{

// fondo para los visitantes
echo'<style>body{
background:url(' . $settings['images_url'] . '/default-cover-logged.jpg);
}</style>';
}



Luego sigue

dentro de la etiqueta <body> colocar

Quote',empty($cover) ?'' : 'style="background:url('.$cover.') no-repeat center center fixed; "' ,'

quedaría mas o menos así

<body  ',empty($cover) ?'' : 'style="background:url('.$cover.') no-repeat center center fixed; "' ,'>


y listo ya quedo todo

me olvidaba

sube los fondos por defecto a tu carpeta images de tu theme
default-cover-logged.jpg y default-cover.jpg   
demos

demo en el tema default

http://pokeheart.com/smftest/
demo en un tema personalizado
http://pokeheart.com/

datos:

user:demo
pass:123456789



Patrick D

No entiendo de donde sale la variable cust_background

Dhayzon

Quote from: Patrick D on May 14, 2014, 02:44:19 PM
No entiendo de donde sale la variable cust_background

no es cust_background  es  cust_backgr   smf  por defecto toma las 6 primeras letras del titulo q se coloca  al momento de crear un nuevo campo de perfil

lo q se esta haciendo básicamente es  solo llamar   la información de un campo personalizado solo eso


saludos

Aportadordelmix


Norvidge

Me ha encantado este tutorial, es brutal! Simplemente he tenido que trastear un poquito para poder mezclar este script con el de fondo rotatorio, por lo que cuando pones tu fondo se queda tu fondo y cuando no pones fondo van rotando diferentes fondos default.

saludos y gracias!

vicram10


Advertisement: