Forums de la communauté francophone du CMS TYPO3: [tt_news] Comment Modifier La Taille De L'image - Forums de la communauté francophone du CMS TYPO3

Aller au contenu

  • (2 Pages)
  • +
  • 1
  • 2
  • Vous ne pouvez pas commencer un sujet
  • Vous ne pouvez pas répondre à ce sujet

[tt_news] Comment Modifier La Taille De L'image Taille différente selon le mode

#1 L'utilisateur est hors-ligne   uspy62 

  • Membre
  • PipPipPip
  • Groupe : Membres
  • Messages : 199
  • Inscrit(e) : 03-avril 08

Posté 10 mai 2008 à 13:54

Salut tout le monde, j'ai un petit soucis avec l'extension tt_news, quand j'ajoute une photo de grande taille, je veux la voir en taille réelle en mode single et en taille miniature en mode latest.
Or en mode single je vois bien la photo en taille réelle mais en mode latest je ne vois pas la photo en miniature.
Y'a t il un moyen de supprimer les options width et height dans la balise <img> généré par tt_news, car avec ce moyen je pourrais appliquer mes classes css à l'image et mon problème sera réglé.
Merci d'avance pour vos réponses.
0

#2 L'utilisateur est hors-ligne   yolf 

  • Pilier du forum
  • PipPipPipPipPipPipPip
  • Groupe : Modérateur
  • Messages : 1296
  • Inscrit(e) : 04-août 04

Posté 10 mai 2008 à 15:30

http://typo3.org/documentation/document-li.../1/7/#id3857717

Lire la partie "News Images"
0

#3 L'utilisateur est hors-ligne   uspy62 

  • Membre
  • PipPipPip
  • Groupe : Membres
  • Messages : 199
  • Inscrit(e) : 03-avril 08

Posté 10 mai 2008 à 15:57

Voir le messageyolf, le 10/05/2008, 16:28, dit :



Ok merci bien ça fonctionne maintenant, par contre est-ce que ça fonctionne sans ImageMagick ?
Parce que quand je vais passer typo3 sur le distant j'ai pas forcément envie d'avoir un exe sur mon serveur ...
Enfin au pire je me renseignerai pour protéger tout ça, mais si ImageMagick n'est pas indispensable, ça me convient aussi.
0

#4 L'utilisateur est hors-ligne   uspy62 

  • Membre
  • PipPipPip
  • Groupe : Membres
  • Messages : 199
  • Inscrit(e) : 03-avril 08

Posté 10 mai 2008 à 16:04

Par contre les miniatures s'affichent désormais correctement mais je veux quelque soit la taille de la photo taille réelle que mes miniatures fassent 150*90.
J'ai donc mis ceci dans le setup de ma template :
# SINGLE news
displaySingle {
title_stdWrap.wrap = |
imageWrapIfAny = |
image.imageLinkWrap=0
image.file.maxW=550
image.file.maxH=200
}
# LATEST news{
displayLatest {
subheader_stdWrap.crop = 369 | ...
subheader_stdWrap.ifEmpty.field = bodytext
imageWrapIfAny = |
image.file.maxW=150
image.file.maxH=90
}

Mais mes miniatures sont de tailles aléatoires, j'ai l'impression qu'elles varient en fonction de la taille de l'image réelle.
Plus l'image est grande plus la miniature est grande.
0

#5 L'utilisateur est hors-ligne   uspy62 

  • Membre
  • PipPipPip
  • Groupe : Membres
  • Messages : 199
  • Inscrit(e) : 03-avril 08

Posté 10 mai 2008 à 16:24

En fait on dirait qu'il veut respecter les proportions ... Y a t-il un moyen d'enlever ceci ?
0

#6 L'utilisateur est hors-ligne   yolf 

  • Pilier du forum
  • PipPipPipPipPipPipPip
  • Groupe : Modérateur
  • Messages : 1296
  • Inscrit(e) : 04-août 04

Posté 10 mai 2008 à 19:59

Dans le lien que je t'ai indiqué, comme souvent dans les documentations concernant les configurations, il y a plusieurs colonnes.
La colonne "Data type" est très importante car elle indique, dans la TSREF, les attributs que tu vas pouvoir utiliser. Ainsi dans la colonne associée à "image", l'indication "->imgResource" fait référence à une section de la TSREF : http://typo3.org/documentation/document-li...4.1.0/view/5/2/

