Jump to content

Balises alt manquantes


Recommended Posts

Bonjour, plusieurs de mes images ne sont pas indexées à cause de l'absence de contenu pour l'attribut ALT. J'ai contacté le fournisseur du thème, mais il dit que le problème vient de Prestashop. En effet, j'ai testé avec le thème default et le problème subsiste. J'ai ça <img src="http://www.beaute-sante.ma/c/31-category_default/anti-age-et-soins-visage.jpg" alt="">. J'utilise PS 1.5.6.2

Est-ce que quelqu'un peut m'aider? Merci d'avance

i.e -- http://www.beaute-sante.ma/fr/28-beaute

 

Link to comment
Share on other sites

Bonjour,

 

Sur le thème par défaut de Prestashop, il y a bien des balises ALT.

 

Dans le fichier "product-list.tpl" on trouve :

alt="{if !empty($product.legend)}{$product.legend|escape:'htmlall':'UTF-8'}{else}{$product.name|escape:'htmlall':'UTF-8'}{/if}"

Donc la valeur de la balise est soit la légende de l'image, soit le nom du produit s'il n'y a pas de légende.

Si rien ne s'affiche chez toi c'est qu'il y a un souci dans ta boutique.

  • Like 2
Link to comment
Share on other sites

Merci de ta réponse. Sur product-list.tpl j'ai bien le code ci-dessus.

Ce qui est curieux, c'est que la balise ALT manque pour certains produits seulement, pas tous. J'ai bien vérifié que le champ Légende de la fiche produit dans le BO est renseigné. Est-ce que quelqu"un a une idée?

Link to comment
Share on other sites

Tu m'as appris quelque chose, je n'ai pas le champ en 1.5.4.1, je ne savais pas qu'il était revenu plus tard ;)

 

Ce que j'ai fait perso et que tu peux faire aussi sur 1.5.6.2, je demande à la balise alt d'utiliser directement le nom du produit, ça évite de le mettre à chaque fois et ça fonctionne à 100%

 

Sur PS 1.5.4.1 dans le thème/product.tpl, vers la ligne 206, remplacer :

<a href="{$link->getImageLink($product->link_rewrite, $imageIds, 'thickbox_default')}" rel="other-views" class="thickbox{if $smarty.foreach.thumbnails.first} shown{/if}" title="{$image.legend|htmlspecialchars}">

PAR :

<a href="{$link->getImageLink($product->link_rewrite, $imageIds, 'thickbox_default')}" rel="other-views" class="thickbox{if $smarty.foreach.thumbnails.first} shown{/if}" title="{$product->name|escape:'htmlall':'UTF-8'}">

En fait on remplace :

{$image.legend|htmlspecialchars}

PAR :

{$product->name|escape:'htmlall':'UTF-8'}

Du coup ça va chercher le titre du produit à la place de la légende, donc pour tes 3 langues, ça le fera bien aussi je pense :)

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

Merci KevinNash de tes efforts. J'en ai appris aussi des codes fournis.

 

Mon problème reste entier, à qui peut m'aider !

Ce qui est curieux, c'est que cela ne concerne que quelques produits. Sa signifie que le problème se situe dans les fiches produits que je remplis.

Link to comment
Share on other sites

Regarde les infos des images en question avec bouton droit et note le numéro de l'image

 

Ensuite dans la base de donnée regarde dans ps_image_lang avec ce numéro id_image, le champ legend doit se retrouver ici, si ce n'est pas le cas, tu peux le mettre directement à cet endroit.

Link to comment
Share on other sites

  • 2 months later...

Hello,

la méthode de KevinNash est pas mal mais elle à tout de même un problème c'est que si on a plusieurs images par produit elles auront toutes la même légende ce qui est dommage pour le référencement.

 

Idéalement il faudrait mettre une légende différente pour chaque image (représentative de l'image) mais Pretashop ne le permet pas facilement (une fois votre image envoyée vous ne pouvez plus modifier sa balise alt).

 

J'ai créé un module qui permet de solutionner ce problème (et d'autres) si ca vous intéresse je peux vous donner le lien, contactez moi en message privé..

Link to comment
Share on other sites

  • 1 year later...

Bonjour à tous, 

 

Je déterre le sujet mais j'aimerais savoir si la solution de KevinNash fonctionne pour des produits qui sont déjà crées ou bien si les balises alt seront mises uniquement sur les nouveaux produits ?

 

Merci de vos réponses !  B)

Link to comment
Share on other sites

