cms4ds - ein CMS für die DS

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
4
Punkte
0
hab ich mir fast gedacht :eek:
also Seite 2 rechts punkt 2 ergibt aktualisiert = Seite 2 rechts punkt 1
ich hoffe das war jetzt verständlich!;)

Seite 2 punkt irgendwas ergibt aktualisiert immer das erste auf der rechten Seite.

Die Beiträge/Titel werden nach Datum absteigend sortiert aus der Datenbank heraus gelesen. Dann wird eine Titelliste auf der Basis eines Arrays(mit Basis 0) zugeordnet. Oben ist der Index 0 und diesen Titel lass ich halt nicht verschwinden mit display:none. Also ist auch immer nach einem Refresh dieser Titel sichtbar.

Verständlich ausgedrückt? Es sind ja alle Titel auf der Seite bereits da, nur halt ausgeblendet. Der erste oben wird als erster immer angezeigt, auch beim Refresh.

itari
 

Pompom

Benutzer
Mitglied seit
17. Jul 2008
Beiträge
70
Punkte für Reaktionen
0
Punkte
6
Verständlich ausgedrückt? Es sind ja alle Titel auf der Seite bereits da, nur halt ausgeblendet. Der erste oben wird als erster immer angezeigt, auch beim Refresh.

itari

alles klar Danke für die Auskunft!:)
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
4
Punkte
0
Schritt 9

SCHRITT 9:

Eine Möglichkeit, die Neuigkeiten einer Web-Site bzw. eine Blogs schnell verfolgen zu können, ist seine Neuigkeiten anderen als Feed anzubieten. Es gibt verschiedene Feed-Protokolle. Das wohl bekannteste und überall lauffähige, aber hinsichtlich der Informationen eher bescheidene Protokoll ist RSS Version 0.91. Egal welches man nimmt, man muss eine XML-File erzeugen, besser gesagt, der Output muss den XML-Regularien entsprechen. Deshalb wird unsere neue Datei cms4ds_rss.php einen anderen Header abschicken als sonst.

Damit alles wieder schön funktioniert, habe ich die js-Datei und die beiden html-Dateien wieder ein wenig angepasst. Hauptsächlich deswegen, damit auch die Feed-Einladung im Browser angezeigt wird (siehe Icon im oberen Bild). Wenn man dann da klickt, erscheint das untere Bild (mehr oder weniger ähnlich in den verschiedenen Browsern). Das wird wieder mit einem Link-Element gemacht, so wie schon mal bei der Browser-Such-Integration. Zum zweiten soll natürlich auch die Historie weiterhin funktinieren, deshalb auch da ein wenig Anpassung.

(1) Also wieder die Dateien usw usw.

Randbemerkung: Ich glaube der Syno-Blog hat kein Feed - also sind wir ihm wieder ein Stück voraus ;)

itari

Das Bildchen:
 

Anhänge

  • cms4ds.js.txt
    3,3 KB · Aufrufe: 13
  • index.html.txt
    1,6 KB · Aufrufe: 13
  • cms4ds_rss.php.txt
    1,1 KB · Aufrufe: 12
  • cms4ds8.jpg
    cms4ds8.jpg
    59,2 KB · Aufrufe: 251
  • page2.html.txt
    1,3 KB · Aufrufe: 12

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
4
Punkte
0
Schritt 10

SCHRITT 10:

Einbau eines Feed-Readers.

Ich habe den Feed-Reader mal in die index.html eingebaut und zwar so, dass er 8 Einträge des aktuellen News-Feed von heise.de einliest. Dafür sind 2 Dinge nötig: einmal ein Plätzchen, wo das Ergebnis erscheinen soll <div id="feed" ... und ein Aufruf LoadRSS("http://www.heise.de/newsticker/heise.rdf").
Die JavaScript-Funktion LoadRSS in der cms4ds.js ist ein AJAX-Call auf eine Helper-PHP (getrss.php), da man aus Sicherheitsgründen keine Cross-Pages in Java einlesen darf. In der getrss.php habe ich schon ein wenig vor verarbeitet (den Namensraum des Feeds entfernt). Damit die XML-Strecke (der Feed) nachher auch schön aufbereitet ist, wird sie im JavaScript mit einem xsl-Stylesheet (rss.xsl) bearbeitet. Im diesem Stylesheet kann man die Anzahl der Feed-Einträge und die Text-Kürzung der Zeilen nach eigenen Vorstellungen anpassen. LoadRSS führt also die XML- Strecke und das XSL-Stylesheet zusammen aus und erzeugt dabei eine HTML-Ausgabe. Leider muss man bei der Zusammenführung unterschiedliche Wege für die FF und IE-Welten gehen, daher ist beides eingebaut. Weitere Browser hab ich nicht berücksichtigt (Safari läuft aber auch). Zuletzt werden in der cms4ds.css noch die Texte schön gemacht (Abstände, Fonts, Hintergrundfarbe). Es sind also 5 Dateien für den Feed involviert: index.html, cms4ds.js, getrss.php, rss.xsl und cms4ds.css.

