Custom Field Strapi v5
Link
Un champ lien universel pour Strapi v5 : page interne, page système, URL externe, téléphone, email ou ancre. Un seul champ, un JSON stable, un resolver côté front.

Strapi v5 n'a pas de champ lien natif. Chaque projet finit par bricoler le sien : un enum, cinq relations optionnelles et un champ texte. Pénible à saisir pour les rédacteurs, pénible à requêter, pénible à migrer.
Ce plugin fournit un Custom Field unique : le rédacteur choisit un type de lien, remplit un champ, c'est terminé. La base stocke un JSON stable et le front reçoit un helper resolveLink() qui renvoie href, label, target et rel prêts à l'emploi.
Fonctionnalités
6 types de liens : contenu interne (tout Content Type), page système, URL externe, téléphone, email, ancre
Sélecteur unifié dans l'admin : un seul champ, une interface à onglets, un résumé du lien saisi
Liens internes résolus par lookup : ils survivent au renommage du slug de la page cible
Pages système déclarées en configuration et associées à des routes fixes (accueil, contact), adaptées aux Single Types
Resolver front agnostique : le package link-resolver fonctionne avec Next.js, Nuxt, Astro ou tout autre framework
Validation Zod côté serveur avant persistance
Admin traduit en français et en anglais, TypeScript strict
Compatibilité
- Strapi v5 (^5.0.0)
- Node.js 20 ou supérieur
- Resolver front sans dépendance à un framework
Installation
Plugin Strapi
npm install @isomorph-agency/strapi-plugin-linkResolver côté front
npm install @isomorph-agency/link-resolverPackages npm
| Package | Version | Rôle |
|---|---|---|
| @isomorph-agency/strapi-plugin-link | 0.1.0 | Custom Field pour l'admin et le serveur Strapi |
| @isomorph-agency/link-resolver | 0.1.0 | Resolver front : LinkValue vers href, label, target, rel |