Bon je viens de jeter un oeil mais il se trouve que je suis sur Prestashop 1.6.1.6 et dans le product.tpl voici ce que j'ai qui ressemble à la description :

 

Ligne 81 :

<span id="view_full_size">
						{if $jqZoomEnabled && $have_image && !$content_only}
							<a class="jqzoom" title="{if !empty($cover.legend)}{$cover.legend|escape:'html':'UTF-8'}{else}{$product->name|escape:'html':'UTF-8'}{/if}" rel="gal1" href="{$link->getImageLink($product->link_rewrite, $cover.id_image, 'thickbox_default')|escape:'html':'UTF-8'}">
								<img itemprop="image" src="{$link->getImageLink($product->link_rewrite, $cover.id_image, 'large_default')|escape:'html':'UTF-8'}" title="{if !empty($cover.legend)}{$cover.legend|escape:'html':'UTF-8'}{else}{$product->name|escape:'html':'UTF-8'}{/if}" alt="{if !empty($cover.legend)}{$cover.legend|escape:'html':'UTF-8'}{else}{$product->name|escape:'html':'UTF-8'}{/if}"/>
							</a>
						{else}
							<img id="bigpic" itemprop="image" src="{$link->getImageLink($product->link_rewrite, $cover.id_image, 'large_default')|escape:'html':'UTF-8'}" title="{if !empty($cover.legend)}{$cover.legend|escape:'html':'UTF-8'}{else}{$product->name|escape:'html':'UTF-8'}{/if}" alt="{if !empty($cover.legend)}{$cover.legend|escape:'html':'UTF-8'}{else}{$product->name|escape:'html':'UTF-8'}{/if}" width="{$largeSize.width}" height="{$largeSize.height}"/>
							{if !$content_only}
								<span class="span_link no-print">{l s='View larger'}</span>

Ligne 124 :

		<li id="thumbnail_{$image.id_image}"{if $smarty.foreach.thumbnails.last} class="last"{/if}>
									<a{if $jqZoomEnabled && $have_image && !$content_only} href="javascript:void(0);" rel="{literal}[spam-filter]/literal}gallery: 'gal1', smallimage: '{$link->getImageLink($product->link_rewrite, $imageIds, 'large_default')|escape:'html':'UTF-8'}',largeimage: '{$link->getImageLink($product->link_rewrite, $imageIds, 'thickbox_default')|escape:'html':'UTF-8'}'{literal[spam-filter]{/literal}"{else} href="{$link->getImageLink($product->link_rewrite, $imageIds, 'thickbox_default')|escape:'html':'UTF-8'}"	data-fancybox-group="other-views" class="fancybox{if $image.id_image == $cover.id_image} shown{/if}"{/if} title="{$imageTitle}">
										<img class="img-responsive" id="thumb_{$image.id_image}" src="{$link->getImageLink($product->link_rewrite, $imageIds, 'cart_default')|escape:'html':'UTF-8'}" alt="{$imageTitle}" title="{$imageTitle}"{if isset($cartSize)} height="{$cartSize.height}" width="{$cartSize.width}"{/if} itemprop="image" />
									</a>

Et ligne 515 :

	<li class="item product-box ajax_block_product{if $smarty.foreach.accessories_list.first} first_item{elseif $smarty.foreach.accessories_list.last} last_item{else} item{/if} product_accessories_description">
										<div class="product_desc">
											<a href="{$accessoryLink|escape:'html':'UTF-8'}" title="{$accessory.legend|escape:'html':'UTF-8'}" class="product-image product_image">
												<img class="lazyOwl" src="{$link->getImageLink($accessory.link_rewrite, $accessory.id_image, 'home_default')|escape:'html':'UTF-8'}" alt="{$accessory.legend|escape:'html':'UTF-8'}" width="{$homeSize.width}" height="{$homeSize.height}"/>
											</a>

Je dois modifier quoi et ou ?  :blink:

Link to comment
Share on other sites

Tu n'as rien à modifier sous PS1.6 :

<img itemprop="image" src="{$link->getImageLink($product->link_rewrite, $cover.id_image, 'large_default')|escape:'html':'UTF-8'}" title="{if !empty($cover.legend)}{$cover.legend|escape:'html':'UTF-8'}{else}{$product->name|escape:'html':'UTF-8'}{/if}" alt="{if !empty($cover.legend)}{$cover.legend|escape:'html':'UTF-8'}{else}{$product->name|escape:'html':'UTF-8'}{/if}"/>

Si la légende est vide, il prend le titre de l'article en balise alt, j'ai vérifié, cela fonctionne bien de base ;)

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