Dass der Feed-Reader nicht nur für den Heise-Feed geht, sondern auch für andere RSS-Feeds, kann man sich sicher vorstellen. Auch für ATOM-Feeds wäre nur die getrss.php und die rss.xsl anzupassen, was nun sicherlich nicht mehr ganz so schwierig ist, weil man ja eine Vorlage hat.

Ich habe mein Verzeichnis komplett gezippt und angefügt. Ich hoffe, dass der Umgang damit ok geht.

itari

Das Bildchen:
 

Anhänge

  • cms4ds.zip.txt
    17,1 KB · Aufrufe: 19
  • cms4ds10.jpg
    cms4ds10.jpg
    55,8 KB · Aufrufe: 250

Pompom

Benutzer
Mitglied seit
17. Jul 2008
Beiträge
70
Punkte für Reaktionen
0
Punkte
6
Danke itari,

ich muß mich jetzt erst mal ausklinken da ich für eine Woche in den Urlaub fahre.
also nicht böse sein wenn ich in der Zeit nichts schreibe dort gibt es kein Internet in der Nähe.:(
Außerdem hann ich mir den Qulltext in aller ruhe ansehen.:D

Also bis nächsten Sonntag!

Gruß Pompom
 

DSL-Hexe

Super-Moderator
Teammitglied
Mitglied seit
01. Apr 2008
Beiträge
673
Punkte für Reaktionen
0
Punkte
44
Hoffentlich geht meine DS-207+ bald wieder, wenn ich das alles lese bekomme ich Entzugserscheinungen.
 

Pax90

Benutzer
Mitglied seit
14. Aug 2008
Beiträge
122
Punkte für Reaktionen
0
Punkte
0
kurze frage:
warum machst du nicht eine .rar, mit einer install.php =) ?
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
4
Punkte
0

QTip

Super-Moderator
Teammitglied
Mitglied seit
04. Sep 2008
Beiträge
2.338
Punkte für Reaktionen
1
Punkte
84
mach doch nen IP basierenden Counter ;)

mal kurz offtopic...würde noch mitmachen bei dem cms-Projekt, sieht bis jetzt allerdings so aus, das du alles allein machst. Wie kann man denn da mitarbeiten, ohne das man sich in die Quere kommt? Vielleicht wird das später ein CVS oder SVN Projekt :D

hab Erfahrung in PHP, HTML, mySQL, bisschen Javascript und Linux. Ans designen kann ich mich auch ranwagen, wenn es nicht zu viele Specialeffects haben soll *g

Mein aktuelles Project seit über 4 Jahren, eine Ligapage http://www.ntfcl.org/
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
4
Punkte
0
Hi QTip,

IP-basierter Counter? Mach mal :) In der Datenbank stehen ja die IP-Adressen drin.

Ja du hast recht, dass ich das bislang alleine mache. Aber das muss nicht so sein und bleiben. Es gibt sicherlich verschiedenen Arten der Zusammenarbeit. Ich habe aber darin nicht sehr viel Erfahrung. Wenn du das Konzept des cms4ds durchschaut hast (mit AJAX die Seiten dynamisch füllen - die gefüllten Seiten per JavaScript anzeigen oder ausblenden und Überschriftenauswahl generieren), dann kannst ja weitere Seiten-Stile entwickeln: Blog mit Kommentar, Forum, Terminliste usw. Oder bei der Counter-Geschichte was intelligenteres basteln, das man die Besucher tracken kann ... oder eine News-Liste, der neuesten Beiträge anzeigen lassen (könnte man als Feed auf die eigene Seite machen), Bildergallerie der auf der DS vorhandenen Bilder usw. usw. Oder eine Steuerung für den Stil der Page entwickeln, so eine Art Admin-Modul, mit dem man das Layout einstellt (links, rechts, Abstände, Farben usw.)

