Jump to content

Redimensionner LOGO header


Recommended Posts

Bonjour,

 

Je suis en 1.6.0.9 et j'ai évidemment fait des recherches avant de faire ce post...

Sur mon theme, je veut avoir dans le header un grand logo de 805x191 pixels...

 

Jai changé le code du header.tpl dans mon theme, ligne 89:

 

<img class="logo" src="{$logo_url}" alt="{$shop_name|escape:'html':'UTF-8'}"{if $logo_image_width} width="{$logo_image_width}"{/if}{if $logo_image_height} height="{$logo_image_height}"{/if}/>

 

par

 

<img class="logo" src="{$logo_url}" alt="{$shop_name|escape:'html':'UTF-8'}"{if $logo_image_width} width="805"{/if}{if $logo_image_height} height="191"{/if}/>

 

 

Je désactivé le cache et le smarty, bref, mon logo reste tout petit !

 

J'ai regardé dans la base de donnée et dans la table configuration je vois LOGO avec la taille d'origine alors...

 

merci de donner la recette... si vous l'avez !

 

Link to comment
Share on other sites

Bonjour,

 

As-tu essayé :

<img class="logo" src="{$logo_url}" alt="{$shop_name|escape:'html':'UTF-8'}">

Puis de préciser la taille du logo directement dans tes fichiers CSS ?

 

Bonjour,

 

merci d'avoir répondu.

J'ai parcouru le fichier global.css mais j'avoue que je n'ai pas trouvé où il faut modifier,

si c'est bien le global.css

Je ne maitrise pas le css, le global.css étant très long... si tu pouvais avoir la gentillesse de m'indiquer la ligne !

merci beaucoup

 

REPONSE: en ligne 6892 du GLOBAL.CSS de votre theme, il suffit d'ajouter:

 width:123px;

 height:123px;

soit la largeur et  la hauteur de votre logo

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

Intéressant ce post.

 

Avant de vouloir modifier les fichiers à tort et à travers, je me suis posé la question où étaient définies ces dimensions $logo_image_width et $logo_image_height ?

Elles sont envoyées depuis le FrontController:

return array(
 				'favicon_url' => _PS_IMG_.Configuration::get('PS_FAVICON'),
	            'logo_image_width' => ($mobile_device == false ? Configuration::get('SHOP_LOGO_WIDTH') : Configuration::get('SHOP_LOGO_MOBILE_WIDTH')),
	            'logo_image_height' => ($mobile_device == false ? Configuration::get('SHOP_LOGO_HEIGHT') : Configuration::get('SHOP_LOGO_MOBILE_HEIGHT')),
	            'logo_url' => $logo
  				);

Donc stockées en base de données ps_configuration.

Elles sont saisies lors de l'installation de la boutique (pendant le processus d'install) 350 et 99 respectivement (pour la 1.6), pour le thème par défaut en récupérant la taille du logo stocké:

		// Set logo configuration
		if (file_exists(_PS_IMG_DIR_.'logo.jpg'))
		{
			list($width, $height) = getimagesize(_PS_IMG_DIR_.'logo.jpg');
			Configuration::updateGlobalValue('SHOP_LOGO_WIDTH', round($width));
			Configuration::updateGlobalValue('SHOP_LOGO_HEIGHT', round($height));
		}

Pendant l'install, une requete de mise à jour en rajoute une couche:

list($width, $height, $type, $attr) = getimagesize(realpath(INSTALL_PATH.'/../img').'/'.$logo_name);
		Db::getInstance()->execute('UPDATE `'._DB_PREFIX_.'configuration` SET value = "'.(int)round($width).'" WHERE `name` LIKE \'SHOP_LOGO_WIDTH\'');
		Db::getInstance()->execute('UPDATE `'._DB_PREFIX_.'configuration` SET value = "'.(int)round($height).'" WHERE `name` LIKE \'SHOP_LOGO_HEIGHT\'');

Ah mais c'est vrai que la lecture du fichier install/data/theme.sql exécuté par la suite, en rajoute une couche:

UPDATE `PREFIX_configuration` SET value = '350' WHERE name = 'SHOP_LOGO_WIDTH';
UPDATE `PREFIX_configuration` SET value = '99' WHERE name = 'SHOP_LOGO_HEIGHT';

par la suite on met tout ça à jour dans AdminThemeController:

			if (Configuration::hasKey('PS_LOGO') && trim(Configuration::get('PS_LOGO')) != ''
				&& file_exists(_PS_IMG_DIR_.Configuration::get('PS_LOGO')) && filesize(_PS_IMG_DIR_.Configuration::get('PS_LOGO')))
			{
				list($width, $height, $type, $attr) = getimagesize(_PS_IMG_DIR_.Configuration::get('PS_LOGO'));
				Configuration::updateValue('SHOP_LOGO_HEIGHT', (int)round($height));
				Configuration::updateValue('SHOP_LOGO_WIDTH', (int)round($width));
			}

Qui peut aussi être mis à jour depuis le webservice (fantastique, non ?)

			case 'PUT':

				if ($this->writePostedImageOnDisk($path, null, null))
				{
					if ($this->wsObject->urlSegment[2] == 'header')
					{
						$logo_name = Configuration::get('PS_LOGO') ? Configuration::get('PS_LOGO') : 'logo.jpg';
						list($width, $height, $type, $attr) = getimagesize(_PS_IMG_DIR_.$logo_name);
						Configuration::updateValue('SHOP_LOGO_WIDTH', (int)round($width));
						Configuration::updateValue('SHOP_LOGO_HEIGHT', (int)round($height));
					}
					$this->imgToDisplay = $path;
					return true;
				}

Je ne sais pas vous, mais moi je trouve qu'il y a de la redite sur ce coup là...

 

Enfin, pour en revenir à la question 1ère, si tu charges ton image de logo depuis le back office (et non pas directement dans le ftp) les nouvelles dimensions (celles du l'image chargée) doivent être prises en compte et l'affichage doit suivre en FO. 

Bien sûr tout cela ne fonctionne que si les caches ont été vidés (smarty et navigateur)

 

Bonne soirée

 

PS:  comme quoi les gars de Presta sont forts ou comment réécrire de 6 manières différentes la même fonction...

Edited by Eolia (see edit history)
  • Like 6
Link to comment
Share on other sites

  • 10 months later...

Bonjour,

 

Voici ce que j'ai trouvé :

 

Redimensionner le logo 

Ouvrez le fichier global.css de votre thème. Vers la ligne 703

  .col-sm-4, header .row #header_logo {

    width: 33.33333%; }

Cela indique à la "boite logo" de se comporter comme une .col-sm-4 avec 33.33% de largeur nous allons lui demander de se comporter comme une .col-sm-8 avec 66.66% de largeur en déplacant header .row #header_logo jusqu'à la .col-sm-8

Remplacez

  .col-sm-4, header .row #header_logo {

    width: 33.33333%; }

par

  .col-sm-4 {

    width: 33.33333%; }

et quelques lignes plus bas remplacez

  .col-sm-8 {

    width: 66.66667%; }

par

  .col-sm-8, header .row #header_logo{

    width: 66.66667%; }

Votre logo prendra 2/3 de la largeur

 

Cordialement,

 

Claude

Link to comment
Share on other sites

  • 1 year later...

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...