Jump to content

[Resolu] CDN et multiboutique


Recommended Posts

Bonjour,

 

J'utilise un CDN (MAX CDN) et Prestashop 1.5.4 en multiboutique sur deux nom de domaine distincte, hors la configuration d'un CDN par Domaine n'est pas possible. De meme si on souhaite pas utiliser de CDN pour l'ensemble des boutiques hébergés par le multiboutique.

 

Le problème viens du fait que les 3 lignes de configuration du fichier config/seting.inc.php partagent les meme CDN pour tous les domaines. Il y a t-il une astuce pour mettre un autre CDN pour mon 2eme domaine ?

 

Bien cordialement, 

Edited by SPKF (see edit history)
Link to comment
Share on other sites

J'ai donc écrit un Hack pour contourner ce problème. 

 

Dans config/settings.inc.php

 

Vous ajoutez : 

 

// + HACK 
define('_MEDIA_SERVER_1_x', 'cdn1.domain.tld');
define('_MEDIA_SERVER_2_x', 'cdn2.domain.tld');
define('_MEDIA_SERVER_3_x', 'cdn3.domain.tld');
// + HACK 

 

Remplacez le x par l'ID de votre boutique.

 

Ajouter ce hack pour autant de boutique et de CDN que vous possedez;

 

Dans /override/classes/tools.php

 

ajoutez ceci : 

protected static $_cache_nb_media_servers = null;

	public static function getMediaServer($filename)
	{
	// + HACK
	$you=Context::getContext()->shop->id;
	// + HACK

		if (self::$_cache_nb_media_servers === null)
		{
			if (_MEDIA_SERVER_1_ == '')
				self::$_cache_nb_media_servers = 0;
			elseif (_MEDIA_SERVER_2_ == '')
				self::$_cache_nb_media_servers = 1;
			elseif (_MEDIA_SERVER_3_ == '')
				self::$_cache_nb_media_servers = 2;
			else
				self::$_cache_nb_media_servers = 3;
		}
       
		if (self::$_cache_nb_media_servers && ($id_media_server = (abs(crc32($filename)) % self::$_cache_nb_media_servers + 1)))
			// + HACK
			return constant('_MEDIA_SERVER_'.$id_media_server.'_'.$you);
			// + HACK

		return Tools::getHttpHost();
	}

et voila c'est harcodé mais vous avez 3 CDN pour chaque domain.tld dans votre multiboutique ! 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...