Bei allem gilt natürlich, es muss auf der Serverseite so einfach wie möglich sein, so wenig wie möglich die Datenbank belasten und so wenig wie möglich irgend welche fertige PHP-Bibliotheken einbinden, die das CMS langsamer machen könnten. Es kann auf der Browser-Seite alles nur Erdenkliche enthalten. Also volle Kanne JavaScript, weil das die DS nicht langsam macht. Und es muss nicht jede Browser-Version mögen, sollte aber so wenig wie nötig Browser-Weichen enthalten. Das wären - so denke ich - die Rahmenbedingungen, denn wir müssen ja nicht unbedingt gegen Joomla oder WordPress gewinnen :D

Ich glaube, dass wir uns nicht in die Quere kommen und wenn, dann werden wir bestimmt eine gemeinsame Lösung finden. Also steig ruhig ein und mach mit.

itari
 
Zuletzt bearbeitet:

QTip

Super-Moderator
Teammitglied
Mitglied seit
04. Sep 2008
Beiträge
2.338
Punkte für Reaktionen
1
Punkte
84
so, nun meine ersten Anpassungen zur cms4ds ;)
  1. zentrales Datenbank-Verbindungsscript, damit man nicht jedesmal die Daten erneut anpassen muss (logge mich z.B. nicht mit root ein)
  2. umgebautes Log-Script was nun gegen die IP's in der DB prüft (sehr simpel)
In jedem .php Script müssen die folgenden beiden Einträge
Code:
$conn = @mysql_connect("localhost","root");
mysql_select_db("cms4ds",$conn);
gegen diesen hier ausgetauscht werden:
Code:
require_once("cms4ds_connect.php");
Anschließend noch in dem neuen Script cms4ds_connect.php eure Logindaten für die Datenbank anpassen.

Die Dateien nach dem Download, wie schon bekannt, umbennen, also das .txt hinten entfernen.

noch etwas Anderes @itari
das mysql_close() am Ende brauchst du nicht, denn nach Abarbeitung des PHP-Scripts, wird die Verbindung automatisch geschlossen (ausser bei einer persistenten Verbinung, die du aber nicht benutzt)
 

Anhänge

  • cms4ds_connect.php.txt
    320 Bytes · Aufrufe: 11
  • cms4ds_log.php.txt
    841 Bytes · Aufrufe: 12
Zuletzt bearbeitet:

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
4
Punkte
0
hey QTip,

schön dass du einsteigst und dir Gedanken zur Verbesserung machst. Und bitte mach weiter, auch wenn ich natürlich nun mit dir über das ein oder andere diskutiere.

Zur Auslagerung zwei Anmerkungen:
(1) Wenn man den DB-Connect auslagert, dann am besten direkt in eine .inc-Datei, also cms4ds_connect.php.inc, damit man den Zugriff nochmal zusätzlich absichert (inc-Dateien werden normalerweise nicht angezeigt...)
(2) Ein Problem der DS ist es, dass sie Performance-Probleme bei Einlagern von zusätzlichen Dateien hat; deswegen sollte man möglichst wenig in Dateien auslagern (also möglichst wenig include oder require verwenden).

Ich denke, dass dein Vorschlag aber kein wirkliches Performance-Problem darstellt, so dass das ok ist.

Check doch mal, ob eine persistente Datenbank Verbindung sogar für unsere Aufgabenstellung besser ist. Da ich selten ohne Pear-MD DB-Zugriffe programmiere, hab ich kein wirkliches Gefühl dafür, wie sich das auswirkt. Nur Pear in das cms4ds einzubauen heißt, bedeutet Performance-Verlust...

itari
 

QTip

Super-Moderator
Teammitglied
Mitglied seit
04. Sep 2008
Beiträge
2.338
Punkte für Reaktionen
1
Punkte
84
Also eine persistente Verbindung benötigen wir nicht wirklich, da unsere Anfragen an die Datenbank überschaubar sind. Die persistente Verbindung benötigt im Fall von mehreren Verbindungen auch mehr Resourcen (Hauptspeicher), was wir auf der DS natürlich auch nicht haben.

PHP: Resources - Manual schrieb:
Persistente Verbindungen wurden entwickelt, um eins-zu-eins Abbildungen auf reguläre Verbindungen zu haben. Das heißt, dass man immer in der Lage sein sollte, die persistenten Verbindungen durch nicht-persistente zu ersetzten, ohne dass dies den Skriptablauf verändert. Es kann (und wird vermutlich auch) die Effizienz des Skriptes beeinflussen, aber nicht dessen Verhalten.

