3

Un système de gestion de contenu PHP a généralement son propre moteur de modèle, qu'il s'agisse de smarty ou d'un autre moteur de modèle personnalisé spécifique à ce CMS. Comment pourrais-je obtenir un thème de CMS pour travailler sur un site Web PHP normal sans convertir le site Web à un site Web alimenté par ce CMS? Puis-je «apprendre» au site Web à utiliser le moteur de gabarit d'un système de gestion de contenu (uniquement le moteur de gabarit et non le moteur cms actuel et ses fonctionnalités)? Ma question n'est peut-être pas très claire, mais je suis sûr que quelqu'un ici en sait assez sur les moteurs de gabarit pour me dire la bonne approche pour le faire.Que faut-il faire pour que le modèle CMS fonctionne sur un site Web normal?

+0

Ce n'est en effet pas très clair. Avez-vous un exemple moins abstrait? De plus, veuillez préciser ce que vous entendez exactement par "thème". – deceze

+0

@jblue "Thème" signifie différentes choses selon la technologie/projet/développeur. J'aurais aimé un exemple un peu plus concret. – deceze

Répondre

2

Si vous avez déjà des pages qui ont été implémentées en utilisant un système de template et que vous voulez pouvoir les utiliser sans ou avec peu de modifications, vous devriez regarder Twig ou un CMS compatible Twig. (une progéniture du projet Symphony)

Twig vous permet d'écrire votre propre Lexer et Parser, vous avez déjà sa propre syntaxe de template. Cela signifie que vous pouvez utiliser la syntaxe Smarty ou Mustache pour vos modèles, ou toute autre syntaxe que vous préférez.

+1

Vous pouvez utiliser Symphony avec Twig si vous trouvez que les modèles Symphony sont compliqués ou que vous avez besoin de stocker les modèles. IMO Twig est plus approprié pour cela. – Michael

3

Cela dépend du système CMS et du modèle qu'il utilise. Smarty peut être facilement implémenté sur un site statique, il serait donc aussi simple que de supprimer les bits CMS et de les remplacer par du contenu. Dans le cas de Joomla, vous pouvez prendre les fichiers modèles et supprimer le code du module et le remplacer par du contenu.

2

J'ai réfléchi à votre question au cours des 15 dernières minutes et je ne pense pas que cela puisse être fait sans copier le moteur de thème exact utilisé par le CMS. Mais le moteur de thème d'un CMS reste lié à l'API du CMS, ce qui signifie que vous avez besoin de votre site Web pour comprendre l'API du CMS. Fondamentalement, vous transformez votre site Web en ce CMS.

P.S. Je ne suis pas un expert en la matière alors peut-être que j'ai tout faux.

+2

Je pense que vous avez un bon point - vous devrez vous adapter à l'API du CMS, en fonction du niveau de fonctionnalité. Moins c'est facile. Aussi selon la façon dont les modules (si tel existe) sont conçus. – Michael

1

Vous pouvez enregistrer le modèle comme HTML plat et placer dans quelques balises de base pour produire votre propre contenu par exemple

<div id="mainmenu"><?php echo $mainMenu ?></div> 

etc

De cette façon, vous pouvez utiliser le thème avec votre propre code PHP .