Page 1 sur 1

unifier la taille des photos dans l'article

Posté : ven. 20 mai 2011 22:49
par ahppv
toujours moi !

les photos sont retaillées à la meme dimension dans la liste des articles mais comment avoir la même fonction pour la fiche détaillée ?
je suis peut être un peu trop exigeante ?

merci pour le temps que tu nous consacres

corinne

Re: unifier la taille des photos dans l'article

Posté : mar. 24 mai 2011 23:34
par steevo
Non non pas trop exigeante. Il est vrai que ce serait beaucoup mieux.
Je vais voir s'il n'y a pas un moyen rapide de le faire. Si c'est le cas, je fournirai ici la solution. Sinon il faudra attendre une future version.

Re: unifier la taille des photos dans l'article

Posté : mer. 25 mai 2011 18:44
par steevo
Voici un petit hack en attendant une vraie gestion propre.
Je reprend juste le principe de la page listing.
Donc la taille s'appliquera à toutes les images. Il sera pour le moment impossible de spécifier une taille par image.

Dans le fichier views/item/view.html.php remplacer vers la ligne 481 :

Code : Tout sélectionner

case 5 : // champ image
				$imageInfos = explode('|',$this->item->$name_field);
				$imageUrl = $imageInfos[0];
				$imagePath = implode(DS,explode('/',$imageUrl));
				$imageName = JFile::getName(JPATH_SITE.DS.$imagePath);
				$imageDesc = $imageInfos[1] ? $imageInfos[1] : $imageName;
				$imageTitle = $imageInfos[2] ? $imageInfos[2] : $imageName;
				if ($this->item->$name_field == '')
				{
					// image de substitution
					$image=JPATH_SITE.DS.'components'.DS.'com_collector'.DS.'assets'.DS.'images'.DS.'camera.png'; // adresse de l'image
					$URLimage='./components/com_collector/assets/images/camera.png'; // adresse de l'image
				}
				else
				{
					$image=JPATH_SITE.DS.$imageInfos[0]; // adresse de l'image
					if (!file_exists($image)) {
						$image=JPATH_SITE.DS.'components'.DS.'com_collector'.DS.'assets'.DS.'images'.DS.'camera.png'; // adresse de l'image
						$URLimage='./components/com_collector/assets/images/camera.png'; // adresse de l'image
					} else {
						$URLimage='./'.$imageInfos[0]; // adresse de l'image
					}
				}

				return '<img alt="'.$imageDesc.'" title="'.$imageTitle.'" src="'.$URLimage.'" name="preview" />';
par

Code : Tout sélectionner

case 5 : // champ image
				$largeurmax = 400;
				$hauteurmax = 300;
				$imageInfos = explode('|',$this->item->$name_field);
				$imageUrl = $imageInfos[0];
				$imagePath = implode(DS,explode('/',$imageUrl));
				$imageName = JFile::getName(JPATH_SITE.DS.$imagePath);
				$imageDesc = $imageInfos[1] ? $imageInfos[1] : $imageName;
				$imageTitle = $imageInfos[2] ? $imageInfos[2] : $imageName;
				if ($this->item->$name_field == '')
				{
					// image de substitution
					$image=JPATH_SITE.DS.'components'.DS.'com_collector'.DS.'assets'.DS.'images'.DS.'camera.png'; // adresse de l'image
					$URLimage='./components/com_collector/assets/images/camera.png'; // adresse de l'image
				}
				else
				{
					$image=JPATH_SITE.DS.$imageInfos[0]; // adresse de l'image
					if (!file_exists($image)) {
						$image=JPATH_SITE.DS.'components'.DS.'com_collector'.DS.'assets'.DS.'images'.DS.'camera.png'; // adresse de l'image
						$URLimage='./components/com_collector/assets/images/camera.png'; // adresse de l'image
					} else {
						$URLimage='./'.$imageInfos[0]; // adresse de l'image
					}
				}

				$taille=getimagesize($image);
				$largeur=$taille[0];
				$hauteur=$taille[1];

				if ( ($hauteur/$hauteurmax) < ($largeur/$largeurmax) )
				{
					if ($largeur < $largeurmax)
					{
						$size= ' width="'.$largeur.'"';
					}
					else
					{
						$size= ' width="'.$largeurmax.'"';
					}
				}
				else
				{
					if ($hauteur < $hauteurmax)
					{
						$size= ' height="'.$hauteur.'"';
					}
					else
					{
						$size= ' height="'.$hauteurmax.'"';
					}
				}

				return '<img alt="'.$imageDesc.'" title="'.$imageTitle.'" src="'.$URLimage.'"  '.$size.' name="preview" />';
Au début du code, il faut modifier les valeurs

Code : Tout sélectionner

$largeurmax = 400;
$hauteurmax = 300;
afin de correspondre à ce que vous souhaitez.

Re: unifier la taille des photos dans l'article

Posté : ven. 27 mai 2011 11:44
par ahppv
bonjour

toujours aussi rapide et efficace !
merci !

Re: unifier la taille des photos dans l'article

Posté : dim. 29 déc. 2013 17:52
par dirk66
Sadly this only works with joomla 1.5
I would really want a solution for this for joomla 2

Re: unifier la taille des photos dans l'article

Posté : mer. 8 janv. 2014 23:20
par steevo
dirk66 a écrit :Sadly this only works with joomla 1.5
I would really want a solution for this for joomla 2
Hi,
I think that it's the same but the line is 535 instead of 481

Re: unifier la taille des photos dans l'article

Posté : ven. 10 janv. 2014 10:02
par dirk66
No, because this code is only executed for joomla 1.5, because it is in the nesting that starts on line 24 with :

if(version_compare(JVERSION,'1.6.0','<')){
//Code pour Joomla! 1.5

and end on line 642

Re: unifier la taille des photos dans l'article

Posté : ven. 10 janv. 2014 11:35
par steevo
You're right !

You have to modify /administrator/components/com_collector/classes/field/image/field.image.php

at the line 135

Code : Tout sélectionner

echo '<img alt="'.$imageDesc.'" title="'.$imageTitle.'" align="middle" border="1" src="'.$URLimage.'" />';
you just add your height and width values :

Code : Tout sélectionner

echo '<img alt="'.$imageDesc.'" title="'.$imageTitle.'" align="middle" border="1" src="'.$URLimage.'" height="?????px" width="??????px" />';