L'utilisation correcte de width et height devrait faire ton bonheur.
0

#7 L'utilisateur est hors-ligne   uspy62 

  • Membre
  • PipPipPip
  • Groupe : Membres
  • Messages : 199
  • Inscrit(e) : 03-avril 08

Posté 11 mai 2008 à 08:26

Voir le messageyolf, le 10/05/2008, 20:57, dit :

Dans le lien que je t'ai indiqué, comme souvent dans les documentations concernant les configurations, il y a plusieurs colonnes.
La colonne "Data type" est très importante car elle indique, dans la TSREF, les attributs que tu vas pouvoir utiliser. Ainsi dans la colonne associée à "image", l'indication "->imgResource" fait référence à une section de la TSREF : http://typo3.org/documentation/document-li...4.1.0/view/5/2/

L'utilisation correcte de width et height devrait faire ton bonheur.


Merci yolf, j'avais essayé de mettre :
file.width=150
file.height=90
Mais ça n'a rien changé ...
Mais je vais lire cette doc un peu plus sérieusement, merci pour ton aide.
0

#8 L'utilisateur est hors-ligne   yolf 

  • Pilier du forum
  • PipPipPipPipPipPipPip
  • Groupe : Modérateur
  • Messages : 1296
  • Inscrit(e) : 04-août 04

Posté 11 mai 2008 à 08:55

Je crois qu'en combinant les deux attributs cela devrait fonctionner

plugin.tt_news.displayLatest.image.file.width = 150
plugin.tt_news.displayLatest.image.file.height = 90
plugin.tt_news.displayLatest.image.file.maxW = 150
plugin.tt_news.displayLatest.image.file.maxH = 90
0

#9 L'utilisateur est hors-ligne   Laogan 

  • Super Membre
  • PipPipPipPipPipPip
  • Groupe : Administrateur
  • Messages : 942
  • Inscrit(e) : 28-juillet 05

Posté 11 mai 2008 à 08:57

Salut!
J'ai bien peur que pour arriver au résultat souhaité, tu n'ai besoin de surcharger tt_news...
Je m'explique, tt_news fonctionne avec les maxHeight et maxWidth, de manière à limiter la taille des images en hauteur et largeur, mais il conserve bien entendu les proportions pour que l'affichage soit plus agréable qu'une image à taille fixe déformée.
Je ne pense pas que dans le code de tt_news il ait été prévu d'avoir une largeur et une hauteur fixe (d'après ce que je vois dans le code), je pense donc qu'il va falloir surcharger tt_news pour modifier le code de cette fonction :

