2009-07-22 9 views
3

Ça faisait longtemps que je n'avais pas fait de conception de noyau dur, alors j'ai une question pour vous. Je suis certain qu'il existe une fonctionnalité de xhtml qui vous permet de créer un modèle et d'inclure ce modèle dans vos autres pages xhtml. Ce que j'essaye de faire est de créer un modèle de "liens principaux" qui permette à n'importe quelle page de référencer les pages principales du site. J'ai pensé qu'un modèle serait mieux à utiliser car il permettrait une édition facile de ces liens. Si je devais les coder en dur sur toutes les pages, ce serait un cauchemar si je devais changer quelque chose.Programmation de modèles XHTML

Btw, ce site est seulement fait en xhtml, css et javascript. J'aurais pu utiliser quelque chose de plus costaud comme jsf, mais je n'en avais pas envie.

Si quelqu'un a des idées à ce sujet, ou des suggestions sur une meilleure façon de le faire, ce serait génial.

Merci, Robbie

Répondre

2

Vous êtes probablement à faire quelque chose avec comprend, ce qui est une partie de XHTML mais plutôt une technologie côté serveur comme PHP ou ASP.

Voir les articles de ce W3School sur PHP include() and require() et ASP Including files. Pour autant que je sache, il n'y a rien en XHTML, CSS et/ou JavaScript qui fasse ce que vous voulez.

+0

Lame. J'espérais que ce n'était pas le cas. Je suppose que je vais juste devoir réapprendre comment faire du développement jsf. – Robbie

1

Voulez-vous dire quelque chose comme des pages maître asp.net?

Vous pouvez utiliser les ajouts AJAX ou Serverside pour inclure des parties de votre modèle. Cependant, XHTML ne le supporte pas par défaut. Vous devez écrire du code vous-même. La plupart des sites Web ont un modèle qui est inclus côté serveur.

en php, vous pouvez le faire:

page.php

<?php ob_start(); ?> 
    your page 
<?php 
    $content = ob_get_contents(); 
    ob_end_clean(); 
    $title="pagetitle"; 
    require("template.php"); 
?> 

template.php

Use <?php echo $title; ?> where you want your title 
Use <?php echo $content; ?> where you want your content 
2

Vous pouvez étendre la DTD avec des entités (comme décrit à http://xml.silmaril.ie/authors/includes/), mais vous constaterez que la prise en charge du navigateur est aussi mauvaise que pour XInclude. Si vous souhaitez utiliser n'importe quel type de modèle, vous devez vous tourner vers d'autres technologies que vous pouvez configurer pour produire XHTML plutôt que de faire quoi que ce soit d'intrinsèque à XHTML lui-même (au moins si vous voulez aborder le problème correctement) .

http://allmyfaqs.net/faq.pl?Include_one_file_in_another est un bon résumé des options disponibles.

0

Si vous voulez vraiment rester à l'écart des technologies côté serveur qui peuvent offrir la fonctionnalité d'inclusion que vous voulez, peut-être vous pouvez trouver un IDE/éditeur qui prend en charge les modèles ou inclut ou quelque chose de similaire. Je n'ai aucune expérience avec moi-même, donc je ne peux pas recommander un logiciel spécifique, mais je sais qu'il existe des IDE/éditeurs qui offrent les fonctionnalités que vous recherchez.