THELIA Forum

Welcome to the THELIA support and discusssion forum

Announcement

Rejoignez la communauté sur le Discord Thelia : https://discord.gg/YgwpYEE3y3

Offline


Bonjour,

je suis nouveau sur Thelia, et j'ai un problème concernant les images.

Je souhaite que les clients puissent pour chaque image de chaque produit, afficher/télécharger l'image d'origine. Donc sur la fiche d'un produit, l'image affichée (au dessus des thumbnails) aurait un lien vers ce fichier.
Techniquement, j'aimerais passer de:

<img src="{$IMAGE_URL}" alt="{$TITLE}" class="img-responsive" itemprop="image" data-toggle="magnify">

à (par exemple, avec $IMAGE_REALURL l'url source):

<a href="{$IMAGE_REALURL}" target="_blank">
<img src="{$IMAGE_URL}" alt="{$TITLE}" class="img-responsive" itemprop="image" data-toggle="magnify">
</a>

Je suis donc allé dans "Image.php", il y a bien une var $source_file mais je me suis arrêté sur un bout de l'entête de la fonction processImage():

If the original (full resolution) image is required, create either a symbolic link with the original image in the cache dir, or copy it in the cache dir

Je me suis dit, si c'est précisé, autant demander aux devs pourquoi cette limitation (protection des images sources ?).

Dans le 1er cas, cela m'obligera à modifier du code (à chaque nouvel import d'image, il faudra créer un symlink).
Dans le 2ème cas, c'est carrément impossible (souci de taille, et même problème que pour les symlinks).
Je veux modifier le moins de code possible car c'est une install "one shot", je m'occupe plus vraiment de l'appli après.

Comment je peux faire, au plus simple bien sûr ?
Merci pour vos conseils/réponses !

PS: je vais importer 2000 images d'un coup (pour ~1000 produits). Je fais l'upload des images par FTP et j'ai un script php qui créera les données correspondantes (produits et images) dans la DB.
Si ça intéresse quelqu'un, je peux filer mon fichier php pour qu'il/elle transforme mon code en module, moi chuis trop noob sur Thelia.
Le module "import-produits-en-masse" peut être utilisé comme base du nouveau module, mais je l'ai pas testé car ça gère pas les images (juste les produits) et ça a l'air d'être compatible Thelia v1 only (mais pas sûr).

Offline


Ajout: j'ai essayé mon code avec une var existante (au nom assez trompeur d'ailleurs, $ORIGINAL_IMAGE_URL), ça fait bug le changement d'image (par les thumbs).

Avant:

{loop type="image" name="image.main" product="{$ID}" width="560" height="445" resize_mode="borders" limit="1"}
	<img src="{$IMAGE_URL}" alt="{$TITLE}" class="img-responsive" itemprop="image" data-toggle="magnify">
{/loop}

Après:

{loop type="image" name="image.main" product="{$ID}" width="560" height="445" resize_mode="borders" limit="1"}
	<a href="{$ORIGINAL_IMAGE_URL}" alt="Click to view the HD image (MAY BE SLOW !)" target="_blank">
		<img src="{$IMAGE_URL}" alt="{$TITLE}" class="img-responsive" itemprop="image" data-toggle="magnify">
	</a>
{/loop}

Last edited by zithro (20-05-2014 06:43:54)