function getImageMarkers($markerArray, $row, $lConf, $textRenderObj) {
		// overwrite image sizes from TS with the values from the content-element if they exist.
		if ($this->config['FFimgH'] || $this->config['FFimgW']) {
			$lConf['image.']['file.']['maxW'] = $this->config['FFimgW'];
			$lConf['image.']['file.']['maxH'] = $this->config['FFimgH'];
		}

		if ($this->conf['imageMarkerFunc']) {
			$markerArray = $this->userProcess('imageMarkerFunc', array($markerArray, $lConf));
		} else {
			$imageNum = isset($lConf['imageCount']) ? $lConf['imageCount']:1;
			$imageNum = t3lib_div::intInRange($imageNum, 0, 100);
			$theImgCode = '';
			$imgs = t3lib_div::trimExplode(',', $row['image'], 1);
			$imgsCaptions = explode(chr(10), $row['imagecaption']);
			$imgsAltTexts = explode(chr(10), $row['imagealttext']);
			$imgsTitleTexts = explode(chr(10), $row['imagetitletext']);

			reset($imgs);

			$cc = 0;
			// remove first img from the image array in single view if the TSvar firstImageIsPreview is set
			if ((	(count($imgs) > 1 && $this->config['firstImageIsPreview'])
					||
					(count($imgs) >= 1 && $this->config['forceFirstImageIsPreview'])
				) && $textRenderObj == 'displaySingle') {
				array_shift($imgs);
				array_shift($imgsCaptions);
				array_shift($imgsAltTexts);
				array_shift($imgsTitleTexts);
			}
			// get img array parts for single view pages
			if ($this->piVars[$this->config['singleViewPointerName']]) {
				$spage = $this->piVars[$this->config['singleViewPointerName']];
				$astart = $imageNum*$spage;
				$imgs = array_slice($imgs,$astart,$imageNum);
				$imgsCaptions = array_slice($imgsCaptions,$astart,$imageNum);
				$imgsAltTexts = array_slice($imgsAltTexts,$astart,$imageNum);
				$imgsTitleTexts = array_slice($imgsTitleTexts,$astart,$imageNum);
			}

			while (list(, $val) = each($imgs)) {
				if ($cc == $imageNum) break;
				if ($val) {

					$lConf['image.']['altText'] = $imgsAltTexts[$cc];
					$lConf['image.']['titleText'] = $imgsTitleTexts[$cc];
					$lConf['image.']['file'] = 'uploads/pics/' . $val;
				}
				$theImgCode .= $this->local_cObj->IMAGE($lConf['image.']) . $this->local_cObj->stdWrap($imgsCaptions[$cc], $lConf['caption_stdWrap.']);
				$cc++;
			}
			$markerArray['###NEWS_IMAGE###'] = '';
			if ($cc) {
				$markerArray['###NEWS_IMAGE###'] = $this->local_cObj->wrap(trim($theImgCode), $lConf['imageWrapIfAny']);
			} else {
				$markerArray['###NEWS_IMAGE###'] = $this->local_cObj->stdWrap($markerArray['###NEWS_IMAGE###'],$lConf['image.']['noImage_stdWrap.']);
			}
		}
		return $markerArray;
	}

0

#10 L'utilisateur est hors-ligne   yolf 

  • Pilier du forum
  • PipPipPipPipPipPipPip
  • Groupe : Modérateur
  • Messages : 1296
  • Inscrit(e) : 04-août 04

Posté 11 mai 2008 à 10:02

Le traitement de l'image est fait dans l'appel de $this->local_cObj->IMAGE de la classe tslib_cObj.
Tout dépend de la configuration. Sauf erreur de ma part, si imagemagick n'est pas activé alors quels que soient les paramètres de configuration c'est la taille originale de l'image qui est utilisée dans les attributs de la balise img.
Si imagemagick est utilisé, on peut "jouer" avec les attributs. Par contre le résultat n'est pas toujours "joli".

Ce message a été modifié par yolf - 11 mai 2008 à 10:10.

0

#11 L'utilisateur est hors-ligne   yolf 

  • Pilier du forum
  • PipPipPipPipPipPipPip
  • Groupe : Modérateur
  • Messages : 1296
  • Inscrit(e) : 04-août 04

Posté 11 mai 2008 à 10:48

