[html?] DRY w html'u

0

(nie wiem czy ten temat na pewno do tego działu. Jakby co to proszę o przeniesienie)

Mam taki dość nietypowy problem...

Tak więc mam za zadanie zrobić stronę internetową (nie musi być wybitnie skomplikowana).

No i zacząłem próbować coś tam robić. Projekt strony wygląda mniej więcej tak: jakiś tam 'tytuł' na górze (obrazek czy coś), może 'menu' po lewej, 'zawartość' w środku.

No i masz - napotkałem nieoczekiwany problem - mianowicie ze swoich doświadczeń z programowaniem wyniosłem straszliwą awersję do metod "kopiuj&wklej i tak do skutku", a nie widzę innego rozwiązania jak stworzyć powiedzmy tytuł/nagłówek - na każdej stronie przecież taki sam (zmienia się tylko 'zawartość').

Myślałem żeby zrobić to w nieskalowanych ramkach, ale przeczytałem o wadach i doszedłem do wniosku że to nie jest najlepszy pomysł (szczególnie że znacznik jest niezalecany w XHTML).

Jeśli ktoś wie jak to zrobić to proszę o pomoc [soczek]

0

W samym HTML-u praktycznie się nie da. Albo języki po stronie serwera (SSI, PHP i tak dalej) albo JavaScript i dynamicznie podmienianie treści (ale to też ma wady).

0

JavaScript zdecydowanie w tym wypadku odradzam -- trochę na ślepo, bo zdarzają się (rzadko) sytuacje, w których jest on rozsądną alternatywą. Nic jednak nie wskazuje na to, by tak było tym razem.

Ramki też odradzam -- są stare, kiepskawo u nich z dostępnością (ang. accessibility) i ogólnie nie zaleca się ich stosować. Pozostaje reszta rzeczy, które wymienił @Ktos. Albo jakiś język programowania po stronie serwera (taki jak PHP, Python, czy Ruby) -- przy czym korzystałbyś tylko z bardzo podstawowych funkcji (include :)) -- albo SSI, czyli Server Side Includes.

0

A polecasz/cie raczej PHP (bo tylko co do tego języka wiem że serwer go obsługuje) czy JavaScript?

@Edit: bswierszczyński napisał jak odpowiadałem, więc - rozumiem że nie js. Poczytam o tym SSI bo jak żyję o czymś takim nie słyszałem ;), i zdecyduję między nim a PHP.

Dzięki za pomoc.

0

99% ludzi w takim przypadku wybiera PHP (lub inny język wykonywany po stronie serwera)
0% ludzi wybiera JS
1% ludzi po prostu pisze to samo kilka razy

a masz jeszcze do wyboru ramki pływające, lepsze to niż zrobić to w JS

0

A 87% statystyk jest wymyślanych na poczekaniu ;)

Najpopularniejsze serwery www potrafią obsługiwać SSI, server side includes, albo trochę nowsze ESI. Poszukaj na przykład mod_include dla Apache. Działa to tak, że w pliku html ustawiasz znacznik, który serwer podmieni na zawartość określonego pliku przed wysłaniem odpowiedzi klientowi.

Są też CMS-y, które działają po stronie klienta, a po zapisaniu zmian generują statyczne html-e do wysłania na serwer.

0

SSI z include działa nawet na darmowej Republice onetowej ;]

1 użytkowników online, w tym zalogowanych: 0, gości: 1