Pages du CMS (CLI)
Créez et supprimez des pages CMS à partir de la ligne de commande.
Lorsque le module cms est installé, l’interface de ligne de commande Nibiru gagne deux drapeaux supplémentaires pour gérer les pages du CMS directement. C’est le même magasin de contenu qui alimente le site e-commerce de production prod.maschinen-stockert.de, où les rédacteurs mettent à jour le contenu du site sans toucher au code.
Créer une page
Section intitulée « Créer une page »./nibiru -new-cms-page about-usCeci :
- Insère une ligne dans la table
cms_pagesavec le slugabout-us. - Lie la page à un modèle CMS (le modèle par défaut, sauf si un autre est configuré).
- Crée des lignes de placeholder par langue dans
cms_template_textsafin que les éditeurs puissent remplir le contenu pour chaque langue prise en charge.
Visitez /cms/about-us (ou votre préfixe de CMS configuré) et la nouvelle page est en ligne.
Supprimer une page
Section intitulée « Supprimer une page »./nibiru -delete-cms-page about-usSupprime la ligne de page et ses entrées associées cms_template_texts. Le modèle de CMS lui-même n’est pas supprimé — seul le lien de la page avec celui-ci est effacé.
Pourquoi ces commandes sont-elles des commandes CLI et non simplement du SQL
Section intitulée « Pourquoi ces commandes sont-elles des commandes CLI et non simplement du SQL »Deux raisons :
- Atomicité — la création d’une page nécessite des insertions dans deux tables (la page et ses lignes de texte). L’interface en ligne de commande (CLI) encapsule cela dans une transaction.
- Unicité du slug — l’interface en ligne de commande (CLI) vérifie les collisions avant l’insertion et fournit une erreur plus conviviale qu’une violation de contrainte SQL.
Sans le module CMS
Section intitulée « Sans le module CMS »-new-cms-page et -delete-cms-page quittent avec un code d’erreur non nul et un message d’erreur clair si le module cms n’est pas installé. Ajoutez-le avec :
./nibiru -m cms./nibiru -mi local(Voir Modules pour ce que fait ./nibiru -m et les fichiers de migration que le module cms fournit.)
Édition du contenu après sa création
Section intitulée « Édition du contenu après sa création »La CLI ne modifie pas le texte — c’est délibérément laissé à l’interface utilisateur web du module CMS. À partir du code de production :
// Read all text identifiers for a controller path + language$texts = \Nibiru\Module\Cms\Cms::init('about-us') ->loadCmsTemplateTextsByControllerPath('about-us/page', $this->language);
foreach ($texts as $t) { \Nibiru\View::assign([ $t['cms_template_texts_text_identifier'] => $t['cms_template_texts_text_content'] ]);}Le résultat : chaque {$identifier} dans le modèle est automatiquement rempli avec le contenu de la langue actuelle. Les non-développeurs gèrent le texte via l’interface d’administration ; les développeurs gèrent la disposition via le modèle.