Abonnement à ma liste de contacts

Etoiles inactivesEtoiles inactivesEtoiles inactivesEtoiles inactivesEtoiles inactives
 

Cela fait désormais plusieurs mois que j'y songe, je souhaitais vous afficher l'ensemble des pièces jointes que je joins à mes articles, en un seul et unique endroit endroit. Je fais d'une pierre deux coups avec cet article en vous présentant ce plugin comme à mon habitude, mais aussi vous le voyez ci-dessous, son utilisation.

Le besoin spécifique

Je sais que j'ai une communauté véritablement très sympathique qui vient régulièrement lire ce que j'écris. Je voudrais leur rendre un peu plus la vie facile, en proposant à ma communauté un endroit unique, un article à partir duquel mes lecteurs pourront télécharger et visualiser l'ensemble des pièces jointes que je joins à mes articles (ous savez, le petit lien hypertexte en haut de mes articles à côté du libellé pj1..)

Fonctionnement

J'avais plusieurs possibilités pour faire fonctionner ce plugin. Soit je listais le contenu d'un répertoire des PJ (mais encore faut-il bien ranger ses fichiers.... oups), soit je regardais dans la base de données l'ensemble des articles qui avaient une pièce jointe associée afin de les afficher en téléchargement. J'ai opté pour cette deuxième solution (pour des question de "bons classements) .
Ce plugin se base sur une simple requête SQL qui me récupère dans mes champs personnalisés où sont stockés mes pièces jointes, l'adresse relative du fichier à télécharger, ainsi que le titre et l'identifiant de l'article auquel est rattaché cette dite pièce jointe. 
Une fois cette requête exécutée, j'affiche en faisant une simple boucle, l'ensemble des valeurs récupérées, à savoir l'url de la pièce jointe, le titre de l'article auquel est rattaché cette pièce jointe, ainsi que l'ID de cet article.

Le shortcode 

Pour afficher le résultat de cette valeur, j'ai choisi un shortcode véritablement très personnalisé que je vous conseille de changer si vous le souhaitez. Vous pourrez le retrouver à la ligne 23 du fichier attachements.php. Pour le moment, le short code à utiliser est
{PJ_attachements_seb}
.
J'ai opté pour n'afficher aucune option dans ce plugin, il crée simplement une division HTML dans laquelle vous aurez pour chaque pièce jointe, une subdivision qui vous permettra d'appliquer une feuille de style particulière, que je n'ai ici pas mise en place.

Particularité technique

Oui, je l'avoue, j'ai codé ce plugin particulièrement rapidement et, comme vous pourrez le voir en ligne 7, j'ai spécifié ici le nom de la table de ma base de données. Je ne peux que vous conseiller d'aller rechercher cette valeur dans le fichier de configuration de Joomla

Qui suis-je (Article n° 233)
Eporner, une api du cul (Article n° 418)
Application "Excel" de suivi des tests (Article n° 515)
Corona ? Une presqu'API (Article n° 586)
Extraire des méta données de fichiers PDF (Article n° 615)
Retrouver une commande FFMPEG (Article n° 621)
Radiograbber avec Yad (Article n° 656)
(Google) Dataset Search (Article n° 699)
Tarifs locaux du carburant (Article n° 741)
Journées Européennes du Patrimoine (Article n° 760)
Intégrer une image mappée dans Joomla (Article n° 765)
Favoris (Article n° 809)
CV de Sébastien LHUILLIER (Article n° 810)
Mercelle (Article n° 812)
Statistique articles (Article n° 814)
Accueil (Article n° 815)
ListPubDate : le plugin pendant à mon autre plugin pubDate (Article n° 820)
Plugin ExistFic : visualisez si des liens a href vers des fichiers deviennent non-fonctionnels (Article n° 822)
Plugin de type accordéon (Article n° 823)
Lister les éléments déclarés dans Re Replacer (Article n° 828)
Un plugin d'affiche de données "répétables" (Article n° 830)
Implémentation de la norme ISO-690 : un générateur de fichier (Article n° 836)
NL2BR, le plugin le plus simple qu'il soit ! (Article n° 838)
Notes de bas de pages (Article n° 841)
Afficher des définitions (Article n° 842)
Module de chargement conditionnel de scripts Javascript et feuilles de styles (Article n° 844)
Suivi des dernieres créations d'entreprises de votre région (Article n° 850)
Plugin d'affichage d'un Workflow, des états passés, courants et à venir (Article n° 856)
Recherche en GET dans Joomla Content (Article n° 859)
Comment générer mes images pour Instagram présentant mes articles ? (Article n° 860)
Plugin de suppression des commentaires HTML (Article n° 866)
Note-it : simuler des post-it virtuels dans Joomla via un plugin (Article n° 871)
Mon plugin no-cache ! (Article n° 874)
Plugin pour forcer le téléchargement des pdf (Article n° 875)
Synthèse d'éléments définis depuis le dernier plugin créé (notes de bas de page) (Article n° 877)
Un petit plugin listant un dossier "temporaire" défini par mes soins (Article n° 883)
Notifier un fichier téléchargeable comme une archive (Article n° 886)
Comment ajouter une fenetre modale (pour avoir notament des formulaires) dans la console d'administration Joomla 3 ? (Article n° 888)
Plugin d'ajout de bibliothèques externes (Article n° 895)
Articles Joomla "point rouge" : catégoriser un type d'article en faisant précéder son titre du caractère 🔴 (Article n° 897)
Chargement conditionnel de fichiers externes (bibliothèques) JS et CSS (Article n° 899)
Recette poisson (Article n° 901)
Extraction des favoris depuis Firefox avec PHP en local (Article n° 902)
Lister l'ensemble de vos regex PUBLIQUES publiées sur le site Regex101.com (Article n° 903)
comment puis-je changer le style d'un élément dans une page web de Joomla ? (Article n° 904)
read github (Article n° 905)
Plugin AddIdToHn (Article n° 906)
Note-it : Mise à jour de mon plugin (v2) (Article n° 907)
Plugin d'affichage des derniers fichiers modifiés dans un répertoire donné (Article n° 908)
Afficher la mention "Nouveau" sur un lien pendant une durée définie (Article n° 909)
Marche n°1 : Le parc de Vittel (Article n° 910)
Gestions de liens hypertextes des fichiers "natifs" (Article n° 911)
Comment "rejeter" des articles dans l'outil de recherche RokAjaxSearch volontairement ? (Article n° 912)
Afficher une message alertant une action fonctionnelle à effectuer lors de l'enregistrement d'un article (Article n° 913)
Récupérer le titre d'un article afin de pouvoir lui appliquer une structure HTML spécifique (Article n° 914)
Un petit plugin d'ajout de lien mailto dans les onglets de Regular Labs (Article n° 915)
Visite de la ville de Thionville (Article n° 916)
Afficher un PDF dans une modale via la librairie Javascript Bootstrap (Article n° 917)
Afficher le contenu des attributs data-* de HTML5 (Article n° 918)
Un plugin de gestion des fenêtres modales 100% CSS ! (Article n° 919)
Lister des documents marqués comme "provisioires" (Article n° 920)
Marche n°2 : Découverte de la ville de Lunéville (Article n° 921)
Comment reformater avec Notepad++ des pages HTML dont les tag contiennent des propriété data-* (Article n° 922)
Titre article : un plugin pour rajouter le titre de votre article dans le ALT de votre image illustratrice (Article n° 923)
(Ré)installer son environnement de DEV local en deux temps trois mouvements ! (Article n° 924)
Une fenêtre modale + lightbox + légende pour chacune des images d'un dossier (Article n° 925)
fzfz (Article n° 926)
Un plugin Antispam tout bête ! (Article n° 927)
Un plugin qui transforme vos propriété ALT de vos images en légende (Article n° 928)
Zipper tous les PDF internes d'une page Joomla Content (Article n° 929)
Ajouter automatiquement un target="_blank" si le lien pointe sur un fichier PDF (Article n° 930)
Plugin pour masquer un attribut data-* de HTML5 (Article n° 931)
QRCodes identidaires (Article n° 932)
Comment retrouver tous mes posts Facebook d'un groupe en une URL ? (Article n° 933)
Un plugin de fenêtres modale full css (Article n° 934)
Ajoute un libellé sous l'onglet du composant Regular Labs Tab contient la constante déclarée dans content template [[[onglet_vide]]] (Article n° 935)
Comment stabiliser simplement la réinstallation de son serveur WAMP et LAMP de developpement local ? (Article n° 936)
Marche n° 3 : la val de fer - Mine de Neuves-Maisons (Article n° 937)
Marche n° 4 : Tour des espaces nature du grand Nancy (Article n° 938)
Calcul du MET d'une marche (Article n° 939)
Un module de récupétaion des définitions définies dans des articles Joomla (Article n° 940)
Introduction (Article n° 941)
Comment préparer une publication Instagram ? (Article n° 942)
QRCodes de sebastien-lhuillier.com (Article n° 943)
Le but du projet "Marches" (Article n° 944)
Fabriquer des éléments graphiques sans rien y connaitre : Canva (Article n° 945)
Comment me suis-je sorti de mon souci de test de la présence (ou pas) de fichiers sur mon "serveur" (html statique) Web ? (Article n° 946)
Show ID : afficher la clef primaire d'un article (Article n° 947)
Rédiger vos articles... avec chatGPT ! (Article n° 948)
Marche n°5 : Micro balade (hivernale) le long du canal (Article n° 949)
L'extraction de méta données d'un compte Instagram (Article n° 950)
Une idée de gestion des droits utilisateur dans une application (Article n° 951)
Exploiter Excel en l'absence de base de données : Recherche rapide dans un fichier texte (Article n° 952)
Et si Excel devanait un éditeur ou géénraleur XML simple ? (Article n° 953)
Présentation du projet - Introduction à XML et à son écosystème – Partie 1 : premiers pas avec les outils en ligne de commande de Microsoft (Article n° 954)
Présentation du projet - Introduction à XML et à son écosystème – Partie 2 : création de l'architecture de mon fichier final XML (Article n° 955)
XML : petite synthèse (Article n° 956)
Auriez-vous dit "GPX" ? (Article n° 957)
Questions/réponses (FAQ) à propos de mes marches (Article n° 958)
Images générées par IA (Article n° 959)
ChatGPX ? Utiliser ChatGPT pour fabriquer un générateur d'articles (Article n° 960)
Comment fabriquer un lien vers un fichier dont le nom évolue au fil du temps et des renommages successifs de ce fichier (Article n° 961)
Marche n° 6 : les parcs vandopériens (Article n° 962)
L'utilisation des emoji dans un titre d'article Joomla, un fonctionnement très intéressant (Article n° 963)
Mais comment diable puis-je bien proposer à mes marcheurs un partage simple et rapide de leurs photos ? (Article n° 964)
iMessages : un exemple (Article n° 965)
testg (Article n° 966)
Je vous annonce que lui et moi, nous avons eu une conversation.... (Article n° 967)
ficimghzdl (Article n° 968)
Marche n°7 : le tour des châteaux grand-nancéiens (Article n° 969)
Les 3 formats d’images que j’utilise pour publier efficacement sur Instagram (Article n° 970)
Comment suivre une trace avec un téléphone portable et l'outil OSM ? (Article n° 971)
Marche n°8 : le "tour de la Meurthe" Nancéienne (Article n° 972)
CV de Sébastien LHUILLIER (Article n° 973)
Etape 1 : Etat des lieux (Article n° 974)
Etape 2 : Quel est l'intérêt de ce potentiel outil ? (Article n° 975)
Etape 3 : Grands principes de fonctionnement (Article n° 976)
Etape 4 : Intégrer vos "champs" à votre page HTML (Article n° 977)
Etape 5.1 : Définir une série d'événements dans une page (Article n° 978)
Marche n°9 : La voie verte du Grémillon (Article n° 979)
Etape 5.2 : Définir le titre de l'événement (Article n° 980)
Etape 5.3 : Définir les heures (début et/ou fin) de l'événement, l'absence de ces heures ou le faurt que l'événement dure sur la journée entière (Article n° 981)
Etape 5.4 Définir un statut de l'événement parmi une liste prédéterminée par la norme (Article n° 982)
Etape 5.5 (facultative) : définir le niveau PICS de votre événement (Article n° 983)
Imbrication des éléments (Article n° 984)
Etape 5.6 : Définir un URL vers la page décrivant l'événement (généralement sur le site de l'organisateur) (Article n° 985)
Marche N° 10 : le pain de sucre (Article n° 986)
Extraire des méta données de fichiers PDF à l'aide d'expressions rationnelles (Article n° 987)
Automatiser la documentation Excel : la fainéantise productive (Article n° 988)
Intelligence artificielle — bienvenue dans ma cuisine (Article n° 989)
Générer un dossier de marche complet depuis un fichier GPX avec Claude (Article n° 990)
Quand cURL (curl.exe de windows) devient son allié indispensable dans sa vie professionnelle .... (Article n° 991)

Vous retrouverez ici tous mes articles explicatifs de mes concepts, mes résultats d'analyses techniques m'ayant permi d'aboutir à un fonctionnement de mes applicatifs très fonctionnel

Rapport sondage marche

Voici le rapport statistique du sondage (auquel vous pouvez toujours répondre) que j'ai lancé sur le sujet

Mon GitHub

Voyant que l'intégration du flux RSS ralentissait tout mon site, voisi le simple lien de mon flux RSS : Mon GitHub