Программирование шаблонов XHTML

Прошло некоторое время с тех пор, как я занимался каким-либо серьезным веб-дизайном, поэтому у меня есть вопрос к вам. Я почти уверен, что в xhtml есть функция, которая позволяет вам создать шаблон и включить этот шаблон в другие ваши страницы xhtml. Я пытаюсь создать шаблон «основных ссылок», который позволяет любой странице ссылаться на основные страницы сайта. Я решил, что лучше использовать шаблон, так как он позволяет легко редактировать эти ссылки. Если бы я просто жестко закодировал их на всех страницах, это был бы кошмар, если бы мне пришлось что-то менять.

Кстати, этот сайт делается только на xhtml, css и javascript. Я мог бы использовать что-то более мощное, например, jsf, но мне просто не хотелось.

Если у кого-то есть идеи по этому поводу или предложения по лучшему способу сделать это, было бы здорово.

Спасибо, Робби.


person Robbie    schedule 22.07.2009    source источник


Ответы (4)


Вы, вероятно, хотите сделать что-то с включением, которое не является частью XHTML, а является серверной технологией, такой как PHP или ASP.

См. статьи W3School о PHP include() и require() и ASP, включая файлы.

Насколько мне известно, в XHTML, CSS и/или JavaScript нет ничего, что делало бы то, что вы хотите.

person Travis    schedule 22.07.2009
comment
Хромой. Я надеялся, что это не так. Думаю, мне просто нужно заново научиться разрабатывать jsf. - person Robbie; 22.07.2009

Вы можете расширить DTD сущностями (как описано в http://xml.silmaril.ie/authors/includes/), но вы найдете такую ​​же плохую поддержку браузерами, как и для XInclude.

Если вы хотите использовать какие-либо шаблоны, вам нужно обратиться к другим технологиям, которые вы можете настроить для вывода XHTML, а не делать что-либо, свойственное самому XHTML (по крайней мере, если вы хотите подойти к проблеме разумно).

http://allmyfaqs.net/faq.pl?Include_one_file_in_another – хороший обзор вариантов. доступный.

person Quentin    schedule 23.07.2009

Вы имеете в виду что-то вроде главных страниц asp.net?

Вы можете использовать AJAX или Serverside для включения частей вашего шаблона. Однако XHTML не поддерживает это по умолчанию. Вы должны сами написать код. Большинство веб-сайтов имеют шаблон, который включен на стороне сервера.

В php вы можете сделать это:

страница.php

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

шаблон.php

Use <?php echo $title; ?> where you want your title
Use <?php echo $content; ?> where you want your content
person Community    schedule 22.07.2009

Если вы действительно хотите держаться подальше от технологий на стороне сервера, которые могут предложить нужные вам функции включения, возможно, вы сможете найти IDE/редактор, который поддерживает шаблоны или включения или что-то подобное. У меня нет опыта в этом, поэтому я не могу рекомендовать конкретное программное обеспечение, но я знаю, что есть IDE/редакторы, которые предлагают функциональность, которую вы ищете.

person Daan    schedule 23.07.2009