Je viens de vérifier dans la classe t3lib_stdGraphic, la méthode imageMagickConvert qui est utilisée dans les appels de la méthode IMAGE retourne bien la taille originale si
$TYPO3_CONF_VARS['GFX']['im'] = 0; dans le fichier localconf.php (c'est cela qui positionne $this->NO_IMAGE_MAGICK dans imageMagickConvert).

Donc, si imagemagick n'est pas installé mais que $TYPO3_CONF_VARS['GFX']['im'] = 1; les attributs de la balise img dépendent de la combinaison de .height, .width, .maxW et .maxH. C'est la méthode getImageScale qui se charge de cela. En mettant les même valeurs pour .height et .maxH ainsi que pour .width, .maxW, cela force les attributs de la balise IMG à prendre ces valeurs.
0

#12 L'utilisateur est hors-ligne   Laogan 

  • Super Membre
  • PipPipPipPipPipPip
  • Groupe : Administrateur
  • Messages : 942
  • Inscrit(e) : 28-juillet 05

Posté 11 mai 2008 à 12:22

Oui mais désactiver imagemagick c'est quand meme pas top :s...
Qui plus est si j'ai bien compris son besoin, il faut avoir une taille fixe pour les images, et ce même si les images de départ ont des tailles différentes, donc pour faire ça il faut retraiter les images...
0

#13 L'utilisateur est hors-ligne   uspy62 

  • Membre
  • PipPipPip
  • Groupe : Membres
  • Messages : 199
  • Inscrit(e) : 03-avril 08

Posté 11 mai 2008 à 14:57

Oui extactement, mes images uploadées sont de tailles variables mais mes miniatures doivent quant à elles avoir une taille fixe de 150*90.
0

#14 L'utilisateur est hors-ligne   uspy62 

  • Membre
  • PipPipPip
  • Groupe : Membres
  • Messages : 199
  • Inscrit(e) : 03-avril 08

Posté 11 mai 2008 à 15:00

Mais sinon ne peut-on pas générer l'image de la news sans les options width et height comme je l'avais déjà demandé.
C'est à dire que tt_news générerait une balise <img src=""> sans les attributs width et height.
De cette manière en appliquant mon css je pourrais faire varier la taille de l'image ...
0

#15 L'utilisateur est hors-ligne   yolf 

  • Pilier du forum
  • PipPipPipPipPipPipPip
  • Groupe : Modérateur
  • Messages : 1296
  • Inscrit(e) : 04-août 04

Posté 11 mai 2008 à 15:52

Je ne comprends plus rien à ton problème. Si les attributs width et height de la balise IMG sont fixés à 150 et 90 l'image sera affichée à cette taille. As-tu essayé cette configuration
http://forum.typo3.fr/index.php?s=&sho...ost&p=52331

Ce message a été modifié par yolf - 11 mai 2008 à 15:52.

0

#16 L'utilisateur est hors-ligne   Laogan 

  • Super Membre
  • PipPipPipPipPipPip
  • Groupe : Administrateur
  • Messages : 942
  • Inscrit(e) : 28-juillet 05

Posté 11 mai 2008 à 15:54

ça ne marchera pas, seule solution que je vois, surcharge de tt_news...
0

#17 L'utilisateur est hors-ligne   yolf 

  • Pilier du forum
  • PipPipPipPipPipPipPip
  • Groupe : Modérateur
  • Messages : 1296
  • Inscrit(e) : 04-août 04

Posté 11 mai 2008 à 16:17

Tu me mets le doute, je ne vois pas pourquoi cela ne fonctionnerait pas.

echo '<img src="http://forum.typo3.fr/style_images/4_typo3Fr.gif" width="50" height="50">';
echo '<img src="http://forum.typo3.fr/style_images/orange_v2/p_up.gif" width="50" height="50">';

va bien engendrer des images à la dimension fixée par les attributs de la balise IMG. La qualité du rendu dépend bien sûr de la taille des images initiales.
0

#18 L'utilisateur est hors-ligne   Laogan 

  • Super Membre
  • PipPipPipPipPipPip
  • Groupe : Administrateur
  • Messages : 942
  • Inscrit(e) : 28-juillet 05

Posté 11 mai 2008 à 16:19

ha oui mais là c'est en dur dans le code html, c'est pas retraité par imagemagick, c'est ça qui me dérange un peu moi...
0

#19 L'utilisateur est hors-ligne   yolf 

  • Pilier du forum
  • PipPipPipPipPipPipPip
  • Groupe : Modérateur
  • Messages : 1296
  • Inscrit(e) : 04-août 04

Posté 11 mai 2008 à 16:38

Mais est-ce que le traitement par imagemagick est vraiment utile ?

Il me semble que les images engendrées par tt_news ont des attributs height et width "en dur" pour la balise IMG, quelle que soit la configuration. C'est dû à l'appel de la méthode IMAGE(). Par contre leur valeur dépend de la configuration.

La configuration que je propose devrait contraindre ces attributs à la taille voulue mais il y a peut-être un point qui m'échappe.
0

#20 L'utilisateur est hors-ligne   Laogan 

  • Super Membre
  • PipPipPipPipPipPip
  • Groupe : Administrateur
  • Messages : 942
  • Inscrit(e) : 28-juillet 05

Posté 11 mai 2008 à 16:44

Ha oui tu as raison, ça devrait fonctionner avec ton code, j'avais mal lu la fonction tt_news :s...
0

#21 L'utilisateur est hors-ligne   uspy62 

  • Membre
  • PipPipPip
  • Groupe : Membres
  • Messages : 199
  • Inscrit(e) : 03-avril 08

Posté 12 mai 2008 à 08:42

Voir le messageyolf, le 11/05/2008, 09:53, dit :

Je crois qu'en combinant les deux attributs cela devrait fonctionner

plugin.tt_news.displayLatest.image.file.width = 150
plugin.tt_news.displayLatest.image.file.height = 90
plugin.tt_news.displayLatest.image.file.maxW = 150
plugin.tt_news.displayLatest.image.file.maxH = 90


Merci yolf mais en combinant les deux attributs ça ne donne rien.
0

#22 L'utilisateur est hors-ligne   Laogan 

  • Super Membre
  • PipPipPipPipPipPip
  • Groupe : Administrateur
  • Messages : 942
  • Inscrit(e) : 28-juillet 05

Posté 12 mai 2008 à 08:44

Et tu as essayé juste comme ça :

plugin.tt_news.displayLatest.image.file.width = 150
plugin.tt_news.displayLatest.image.file.height = 90
0

#23 L'utilisateur est hors-ligne   uspy62 

  • Membre
  • PipPipPip
  • Groupe : Membres
  • Messages : 199
  • Inscrit(e) : 03-avril 08

Posté 12 mai 2008 à 09:01

Voir le messagesupertempete, le 12/05/2008, 09:42, dit :

Et tu as essayé juste comme ça :

plugin.tt_news.displayLatest.image.file.width = 150
plugin.tt_news.displayLatest.image.file.height = 90


Merci supertempete
Oui j'ai essayé mais il n'en tient pas compte, et l'image fait 60*40
0

#24 L'utilisateur est hors-ligne   yolf 

  • Pilier du forum
  • PipPipPipPipPipPipPip
  • Groupe : Modérateur
  • Messages : 1296
  • Inscrit(e) : 04-août 04

Posté 12 mai 2008 à 09:15

Voir le messageuspy62, le 12/05/2008, 09:40, dit :

Voir le messageyolf, le 11/05/2008, 09:53, dit :

Je crois qu'en combinant les deux attributs cela devrait fonctionner

plugin.tt_news.displayLatest.image.file.width = 150
plugin.tt_news.displayLatest.image.file.height = 90
plugin.tt_news.displayLatest.image.file.maxW = 150
plugin.tt_news.displayLatest.image.file.maxH = 90


Merci yolf mais en combinant les deux attributs ça ne donne rien.


Sur mon site de test cela fonctionne.
$TYPO3_CONF_VARS['GFX']['im'] = '1'; dans localconf.php (répertoire typo3conf)
Il faut aussi que tu vérifies que tu n'as pas mis de valeur pour Max width ... et Max height dans l'onglet Template du flexform du tt_news de ta page.
0

#25 L'utilisateur est hors-ligne   uspy62 

  • Membre
  • PipPipPip
  • Groupe : Membres
  • Messages : 199
  • Inscrit(e) : 03-avril 08

Posté 12 mai 2008 à 09:22

Voir le messageyolf, le 12/05/2008, 10:13, dit :

Voir le messageuspy62, le 12/05/2008, 09:40, dit :

Voir le messageyolf, le 11/05/2008, 09:53, dit :

Je crois qu'en combinant les deux attributs cela devrait fonctionner

plugin.tt_news.displayLatest.image.file.width = 150
plugin.tt_news.displayLatest.image.file.height = 90
plugin.tt_news.displayLatest.image.file.maxW = 150
plugin.tt_news.displayLatest.image.file.maxH = 90


Merci yolf mais en combinant les deux attributs ça ne donne rien.


Sur mon site de test cela fonctionne.
$TYPO3_CONF_VARS['GFX']['im'] = '1'; dans localconf.php (répertoire typo3conf)
Il faut aussi que tu vérifies que tu n'as pas mis de valeur pour Max width ... et Max height dans l'onglet Template du flexform du tt_news de ta page.


:P:):):) Merci Yolf j'avais zappé la ligne $TYPO3_CONF_VARS['GFX']['im'] = '1';
Ca fonctionne maintenant.
Merci beaucoup Yolf.
0

Partager ce sujet :


  • (2 Pages)
  • +
  • 1
  • 2
  • Vous ne pouvez pas commencer un sujet
  • Vous ne pouvez pas répondre à ce sujet

1 utilisateur(s) en train de lire ce sujet
0 membre(s), 1 invité(s), 0 utilisateur(s) anonyme(s)