2010-10-01 4 views
3

Si vous construisez un site web simple en utilisant simplement HTML/CSS/Javascript qui a 5 pages, est-il possible de construire un template pour que les en-têtes et la navigation puissent être appelés dans chaque page?Créer des modèles en HTML/CSS

+0

Ceci est facilement possible si vous utilisez un script côté serveur comme PHP ou ASP.NET, sinon vous devriez simplement créer un fichier HTML modèle et créer de nouvelles pages à partir de ce modèle. –

+0

Merci à tous pour les réponses. Je vais essayer [ttree] (http://template-toolkit.org/docs/tools/ttree.html) comme suggéré par @David Dorward. – Jaspero

+0

Utilisez-vous Apache? Cela a inclus côté serveur. Je ne les ai jamais utilisés mais je sais qu'ils sont là – MikeAinOz

Répondre

1

Bien que vous puissiez utiliser JavaScript pour générer du contenu, c'est une mauvaise idée (pour toutes les raisons habituelles, avoir JavaScript qui n'est pas discret n'est pas une bonne idée).

Vous devez utiliser un système de gabarit approprié ou un système inclus.

Je suggère de regarder l'utilitaire ttree qui fait partie de Template-Toolkit. Il génère des fichiers statiques, de sorte que vous n'avez pas besoin de support côté serveur particulier pour l'utiliser.

+0

Etes-vous sûr de ne pas avoir besoin du côté serveur? Même Apache? – Jaspero

+0

Oui. Vous l'exécutez et vous obtenez des fichiers statiques. Si vous voulez qu'il soit accessible via HTTP alors vous aurez besoin d'un serveur web quelconque ... mais les fichiers statiques fonctionnent si vous pointez votre navigateur sur eux sur votre disque dur, donc vous n'avez pas besoin d'Apache (ou de tout autre serveur) pour que le moteur de gabarit fonctionne. (Cela signifie également que vous pouvez exécuter le moteur de template sur votre poste de travail et télécharger le résultat sur un serveur, vous n'avez donc pas besoin d'installer TT sur votre serveur) – Quentin

2

Le JavaScript et le CSS, oui, le HTML, sans quelque chose comme côté serveur inclus ou un langage dynamique faisant sa propre inclusion, non.

La seule option sans utiliser ce qui précède est si vous utilisez des cadres, ou un iframe, mais ils ont leurs propres problèmes que vous devez vous contenter.

Sinon, vous devrez simplement mordre la balle et avoir du code en double sur toutes vos pages.

1

utilisez un langage de script tel que asp ou php est la meilleure option. L'option 2 est d'utiliser iframes et l'option 3 est si vous n'avez pas accès à un langage de script tel que ASP ou PHP, et ne voulez pas utiliser iframes vous pouvez utiliser jQuery et utiliser $ .get() pour charger les fichiers d'en-tête et de pied de page dans les DIV nommés après le chargement de la page. cela nécessiterait javascript et serait loin de optimale.

2

Vous pouvez créer un header.html, un footer.html puis un contenu normal, et récupérer l'en-tête/pied de page avec AJAX à chaque fois, en le plaçant avant et après le contenu. Un langage de script côté serveur serait plus facile, mais c'est possible.

2

Je ne suis pas très sûr à ce sujet, mais ne peut-il pas être fait avec XSLT et XML?

Questions connexes