Pages automatiques
Pages automatiques transforme les enregistrements publics d'une source en URL de détail en utilisant une page CMS existante comme modèle. Le fournisseur gère la publication, les textes, les traductions et les métadonnées d'image. Dans Contenu dynamique → Pages automatiques, vous choisissez le site, la plage d'adresses et le modèle. Ce guide décrit CMS 1.104.0 avec le catalogue d'extensions comme exemple.
Une boucle Grid répète des cartes dans une page de catalogue ; une règle de pages automatiques sert une URL de détail distincte pour chaque enregistrement admissible. Elles utilisent des sources liées, mais se configurent séparément. Consultez Contenu dynamique pour le choix des sources, les boucles et les correspondances des champs.
Comprendre ce qui est créé
Une règle active sert base path + / + record slug. Par exemple, le chemin de base /extensions et le slug webblocks-appointments donnent /extensions/webblocks-appointments ; la variante turque utilise /tr/extensions/webblocks-appointments. Le slug reste identique dans les six langues. Le fournisseur traduit les noms et descriptions.
Le CMS effectue le rendu de l'URL à la demande ; il ne crée pas six copies modifiables pour chaque nouvel enregistrement. Pages contient le modèle et les éventuelles pages natives conservées, pas une nouvelle page enregistrée par URL générée. Une clé stable identifie l'enregistrement ; son slug détermine l'adresse publique. Gardez les deux stables. Modifier un slug change son URL ; ce flux ne redirige pas automatiquement l'ancien slug.
Préparer la source et le modèle de détail
Le fournisseur installé doit exposer une collection avec le contrat de publication 1.0 et une source d'entité individuelle compatible. Une collection ordinaire ne suffit pas. Dans l'exemple, Published plugin catalog (webblocks-extensions-live::plugins) publie via Published plugin (webblocks-extensions-live::plugin). Les identifiants API et les réglages de publication de l'application source relèvent de l'intégration du fournisseur, pas du formulaire de règle.
Créez ou choisissez une page modèle de détail du même site, traduite dans toutes ses langues activées. Reliez ses champs propres à l'entité déclarée : Header à title, résumé à summary, source Image à image_url, texte alternatif à image_alt et légende à image_caption. Ce sont des liaisons d'entité, pas des correspondances d'Enregistrement courant de la boucle. L'enregistrement choisi fournit ces champs au rendu automatique ; le choix enregistré et les valeurs éditoriales ne sont pas réécrits. Les autres sources, boucles et Shared Slots gardent leur comportement.
Le modèle doit comporter au moins une liaison d'entité compatible. Vérifiez bloc, champ cible et champ source dans Champs fournis par l’enregistrement choisi. Les liaisons d'image de Contenu dynamique expliquent les connexions séparées d'image, texte alternatif, légende et lien. Les blocs publiés doivent être prêts pour le rendu public ; un aperçu privé peut aussi afficher les blocs en brouillon.
Créer une règle en brouillon
- Ouvrez Contenu dynamique → Pages automatiques, choisissez le site puis Nouvelle règle en brouillon.
- Saisissez le Nom de la règle et choisissez la Source de contenu admissible.
- Choisissez le Modèle de détail. La Page du catalogue ordinaire est facultative ; la sélectionner ne crée ni ne configure sa boucle de cartes.
- Saisissez un Chemin de base, par exemple
/extensions, puis Enregistrer le brouillon. Utilisez un chemin canonique non réservé, sans préfixe de langue ni slug d'un enregistrement précis.
Le formulaire affiche Langues du site et les champs d'entité, de slug, de titre, de description et d'image déclarés. Si aucune source admissible n'apparaît, vérifiez le fournisseur installé et son contrat de publication. N'inventez pas un second champ de statut de publication dans CMS. Le fournisseur décide quels enregistrements sont publics.
Enregistrer un brouillon ne publie aucune route et ne modifie pas les URL existantes. Les configurations actives et en pause sont en lecture seule ; le formulaire ne permet pas de modifier librement leur source, chemin de base ou modèle.
Examiner les enregistrements et chaque langue
Choisissez Examiner les enregistrements, sélectionnez-en un, consultez Examiner les champs de la source, puis ouvrez Aperçu de la page pour chaque langue activée du site. L'inspecteur vérifie les valeurs réelles dans les six langues CMS : en, tr, de, es, it et fr. Le modèle doit lui aussi contenir les traductions de page activées.
Le fournisseur fournit titres, résumés, textes alternatifs, légendes et autres champs déclarés dans la langue demandée. Un fichier image peut être commun aux langues. CMS ne traduit pas le contenu source absent et ne le remplace pas discrètement par l'anglais. Vérifiez le chargement de l'image et le sens de son texte alternatif ; contrôlez les liens autant que le texte visible.
Les aperçus privés nécessitent une authentification, utilisent noindex,nofollow et n'activent pas les routes, ne créent pas de pages de détail stockées et ne modifient pas le modèle. Changer la langue conserve l'enregistrement sélectionné. Une déclaration de prise en charge linguistique ne remplace pas l'examen des traductions réelles.
Vérifier les adresses avant l'activation
Ouvrez Examiner la transition. La vérification présente les clés publiques actuelles, les URL proposées, la disponibilité en six langues, les identifiants de pages existantes et le modèle de chaque enregistrement. Une page native correspondante conserve son modèle individuel ; sans page correspondante, l'enregistrement utilise le Modèle de détail commun. Le catalogue reste une page CMS ordinaire.
Résolvez les erreurs avant l'activation : plages de règles qui se chevauchent, pages natives conflictuelles ou sans correspondance, modèles protégés, traductions de page manquantes, contenu source invalide ou recherche publique de slug indisponible. Pour conserver une adresse, maintenez chaque traduction native de détail au chemin attendu de l'enregistrement. La vérification utilise tout le catalogue de publication, indépendamment des filtres, limites et pagination de Grid.
La vérification couvre valeurs source, révision de règle et contenu natif conservé. Si l'un change avant l'activation, recommencez la vérification. CMS refuse une vérification périmée au lieu d'activer une transition différente.
Activer, puis publier les enregistrements à la source
Activer les routes automatiques est une action de publication distincte. Les superadministrateurs et administrateurs ayant accès au site choisi peuvent activer ; les éditeurs ayant accès peuvent examiner configuration et aperçus. Enregistrer ou prévisualiser ne donne pas l'autorisation de publier.
Supposons qu'après activation, l'application Plugins expose un enregistrement publié valide portant le slug webblocks-appointments. Son texte source est rendu avec le modèle choisi à /extensions/webblocks-appointments et aux cinq variantes préfixées par la langue. Lorsqu'un autre enregistrement valide devient public, la règle active peut servir son URL sans copie de page CMS ni activation d'une nouvelle règle pour cet enregistrement. La disponibilité dépend d'un enregistrement public fourni avec des traductions complètes, pas d'un mot de statut saisi dans CMS.
Voici le déroulement d'une requête :
Règle active + slug public
-> le fournisseur résout la clé stable de l’enregistrement
-> le contenu source est validé dans les six langues CMS
-> le modèle conservé ou le modèle de détail commun est choisi
-> la langue demandée est rendue à son URL existante
Retirer un enregistrement sans ancienne copie publique
Retirez l'enregistrement dans l'application source. Dès que le fournisseur ne l'expose plus publiquement, ses URL automatiques renvoient 404 dans chaque langue activée et il ne contribue plus aux résultats automatiques de recherche ni au sitemap. Par exemple, retirer webblocks-appointments supprime l'accès public à /extensions/webblocks-appointments et à ses variantes linguistiques. Cette séquence est illustrative ; le guide ne modifie pas le statut de l'exemple réel.
Vous n'avez pas à retirer six copies CMS séparément. La règle active possède sa plage d'adresses de détail ; une page native conservée ne peut pas devenir une ancienne copie publique de secours. N'utilisez pas Rétablir la publication précédente pour retirer un seul enregistrement : cette action arrête toute la règle et peut restaurer l'ancienne publication native. La visibilité des cartes dépend du fournisseur de collection et de la fraîcheur de la source ; une boucle Grid n'est pas la règle de routes automatiques.
Distinguer retrait et panne de source
- Prêt : le contenu public actuel respecte le contrat dans les six langues ; une route de détail admissible peut être rendue.
- Non public / introuvable : l'enregistrement ou le slug exact est absent ou retiré ; la route publique renvoie
404. - Source indisponible : le fournisseur est inaccessible ou la recherche de publication échoue ; la résolution publique renvoie
503. - Contenu incomplet ou incompatible : identité, slug, titre, schéma ou traduction réelle échouent à la validation ; la résolution publique renvoie
503au lieu d'une page partiellement traduite.
Un retrait intentionnel diffère d'un délai dépassé ou d'un enregistrement français invalide. Corrigez le fournisseur ou la traduction si nécessaire. CMS n'expose pas une ancienne copie native pour masquer une panne. La recherche et le sitemap exigent aussi un catalogue de publication actuel valide ; son échec peut entraîner un 503 plutôt que des résultats périmés ou partiels.
Contrôler recherche, URL canonical et sitemap
Les règles actives ajoutent les enregistrements publics actuels à la recherche HTML et JSON normale, sans reconstruction manuelle de l'index. La recherche utilise titre de publication, description et URL publique déclarés dans la langue demandée, pas chaque champ source ou texte natif conservé. Les nouveaux enregistrements publics et les retraits sont vérifiés lors des recherches suivantes. Les requêtes vides ou trop courtes gardent le comportement normal sans résoudre la source.
Les pages générées utilisent l'URL publique de l'enregistrement comme canonical et proposent les alternatives des langues activées. Le sitemap énumère les enregistrements admissibles actuels avec leurs URL et alternatives linguistiques ; les règles habituelles d'indexabilité et d'accès restent applicables. La limite d'un bloc de collection ne limite pas la découverte des détails automatiques. Après une activation autorisée, vérifiez les six URL, les textes traduits, les métadonnées d'image, la recherche et le sitemap. Consultez Recherche et Localisation.
Rétablir délibérément la publication native précédente
L'activation conserve des révisions complètes de récupération des pages natives correspondantes, les passe en brouillon et sert la source à travers leurs modèles préservés. Adresses, blocs, images et traductions restent stockés. Les modèles conservés ne peuvent être supprimés ni déplacés vers un autre site tant que leurs enregistrements d'adoption existent.
Sur une règle active, Rétablir la publication précédente restaure les statuts initiaux des pages conservées et met les routes automatiques en pause. Cette action vérifie l'absence de modification depuis l'activation et bloque la restauration en cas de divergence. Le nettoyage de maintenance ne supprime pas les révisions de récupération protégées. Une règle en pause conserve sa configuration et doit passer une nouvelle vérification de transition avant réactivation.
La restauration concerne les pages natives conservées ; elle ne crée pas de copies natives pour les nouveaux enregistrements qui n'existaient que comme routes automatiques. Traitez-la comme une décision de publication du site et examinez ensuite routes publiques et découverte. Consultez Flux de travail éditorial.
Référence fournisseur
Une collection de standard 1.0 déclare publishesPages() avec une source d'entité du même plugin et des correspondances de champs de publication. Elle implémente ContentPublicationSource::publicationPage() pour des identités publiques bornées et ContentPublicationSource::publicationRecord() pour l'état courant d'un enregistrement. Les routes publiques exigent aussi ContentPublicationRouteSource::publicationKey() pour résoudre un slug exact sans parcourir le catalogue. Les deux politiques d'accès doivent autoriser la résolution publique.
L'énumération doit faire avancer son curseur et refuser les identités ou slugs dupliqués. La recherche distingue contenu disponible, absent, indisponible et incomplet. Les clés stables et les slugs minuscules séparés par des tirets doivent correspondre dans les six enregistrements traduits ; _locale doit correspondre à la langue demandée. Le rendu public utilise un contexte hors aperçu, sans administrateur. Ne fournissez pas d'anciens succès après retrait et ne présentez pas l'anglais comme une autre langue. Consultez le contrat de sources de Contenu dynamique pour types de champ, images et traductions du fournisseur.