Accueil du site > Wiki > osCSS 2.xxx > Developpeurs > template public > Ajuster le comportement de la création des miniatures

Ajuster le comportement de la création des miniatures

samedi 17 septembre 2011, par oscim

Le moteur exploite une class centralisée pour manipuler et construire les images (miniatures). Cette class appartient au dossier commun (common), et est donc centralisée entre le backoffice et le front office.

Les besoins de l’espace public étant divers, plusieurs options sont possible afin d’ajuster le comportement de la class.

Ces options sont disponible à partir de la version 2.1.1.

Ratio des dimension de l’image

par défaut, lors de la création d’un miniature, les proportions de l’image source sont préservé, et l’ensemble redimensionné. Il peut être nécessaire de retailler les image sur un autre format, carré par exemple. Un driver pour la class image_ratio est disponible, afin de modifié le calcul des dimensions et proportion de l’image a traité

Pour exploiter un driver de la class image, il faut placer (dans le template) l’appel au driver souhaité Dans notre exemple, le driver ce nomme "Carre", ce qui nous donne

 <?php /** Force image carré */ image_ratio::SetModele('Carre'); ?>

A placer juste avant l’appel à tep_image() ou get_image(). Le driver Carre et fourni par défaut dans osCSS.

L’appel à un driver et ponctuel, aussi, il doit être appelé avant chaque appel à tep_image.

Watermark

La class supporte aussi le fait d’ajouter du texte par dessus l’image, pour protéger celle ci de la copie. Une option est disponible dans la configuration (voir image) permettant d’ajouter le texte à utiliser.

A partir du moment ou un contenu existe dans la configuration de la boutique, le watermak est actif, et sera appliqué à toute les nouvelles image créer.

Vous pouvez avoir besoin de désactiver cette fonctionnalité (image fabricants, catégories) ;

Utiliser le code comme suit avant l’appel des images qui ne doivent pas contenir le watermark :

 <?php /** Force image sans watermark */ image_ratio::SetWatermark(false); ?>

Pour réactiver le watermark, ou pour imposer sont utilisation, utiliser cet appel

 <?php /** Force image  watermark */ image_ratio::SetWatermark(); ?>

Noter que le watermark ne fonctionne pas comme l’appel des driver, à partir du moment ou celui ci est actif, il est utilisé systématiquement sur toutes les images.

Note : Lors de l’appel a SetWatermark(), une image sera mise en cache, dans tous les cas. Même dans le cas d’un image ne nécessitant pas de redimensionnement. Cette usage assure le fait de pouvoir appliquer le watermark à toutes les images

Creer un module driver pour les images

La class image_ratio ne nécessite pas de driver pour fonctionner, et l’utilisation de l’un de est complément optionnel. L’ensemble des méthodes sont donc présentes dans la class image_ratio. D’autre part le driver Carre, est disponible et peut servir de modèle.

Tous les driver sont nécessairement une class extends de la class principal .

Liste des methode pouvant être remplacé par les drivers :

  • watermarkImage
  • aspectratio
  • thumbfile
  • thumbgd