mini cms - php richtig?

W

worshipper

Aktives Mitglied
Thread Starter
Dabei seit
20.06.2004
Beiträge
1.643
Reaktionspunkte
19
hallo,

hab ein kleines problem mit einer webseite.

diese soll nun von 1 sprachig deutsch auf 2 sprachig deutsch/englisch vorhanden sein.
jetzt könnte ich mir es ja einfach machen und einfach die seite kopieren und dann die texte austauschen.

das ist aber zu einfach...

kann man nicht im html dokument platzhalter definieren, die dann auf eine text datei verweisen, besser gesagt zwei textdateien? der server stellt dann automatisch die texte in die dafür notwendigen platzhalter bereit?

zudem möchte die seite um eine "tip a friend" und "druckversion" erweitern. was gibt es denn da für möglichkeiten?
 
worshipper schrieb:
...
kann man nicht im html dokument platzhalter definieren, die dann auf eine text datei verweisen, besser gesagt zwei textdateien? der server stellt dann automatisch die texte in die dafür notwendigen platzhalter bereit?
...
Du sprichst hier, wenn auch vielleicht unbewusst, von einer dynamischen Webseitengenerierung.
Natürlich geht das und man kann mit dem Konzept, das Dir vorschwebt, sogar sehr effizient Websites gestalten, wenn es viele Seiten mit gleicher (oder ähnlicher) Struktur gibt, die aber unterschiedliche Inhalte (in Deinem Fall zweisprachige) hat.
Eine sehr vielfältige Möglichkeit bietet dafür z. B. Perl mit dem Modul "HTML::Template". Dabei wird für jede Seite ein sog. Template (= Schablone) erstellt, die dann mit Variablen befüllt wird.
Dabei gibt es noch eine ganze Reihe von speziellen Funktionen, deren Aufzählung hier zu weit führen würde.
In Deinem Fall würde man wohl damit anfangen die Angabe "HTTP_ACCEPT_LANGUAGE" des Client Browsers auszuwerten und dementsprechend unterschiedliche Texte zur Verfügung stellen.

worshipper schrieb:
...zudem möchte die seite um eine "tip a friend"...
meinst Du damit das versenden eines Links auf die Seite (oder die ganze Seite) per email?
Auch das geht mit Perl problemlos.
worshipper schrieb:
...und "druckversion" erweitern.
...
sowas kann man mit css machen.
Auch hier bietet sich die Kombination mit Perl und "HTML::Template" an.
 
worshipper schrieb:
kann man nicht im html dokument platzhalter definieren, die dann auf eine text datei verweisen, besser gesagt zwei textdateien? der server stellt dann automatisch die texte in die dafür notwendigen platzhalter bereit?

Die einfachste Variante wäre SSI. Muß der Server natürlich können.

http://httpd.apache.org/docs/howto/ssi.html Abschnitt "Including a standard footer"
 
Das würde zwar funktionieren, Nogger, ist aber für den ganannnten Anwendungsfall IMHO so umständlich und unflexibel, dass dann sogar der Ansatz mit den zwei Varianten der selben Site zu bevorzugen ist.
Diese kann man dann einfach anhand Ihrer Endung (index.html.de, index.html.en) aufrufen und gut ist.

Frage an worshipper: Was spricht eigentlich aus Deiner Sicht gegen diese klassische Lösung der content-negotiation.
 
ssi hab ich leider nicht.

perl kann ich nicht.

content-negotiation kenne ich nicht werde es mir durchlesen.

währe ein cms wie typ3 vielleicht das richtige?
 
Content-negotiation wurde genau für diesen Zweck entwickelt.
Ich denke, dass Du damit klar kommen wirst und dass es für diesen Zweck die beste und auch die einfachste Lösung ist.
Wenn auf dem Server content-negotiation aktiv ist (was i. d. R. der Fall ist), musst Du nur noch die deutschen Seiten mit der zusätzlichen Endung .de und die englischen mit der zusätzlichen Endung .en versehen.
Je nach Einstellungen des Client Systems wird dann die jeweilige Sprachversion automatisch ausgeliefert.

Viel Erfolg, und berichte doch mal gelegentlich von Deinen Erfahrungen.
 
Typo3 einzusetzen um eine Webseite 2-sprachig zu haben ist wahrlich mit Kanonen auf Spatzen schießen! CMS-Systeme sind zumeist komplex, für Typo3 gilt das insbesondere! Man muß zunächst die Funktionsweise und die administration dieser CMS lernen. Da das CMS ein Overhead produziert, wird die Webseite auch zwingend langsamer ( oder man muß mehr Rechenpower kaufen!). Auch kann man innerhalb eines CMS eben auch nur in den Rahmenrichtlinien arbeiten die das CMS vorgibt. Will man eine Lösung außerhalb des "normalen", verläßt man das CMS.
CMS machen durchaus Sinn, überall da wo redaktionell gearbeitet werden soll und Content generiert werden kann. Deswegen sollte man aber CMS nicht immer als Standardwerkzeug zur Webseitengenerierung sehen. In vielen Fällen ist es gar nicht nötig oder engt ungewollt ein. In diesem Fall würd ich höchstens zu einem Mini-CMS a la webyep oder ähnlichem raten, welches es erlaubt an bestimmten Stellen Texte oder Bilder zu tauschen aber nicht die gesamte Seite verwaltet. Mit ein bißchen Programmiererfahrung würd ich sogar darauf verzichten. Der von apache.org vorgesehene einfache Weg wurde ja schon von maceis erwähnt.
 
Zurück
Oben Unten