2012-06-28 17 views
6

Mam naprawdę ciężkie przeszukiwanie, ponieważ nie mam pojęcia, jak to nazwać.Powtórz ten sam kod HTML na kilku stronach.

Spróbuję opisać proces, który chcę, i sprawdzić, czy któryś z was zna takiego redaktora. Mam stronę internetową, która ma powtarzany w nich ten sam komponent HTML, na przykład menu. Mogę zdefiniować wygląd menu z css, ale nie mogę (o ile mi wiadomo) dodać tego samego fragmentu html do każdej strony html za pomocą prostej linii. Co robię, skopiuj menu do każdego miejsca. Jeśli zmienię menu, muszę zrobić to jeszcze raz. Wiem, że można to osiągnąć za pomocą serwera dynamicznego, z czymś takim jak php lub jsp, ale nie potrzebuję tego, aby był dynamiczny.

Zastanawiałem się, czy istnieje sposób, aby to zrobić. Pomyślałem, że istnieje edytor, w którym mogę edytować html za pomocą włączeń, a następnie "kompilować" htmls po modyfikacji, aby wyprodukować htmls, które zastąpię na moim serwerze.

Dzięki

+1

można to osiągnąć przy użyciu jQuery za '.load()' funkcyjny. Ale myślę, że nie szukasz rozwiązań opartych na jQuery. –

+3

Po to jest PHP. Nie ma znaczenia, czy zawartość jest dynamiczna. Wystarczy raz napisać menu, a następnie dołączyć je do PHP w dowolnym momencie. –

+0

Myślę, że patrzysz na szablony i myślę, że tkacz snów ma taką funkcję? –

Odpowiedz

4

przyjrzeć się server side includes ... stworzyć menu.shtml stronę, a następnie umieścić go tak:

<!--#include virtual="/menu.shtml" --> 

Jej obsługiwanych przez większość serwerów WWW po wyjęciu z pudełka (w tym IIS, Apache i lighttpd)

0

Można napisać prosty kawałek js w zewnętrznym pliku, a następnie wywołać go na każdej stronie, aby dynamicznie załadować menu. Następnie możesz po prostu edytować menu, edytując plik JS. wszystko, co musisz zrobić, to dołączyć do html i użyć document.getElementById ("menu"). innerHTML = menuHTML; gdzie menuHTML jest zmienną zawierającą czysty kod HTML menu. Następnie można dołączyć plik JS i nazwać go w onload ciała

1

Słyszałeś o MasterPage Concept

link poniżej daje szybki start

strona Mistrz to strony, które będą działać jako ramka dla wszystkich innych stron. Musisz napisać tylko jeden. Każda strona, która się do tego podda, będzie musiała zawierać stronę wzorcową. To wszystko!

0

można to zrobić z jQuery

Załóżmy masz page1.html page2.html itp

chcesz w każdej z nich wyświetla twoje dane kontaktowe. Możesz utworzyć plik o nazwie "info.txt". W miejscu, w którym chcesz uzyskać te informacje kontaktowe, wstaw element div. jak pokazano w poniższym przykładzie

<!DOCTYPE html> 
<html lang="en"> 
    <head> 
    <meta charset="utf-8"> 
    </head> 
    <body> 
    <!-- page content --> 
    <div id="contact"></div> 
    </body> 
</html> 




<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.2/jquery.min.js"></script> 

<script> 
$(document).ready(function(){ 
     $("#contact").load("info.txt"); 
    ; 
}); 
</script> 

Cokolwiek umieścić w „info.txt” zostaną umieszczone na miejscu z ty umieścić

Powiązane problemy