Jump to content

Ayuda Cambio De Fondo Segun Resolucion De Usuario


Recommended Posts

Buenas tengo este scrip parte modificado por mi y en funcionamiento en phpbb , pero quisiera portarlo a prestashop . Hay gente que navega con resoluciones bajas y otros con resoluciones altas .

Esto en teoria va despues de "<head>" :

[removed]
   function array_search (needle, haystack, argStrict) {
       var strict = !!argStrict;
       var key = '';

       for (key in haystack) {
           if ((strict && haystack[key] === needle) || (!strict && haystack[key] == needle)) {
               return key;
           }
       }
        return false;
   }

   function changeBackground() {
       //Creamos el array
       var myBackgrounds = new Array(4);

       /**
        * Ahora agregamos las imagenes, pero ahora será de forma diferente,
        * forzosamente el nombre de la imagen será el tamaño de esta, ejemplo:
        * 1024.jgp
        * 1280.jpg
        * 1440.jpg
        *
        * También cambiara el nombre de la imagen por default si no existe una
        * imagen para la resolución del usuario la cual será default.jpg
        *
        * Al final quedaria
        * default.jpg
        * 1024.jgp
        * 1280.jpg
        * 1440.jpg
        */
       myBackgrounds[0] = 'default.png';
       myBackgrounds[1] = '1024.png';
       myBackgrounds[2] = '1280.png';
       myBackgrounds[3] = '800.png';

       //Obtenemos el ancho de la ventana
       var ancho = screen.width + '.png';
       //Indicamos la carpeta donde se guardan las imagenes
       var carpeta_imagenes = '/templates/floreal/images'; //el '.' (punto) indica que se encuentran en la misma carpeta que el archivo html
       //Creamos la variable donde se guardará el nombre de la imagen a cargar
       var imageBackground = '';
       //Buscamos si existe una imagen para la resolución del usuario
       var isHere = array_search(ancho,myBackgrounds);

       //Verificamos si se encontro o no una imagen
       if (typeof(isHere) != 'boolean') {
           //Si se encontro obtenemos el nombre de la imagen
           imageBackground = myBackgrounds[isHere];
       }else {
           //Si no se encontro cargamos la imagen por defecto
           imageBackground = myBackgrounds[0];
       }

       //Cargamos la imagen al body...
       document.body.style.backgroundImage= "url("+ carpeta_imagenes + '/' + imageBackground +")";
   }
[removed]  



Despues buscar : <body> y reemplazar por :

<body>



Podria adaptarse a prestashop ? He estado mirando el css y el header.php pero no lo consigo . Una ayudita no vendria mal xD

Edit : Por lo que veo me corrige los codigos pero no lo entiendo . Como hago para pedir ayuda en este caso ?

Link to comment
Share on other sites

  • 5 months later...

Buenas tengo este scrip parte modificado por mi y en funcionamiento en phpbb , pero quisiera portarlo a prestashop . Hay gente que navega con resoluciones bajas y otros con resoluciones altas .

Esto en teoria va despues de "<head>" :

[removed]
function array_search (needle, haystack, argStrict) {
	var strict = !!argStrict;
	var key = '';
	for (key in haystack) {
		if ((strict && haystack[key] === needle) || (!strict && haystack[key] == needle)) {
			return key;
		}
	}
	 return false;
}
function changeBackground() {
	//Creamos el array
	var myBackgrounds = new Array(4);
	/**
	 * Ahora agregamos las imagenes, pero ahora será de forma diferente,
	 * forzosamente el nombre de la imagen será el tamaño de esta, ejemplo:
	 * 1024.jgp
	 * 1280.jpg
	 * 1440.jpg
	 *
	 * También cambiara el nombre de la imagen por default si no existe una
	 * imagen para la resolución del usuario la cual será default.jpg
	 *
	 * Al final quedaria
	 * default.jpg
	 * 1024.jgp
	 * 1280.jpg
	 * 1440.jpg
	 */
	myBackgrounds[0] = 'default.png';
	myBackgrounds[1] = '1024.png';
	myBackgrounds[2] = '1280.png';
	myBackgrounds[3] = '800.png';
	//Obtenemos el ancho de la ventana
	var ancho = screen.width + '.png';
	//Indicamos la carpeta donde se guardan las imagenes
	var carpeta_imagenes = '/templates/floreal/images'; //el '.' (punto) indica que se encuentran en la misma carpeta que el archivo html
	//Creamos la variable donde se guardará el nombre de la imagen a cargar
	var imageBackground = '';
	//Buscamos si existe una imagen para la resolución del usuario
	var isHere = array_search(ancho,myBackgrounds);
	//Verificamos si se encontro o no una imagen
	if (typeof(isHere) != 'boolean') {
		//Si se encontro obtenemos el nombre de la imagen
		imageBackground = myBackgrounds[isHere];
	}else {
		//Si no se encontro cargamos la imagen por defecto
		imageBackground = myBackgrounds[0];
	}
	//Cargamos la imagen al body...
	document.body.style.backgroundImage= "url("+ carpeta_imagenes + '/' + imageBackground +")";
}
[removed]  

Despues buscar : <body> y reemplazar por :

<body>

Podria adaptarse a prestashop ? He estado mirando el css y el header.php pero no lo consigo . Una ayudita no vendria mal xD

Edit : Por lo que veo me corrige los codigos pero no lo entiendo . Como hago para pedir ayuda en este caso ?

Hola Compi:

 

Yo estoy buscando lo mismo..Llevo varios días y nada. Quizás no se pueda hacer.

En fin, si tu supiste como, te importa compartir?

Gracias.

Salu2

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...