Ceci est une ancienne révision du document !
Retrouvez ici tous les changements techniques pour la version 2.4, notamment les changements susceptibles d’intéresser les créateurs d'extensions, ainsi que les utilisateurs lambda ayant créé leur plugin perso, un template, leur thème perso…
Pour plus d'infos en anglais : http://piwigo.org/forum/viewtopic.php?id=18582
résumé : il est devenu important de séparer le dossier local/, qui contient les fichiers de personnalisation à sauvegarder, et le dossier _data/ qui contient les fichiers temporaires tels les CSS et js combiné et minifiés, ainsi que le cache des images retaillées à la volée.
Principe : les images originales ne sont pas touchées et placées dans /galleries/ ou /upload/ selon la méthode d'envoi utilisée. Dans l'administration, la page “Configuration > Options > Tailles de photo” regroupe les tailles 'officielles' disponibles aux utilisateur pour chaque image. Les images redimensionnées sont placées dans le dossier _data/i/. Quasiment toutes les références Php ou Smarty aux url, chemins, tailles… des images (miniatures ou non) sont à mettre à jour pour Piwigo 2.4.
NB : un dérivé = un ensemble d'info pour retailler suivant une taille (hauteur, largeur, recadrage…)
get_thumbnail_location - supprimé
get_thumbnail_path - supprimé
get_thumbnail_url - déprécié(sera supprimé pour la 2.5) - utilisezDerivative_Image::thumb_url
get_high_location, get_high_path, get_high_url - supprimé
get_image_location - supprimé
get_image_path - supprimé- utilisez( new SrcImage($infos) )→get_path()
get_image_url - supprimé- utilisez( new SrcImage($infos) )→get_url()
file_path_for_type - supprimé
NB :pour une liste des fonctions ajoutées, voyez le paragraphe En pratique comment faire ?
get_mimetype_location (remplace get_thumbnail_location)
comment mettre à jour vos .tpl :
pour définir une taille d'image, à partir d'une taille 'officielle' existante : {define_derivative name='NOM' type='TYPE'} où NOM est le nom du dérivé à définir (à utiliser par la suite avec $pwg→derivative($NOM, $src-image) ), et TYPE correspond au dérivé déjà existant. TYPE peut avoir les valeurs suivantes : square, thumb, 2small, xsmall, small, medium, large, xlarge, xxlarge. \\Rappel : les tailles correspondant à ces dérivés sont définis et modifiables sur la page “Configuration > Options > Tailles de photo”.
pour définir un nouveau dérivé : {define_derivative name='NOM' width='LARGEUR' height='HAUTEUR' crop=true/false min_height='HAUTEUR_MIN' min_width='LARGEUR_MIN'} où NOM est le nom du dérivé qui est créé (à utiliser par la suite avec $pwg→derivative($NOM, $src-image) ), LARGEUR et HAUTEUR sont requis et doivent être des valeurs numériques, le paramètre 'crop' est optionel (recadrage, par défaut false), et les paramètres min_width et min_height sont aussi optionnels (valeurs numériques)
pour obtenir l'url d'une image retaillée selon le dérivé NOM : {$pwg→derivative_url($NOM, 'image source')} OU {assign var=mon_dérivé value=$pwg→derivative($NOM, 'image source')} et {$mon_dérivé→get_url()}
Listes des fonctions nouvelles, à utiliser ainsi {$mon_dérivé→fonction()} :
get_path() retourne le chemin vers l'image redimensionnée
get_url() ) retourne l'url de l'image redimensionnée
same_as_source() retourne vrai si l'image retournée est la même que l'original
get_type() retourne 'Orignal' ou 'Type' où type prend les valeurs parmi 'square', 'thumb', '2small', 'xsmall', 'small', 'medium', 'large', 'xlarge', 'xxlarge' et'custom'
get_size() retourne la taille de l'image redimensionnée dans un tableau : Array { 'LARGEUR', 'HAUTEUR'}
get_size_htm() return the string 'width=”'.$size[0].'” height=”'.$size[1].'”'
get_size_hr() returns the string $size[0].' x '.$size[1]
get_scaled_size($maxw, $maxh) needs maximum width and maximum height, and returns the new size needed for a scaled reduction
get_scaled_size_htm($maxw=9999, $maxh=9999) returns the string 'width=”'.$size[0].'” height=”'.$size[1].'”' where the array size is the size returned by get_scaled_size($maxw, $maxh)
is_cached() returns true if the resized picture exists or need to be created via i.php : useful for Ajax loading
List of functions available as template function ie {$pwg→function($NAME, 'src of the original picture')}
There is no longer admin.php?page=cat_modify&cat_id=1234, use instead admin.php?page=album-1234
For admin.php?page=cat_perm&cat=1234, use instead admin.php?page=album-1234-permissions
.thumbnailCategories is renamed into .commentsList
.thumbnailCategory is renamed into .commentElement