PHP: Resources - Manual schrieb:
Dank der mit der Zend Engine von PHP 4 eingeführten Referenzzähler werden Resourcen die von keiner Variablen mehr referenziert werden automatisch erkannt und vom Garbage Collector freigegeben. Aus diesem Grund ist es selten nötig Speicher von Hand freizugeben.
Hinweis: Persistente Datenbankverbindungen sind eine Ausnahme von dieser Regel, sie werden nicht vom Garbage Collector entfernt. Mehr Informationen finden sie im Abschnitt Persistente Verbindungen.

Leider hab ich mit AJAX und Javascript wenig Erfahrung und kann in dieser Richtung zur Zeit nur wenig zum Projekt beitragen. Mein Schwerpunkt liegt hauptsächlich auf PHP, mySQL und HTML. Werde tun was ich kann um aktiv mitzuwirken.

Und das mit dem .inc am Ende können wir machen, gute Idee.
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
4
Punkte
0
Also eine persistente Verbindung benötigen wir nicht wirklich, da unsere Anfragen an die Datenbank überschaubar sind. Die persistente Verbindung benötigt im Fall von mehreren Verbindungen auch mehr Resourcen (Hauptspeicher), was wir auf der DS natürlich auch nicht haben.

Hauptspeicher ist eher kein Problem bei der DS (durch das großzügige Swap-Space gibt es davon für die Prozessverarbeitung genug - auch wenn sich das erstmal etwas kurios anhört, habe ich auch mit sehr großen Datenbanken (>1GB) uns sehr großen Rows (>100MB) keine Probleme auf der DS mit PHP und MySQL). Die Frage wäre, ob sich an der Performance durch persistente Verbindungen was ändert. Das müsste man mal irgendwann per µ-Sekunden-Zeitabnahme testen.

Hat aber im Moment nicht wirklich Priorität.

itari
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
4
Punkte
0
Schritt 11

SCHRITT 11:

Zur Messung der Performance werden 4 Timer im JavaScript der dynamischen Seite Page2.html bzw. in der Datei cms4ds.js installiert. Sie sollen zum einen die Seiten-Aufbau-Zeiten anzeigen, zum anderen, wie viel Zeit davon auf den AJAX/PHP/Datenbank-Request kommt. Zum Stylen der Ausgabezeile wird eine Zeile in die cms4ds.css hinzugefügt.

Die Timer fangen Millisekunden auf, deshalb hab ich die durch 1000 geteilt, damit man auch vergleichbar zu anderen Web-Anwendungen ist ;) Bei den Werten, die ich hab, kann man überhaupt nicht mehr davon sprechen, dass die DS (FM 721) langsam ist. 0.031 Sek. für einen mit PHP gezogenen MySQL-Datenbankzugriff inklusive Transport via LAN. Von solchen Werten träumen andere Web-Server. :D

itari

Das Bildchen:
 

Anhänge

  • cms4ds11.jpg
    cms4ds11.jpg
    10 KB · Aufrufe: 229
  • cms4ds.css.txt
    1,7 KB · Aufrufe: 10
  • cms4ds.js.txt
    4,4 KB · Aufrufe: 10
  • page2.html.txt
    1,3 KB · Aufrufe: 10

fcastor

Benutzer
Mitglied seit
20. Apr 2007
Beiträge
33
Punkte für Reaktionen
0
Punkte
0
Unglaublich - ein CMS selbst erstellt, aber....

Hallo itari,

das ist ja wirklich unglaublich was Du uns hier für "lau" beibringst. Fantastisch und sehr gut beschrieben (auch durch die klugen Rückfragen der anderen...).

Ich habe leider den Vorgänger-Thread nicht bemerkt ansonsten hätte ich gerne Deinen/Euren Augenmerkt auf ein freies CMS-System gelenkt http://www.cmsimple.dk, was die Grundfunktionen bereitstellt und Dir mehr Zeit für Deine coolen Add-ons gibt. Das System hat minimale Anforderungen (braucht keine SQL-Datenbank) und läuft super auf der DS.

