Maison >développement back-end >tutoriel php >Comment mettre en place un magazine multicangue en ligne avec Sulu
Sulu CMS: Construire un magazine en ligne multilingue
Ce tutoriel s'appuie sur une installation précédente "Hello World" Sulu (en utilisant Vagrant), plongeant dans les concepts de base et créant un magazine en ligne simple et multilingue. Avant de procéder, la familiarité avec la mise en place des environnements de développement de PHP isolés et la configuration initiale de SULU VAGRANT est recommandée.
Concepts clés:
SYMFONY_ENV
et SYMFONY_DEBUG
) pour un débogage facile et une compensation immédiate du cache (bin/adminconsole cache:clear --env=prod
). php bin/adminconsole sulu:document:initialize
pour initialiser les documents PHPCR pour chaque nouveau lieu. Ne pas le faire peut entraîner une perte de données; Les commandes de récupération sont fournies dans l'article original. pages et modèles de page:
Une page est un bloc de contenu, souvent composé de blocs plus petits. Un modèle de page utilise des brindilles pour le rendu et XML pour la définition structurelle. L'exemple d'extraits XML et Twig illustre cela. La modification des modifications de disposition et de publication master.html.twig
démontre le workflow.
Thèmes:
Un thème est une collection de modèles et d'actifs de page (CSS, JS, etc.), distinct de la disposition maître. Ce tutoriel se concentre sur les modèles de page, pas les thèmes.
Considérations de mise en cache:
Assurez-vous que vos variables d'environnement sont correctement définies pour un développement et un débogage efficaces. N'oubliez pas d'effacer le cache de manière appropriée pour chaque environnement.
Construire le magazine en ligne:
Un magazine en ligne nécessite: des pages d'information, de nombreux articles (souvent classés), des rôles utilisateur et une bibliothèque de médias. L'articlebundle relève le défi de gérer un grand nombre d'articles par le contenu Sharding (pour éviter la limite de 10 000 enfants de PHPCR).
Installation d'Elasticsearch:
Des instructions détaillées sont fournies pour installer Java 8 et Elasticsearch sur Ubuntu 16.04. Les étapes de dépannage sont incluses pour résoudre les problèmes de démarrage.
Installation et configuration d'article:
Le tutoriel fournit des étapes détaillées pour installer l'articlebundle (à l'aide du compositeur), la configurer dans AbstractKernel.php
et config.yml
, en ajoutant des itinéraires, en créant des exemples de modèles et en initialisant le bundle. Les autorisations doivent être ajustées dans l'interface utilisateur d'administration pour accéder à la fonctionnalité de l'article.
schémas URL:
Modifier le route_schema
dans config.yml
permet la personnalisation des URL de l'article.
Ajout de lieux:
L'ajout d'une nouvelle langue (par exemple, Croate - "HR") au fichier d'espace Web nécessite une exécution ultérieure de php bin/adminconsole sulu:document:initialize
. Surtout, cette commande doit être exécutée avant de créer du contenu dans le nouveau lieu pour éviter la perte de données.
Switcher de langue:
L'ajout d'un commutateur de langue à la disposition master.html.twig
permet aux utilisateurs de basculer facilement entre les langues.
Pages d'ombre:
Les pages d'ombre permettent le contenu de secours à partir d'une langue par défaut (par exemple, l'anglais) lorsqu'une traduction est manquante pour une page spécifique.
Conclusion:
Ce tutoriel fournit un guide complet pour construire un magazine en ligne multilingue utilisant SULU CMS, couvrant les concepts clés, l'intégration du faisceau et la gestion des paramètres régionaux. N'oubliez pas l'importance de la mise en cache appropriée, de la configuration Elasticsearch et de la commande critique sulu:document:initialize
pour la gestion des paramètres régionaux. Le tutoriel se termine par une section FAQ abordant les questions courantes sur Sulu et ses caractéristiques. Les images incluses dans le texte d'origine sont conservées dans leur format et leur emplacement d'origine.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!