udt afficher liens de téléchargement en fonction de la page - Version imprimable +- Forum CMS Made Simple FR (https://forum.cmsmadesimple.fr) +-- Forum : Ressources (https://forum.cmsmadesimple.fr/forum-4.html) +--- Forum : Développement et Astuces (https://forum.cmsmadesimple.fr/forum-15.html) +--- Sujet : udt afficher liens de téléchargement en fonction de la page (/thread-2374.html) |
udt afficher liens de téléchargement en fonction de la page - Jean le Chauve - 19/11/2012 Bonjour, Pour un site de booking d'artistes, j'avais besoin d'automatiser l'affichage des liens de téléchargement des fiches techniques (pdf), photos (zip) et dossiers de présentation (pdf), ainsi que le poids de ces fichiers dans chaque page artiste (gérées par le module cataloger). La technique que j'utilise peut s'appliquer dans bien d'autres contextes où l'on doit afficher des liens de téléchargement. Chaque page d'artiste a un alias correspondant au nom de l'artiste (ex : lucie-carton pour Lucie Carton). Certains artistes ont des fichiers disponibles en téléchargement, d'autres pas. J'ai donc créé 3 dossiers dans uploads/catalogerfiles/ : Dossier Photos FichesTechniques Il me fallait donc un code qui cherche si un fichier au nom de l'artiste existe sur le serveur, et dans ce cas, l'affiche en tant que lien sur sa page. L'utilisateur, pour sa part, n'a qu'à uploader, soit par ftp, soit par le gestionnaire de fichiers, les fichiers dans les différents dossiers. Sa seule obligation est de nommer ces fichiers suivant l'alias de l'artiste et d'ajouter le suffixe correspondant (à modifier selon vos préférences). Ex. : uploads/catalogerfiles/Dossier/lucie-carton-DP.pdf (-DP pour dossier de présentation) uploads/catalogerfiles/Photos/lucie-carton-P.zip (-P pour photos uploads/catalogerfiles/FichesTechniques/lucie-carton-FT.pdf -FT pour fiche technique) Voici l'udt que j'ai appelée downloadArtistes Code : function human_filesize($bytes, $decimals = 0) { {downloadArtistes name=$page_alias} Pour améliorer la visibilité, j'ai également ajouté une css appliquant une icône suivant l'extension des fichiers : a[href$='.pdf'] { background: url([[root_url]]/uploads/images/design/icones/pdf.png) no-repeat left center; padding-left: 20px; line-height: 16px; } a[href$='.zip'] { background: url([[root_url]]/uploads/images/design/icones/zip.png) no-repeat left center; padding-left: 20px; line-height: 16px; } La fonction human_filesize() permet d'afficher le poids du fichier avec un préfixe d'unité suivant son poids : K, M, G. Enjoy Démo : booking artistes [edit]Depuis le passage en 1.11.7, vous risquez d'obtenir une erreur de "cannot redeclare function". Il faut maintenant mettre la fonction dans une condition : Code : if (!function_exists(human_filesize)) { udt afficher liens de téléchargement en fonction de la page - bess - 19/11/2012 toujours bien d'avoir ce genre d'astuce sous le coude, merci monsieur udt afficher liens de téléchargement en fonction de la page - berninoel42 - 08/02/2013 Bonjour, Je n'arrive pas à mettre le téléchargement des fichiers en target="_blank". Je ne sais pas si c'est dans l'UDT ou dans le gabarit du module. Si vous avez une petite soluce je suis preneur. Merci. udt afficher liens de téléchargement en fonction de la page - bess - 08/02/2013 remplace 3 fois le code Citation :<p><a href par Citation :<p><a target='_blank' href mais cela dit tu as certainement déjà essayé cela non ? udt afficher liens de téléchargement en fonction de la page - berninoel42 - 08/02/2013 Oui j'ai déjà essayé. Mais j'avais mis le target après le href...Je viens de réessayer et ca fonctionne devant. Je pense que j'ai eu un problème de cache entre temps. Merci Vous êtes génial ! udt afficher liens de téléchargement en fonction de la page - jcpapa - 22/04/2015 Je pose mon problème sur une nouvelle question... Merci |