Ich bin in diesem Bereich ein "Voll-Laie" aber ich habe damit eine für mich brauchbare Homepage erstellt (siehe hier:(http://www.stb-castor.de). Man kann hiermit noch viel mehr anstellen, und ich glaube Du würdest die CMS-Plattform sicher richtig ausnützen können :)

Viele Grüße

Frank
D
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
4
Punkte
0
@fcastor,

natürlich kenne ich eine Menge CMSen. Und natürlich gibt es auch eine Reihe davon, die auf der DS laufen. Die meisten sind aber nicht allzu modern aufgebaut, nutzen zum Beispiel kaum AJAX und nicht wirklich richtig CSS. Da die Diskussion hier im Forum immer eher so ausläuft, dass man irgendwas nicht ganz richtig Verstandenes versucht zum Laufen zu bringen, habe ich hier mal den Ansatz umgedreht und versuche zu erklären, wie man mit relativ bescheidenden Mitteln was gut zum Laufen bringen kann.

Das cms4ds ist ja recht minimalistisch und kann trotzdem so ziemlich alles (wenn man will). Es hat nur kein Installationsskript (damit man sich damit auseinander setzen muss :D) und auch kein Admin-Interface (damit man sich selbst was dazu schriebt) und auch kein Templatesystem (damit man selbst CSS lernt) und kann zusammen mit jeder beliebigen Datenstruktur in einer Datenbank zusammenarbeiten (wenn man das SQL selbst dazu komponiert).

Es geht mir ja auch nicht so sehr darum, ein gutes und schickes und was-was-ich-CMS zu basteln, sondern um ein paar Pflöcke, was CMS-Architektur angeht, zu schlagen und zu zeigen, dass die meisten CMS Ressourcen einfach vergeuden.

Nebenbei bemerkt, finde ich die Bemerkung, dass ich was für 'lau' beibringe, nicht sonderlich motivierend. Ich dachte, es gehört in einem Forum zur Selbstverständlichkeit, sein Wissen mit anderen zu teilen. Vielleicht hast du auch Wissensgebiete, die hier für andere von Nutzen sein könnten. Es ist halt ein Nehmen und Geben ... ;)

itari

PS. So richtig gut sind Links, wenn sie anderen was aufzeigen, was für sie nützlich sein könnte. Persönliche Links würde ich eher in die Signatur nehmen ;)
 

Student1979DA

Benutzer
Mitglied seit
31. Mrz 2007
Beiträge
40
Punkte für Reaktionen
0
Punkte
0
Kann nur Bestätigen... CMSIMPLE Läuft gut auf der Diskstation. Habe ein Paar Plugins überarbeitet...

Denke wenn man das Gerüst nehmen würde und es anpass könnte man sich viel Arbeit sparen.
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
4
Punkte
0
Kann nur Bestätigen... CMSIMPLE Läuft gut auf der Diskstation. Habe ein Paar Plugins überarbeitet...

Denke wenn man das Gerüst nehmen würde und es anpass könnte man sich viel Arbeit sparen.

Es steht jedem frei, irgendein CMS zu nehmen. ;) Aber könnt ihr nicht dafür einen neuen Thread aufmachen, wenn ihr das diskutieren wollt?

Das cms4ds ist ein Projekt, kein fertiges Produkt. Und es soll ja gerade ein wenig Arbeit machen ... sonst könnte man ja auch irgendein fertiges CMS nehmen, was einigermaßen läuft (ich habe da schon ein Menge ausprobiert :D).

Also bitte in den Thread nur noch Beiträge, die was mit dem hier als Projekt ausgewiesenen CMS zu tun haben, reinstellen.

itari
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
4
Punkte
0
Schritt 12

SCHRITT 12:

QTip hat mir eine tolle Anregung gegeben, die mehrfach verwendbaren Seiteninhalte doch auszulagern und mit SSI (Server-Side Includes) wieder zu integrieren. Ganz ehrlich habe ich damit noch nie was gemacht, aber es ist eine ganz super Lösung. Wer sich ein wenig einlesen möchte in die SSI, hier ist ein Tutorial.

