2010-11-08 5 views
2

Je vais écrire un grand site Web, il a des centaines de pages HTML. Certaines parties du fichier utilisent le même code HTML, comme la bannière, la clause de non-responsabilité, etc. Je souhaite mettre à jour les parties communes du HTML dans un lot lorsque les parties sont modifiées, je cherche un moyen de efficacement le faire. Actuellement, ma solution entoure les tempes avec des commentaires HTML, et utilise le script Linux (sed principalement) pour le mettre à jour si nécessaire. Comme:HTML: La meilleure façon d'utiliser le modèle dans un grand site Web

<!-- Template1 --> 
<!-- Template1-end --> 

Une meilleure façon?

Répondre

4

Template Toolkit est votre ami. Si vous construisez en utilisant un script shell qui crache des fichiers statiques (et cela sonne comme vous l'êtes), alors vous aurez besoin de l'utilitaire ttree. Vous trouverez probablement the tutorial utiles et vous voulez utiliser le WRAPPER directive (qui vous permet d'avoir une page complète avec des sections "Insérer du contenu ici" plutôt que de coller "Inclure l'en-tête", "Inclure la navigation", "Inclure le pied de page" dans chaque page de contenu). Aller avec TT vous donne la possibilité de passer aux scripts côté serveur dans le futur avec un minimum d'effort (tant que vous êtes heureux d'utiliser Perl pour la programmation côté serveur) comme Template-Toolkit a des modules Perl ainsi que ttree.

+0

TT semble fantastique, mais je ne pouvais pas trouver beaucoup de ressources pour m'aider avec un problème très simple - je ne pouvais pas obtenir une directive INCLUDE à travailler (sur Windows). tpage n'a pas pu voir les fichiers .tt demandés par INCLUDE, et je n'ai pas trouvé de ressource expliquant comment les modèles inclus ont effectivement été trouvés. J'ai essayé [la documentation] (http://template-toolkit.org/docs/manual/Directives.html#section_INCLUDE) mais cela n'a pas semblé aider. – iono

0

Vous pouvez utiliser javascript pour inclure des modèles, ou simplement utiliser le côté serveur et utiliser des méthodes d'inclusion de pages dynamiques, trouvées par défaut dans les langages de script Web les plus appropriés. Il n'y a aucun moyen d'y parvenir dynamiquement en utilisant seulement le code HTML, vous devrez passer par un logiciel ou une application tierce pour mettre à jour vos fichiers source à la fin de toute façon (comme vous le faites déjà avec votre script batch).

+3

L'utilisation de Javascript côté client pour inclure des modèles est une mauvaise idée dans la plupart des cas. –

+1

Vous avez absolument raison, mon ami :-) Faire ce genre de projet sans un langage côté serveur est une mauvaise idée en premier lieu. – subZero

+0

En fait, je déteste la conception de "langage côté serveur", j'aime utiliser des pages statiques avec AJAX pour obtenir les données et l'afficher sur la page Web. C'est l'isolation propre du client/serveur et des données/vue. –

Questions connexes