Damit das mit den SSI funktioniert, müssen wir dem user-Apache das mitteilen, dass wir das auch machen wollen. Dazu müssen wir zum einen die Options um den Eintrag includes ergänzen und zum anderen eine neue Klausel vereinbaren. Also ran an die /usr/syno/apache/conf/httpd.conf-user ungefähr Zeile 140 innerhalb der <Directory "/var/services/web">-Direktive:
Rich (BBCode):
Options MultiViews ExecCGI FollowSymLinks Includes
und dann noch ganz ans Ende der Datei die Klausel:
Rich (BBCode):
XBitHack on
Was hat es damit auf sich. Im HTML werden wir jetzt ähnlich wie bei PHP maskierte Zeile einbauen, wie z. B.
Rich (BBCode):
<!--#include virtual="header.html" -->
die vom Apache SSI erkannt werden und entsprechend bearbeitet werden. In dem Beispiel wird eine URL header.html gesucht und deren Inhalt inkludiert.
Durch die Options-Ergänzung kann der Apache-Web-Server solche Kommentar-SSI-Direktiven erkennen. Damit wir nun nicht wie bei PHP einen neuen Dateityp brauchen (wie bei PHP z. B. .php gibt es für SSI oft .shtml), gibt es den XBitHack. Der besagt, dass wenn die html-Datei Ausführungsrechte hat (z.B. chmod +x index.html; chmod +x page2.html), sie auf SSIs hin untersucht wird.
Das führt jetzt zu folgenden Änderungen in den beiden Dateien index.html und page2.html:
PHP:
<!--#include virtual="header.html" -->
</div> <!-- menu -->
<div id="container">
<div id="container_col">
<div id="counter"></div>
<div id="index"></div>
<div id="feed"></div>
</div> <!-- container_col -->     
<div id="content">
<div class="content" style="display:block">
<h3>Titel der sehr lang ist und der noch länger werden könnte</h3>
Das ist Text, der im Content vorkommt. Das ist Text, der im Content vorkommt. Das ist Text, der im Content vorkommt.
</div> 
<div class="content" style="display:none">
<h3>Titel-2</h3>
Das ist Text, der im Content vorkommt. Das ist Text, der im Content vorkommt. abc
</div>
<div class="content" style="display:none">
<h3>Titel-3</h3>
Das ist Text, der im Content vorkommt.<img src="cms4ds.jpg" />
</div>    
</div> <!-- content -->
<!--#include virtual="footer.html" -->
</div> <!-- basecontainer -->
<script>LoadRSS("http://www.heise.de/newsticker/heise.rdf");make_index();
s=window.location.search; if (s.substr(1,1)=='s') searchAll(s.substr(3)); if (s) showme(s);
</script>
</body></html>

page2.html:
PHP:
<!--#include virtual="header.html" -->
<input id="search" ondblclick="searchAll(this.value)" value="(Suchbegriff)"/> 
</div> <!-- menu -->
<div id="container">
<div id="container_col">
<div id="counter"></div>
<div id="index"></div>
</div> <!-- container_col -->    
<div id="content">
</div> <!-- content -->
</div> <!-- container -->
<!--#include virtual="footer.html" -->
</div> <!-- basecontainer -->
<script>
LoadHTML("cms4ds.php?where=Rubrik like 'Page2'"); 
make_index();
s=window.location.search; if (s.substr(1,1)=='s') searchAll(s.substr(3)); if (s) showme(s);
</script>
</body></html>

und zu den beiden zusätzlichen fürs Includieren benötigten Dateien header.html und footer.html:
PHP:
<html><head><title>cms4ds</title>
<link rel="stylesheet" type="text/css" href="cms4ds.css" />
<link rel="shortcut icon" href="cms4ds.ico" />
<link rel="alternate"  type="application/rss+xml" title="cms4ds-News-Feed" href="cms4ds_rss.php"/>
<link rel="search" type="application/opensearchdescription+xml"
      href="http://syno/cms4ds/search.xml" title="cms4ds" />
<script type="text/javascript" src="cms4ds.js"></script>
<script>var d0,d1,d2,d3;d0=new Date().getTime();</script>
</head><body onload="history()">
<iframe src="blank.html?0" name="histFrame" id="histFrame"></iframe>
<div id="basecontainer">
<div id="top">cms4ds</div>
<div id="menu">
<a href="index.html">Page 1</a>
<a href="page2.html">Page 2</a>
<a href="">Page 3</a>

und footer.html:
PHP:
<div id="footer">(c) 2008 by itari - Impressum: irati itari, KYOTO, No. az/31 (Melnak)</div>
<div id="timer"></div>

Das macht unser cms4ds modularer und die Seiten schlanker. Ich hab keine nennenswert schlechteren Zugriffszeiten messen können, also geht das zusätzlich Parsen bei unseren kleinen Dateien recht fix.

Danke noch einmal an QTip :)

itari
 
  AdBlocker gefunden!

Du bist nicht hier, um Support für Adblocker zu erhalten, denn dein Adblocker funktioniert bereits ;-)

Klar machen Adblocker einen guten Job, aber sie blockieren auch nützliche Funktionen.

Das Forum wird mit einem hohen technischen, zeitlichen und finanziellen Aufwand kostenfrei zur Verfügung gestellt. Wir zeigen keine offensive oder Themen fremde Werbung. Bitte unterstütze dieses Forum, in dem du deinen Adblocker für diese Seite deaktivierst.