Wie includiert man richtig?

Wie includiert man richtig?

am 03.10.2006 08:49:05 von MartinMuecke

Ich habe eine Website bestehend aus ca. php Seiten,
die aus einem framelosen Tabellenbasierenden Design bestehen.
Header und Menü sind immer gleich und sollen daher ausgelagert werden.
Bisher habe ich es so gemacht, dass ich die Contentseiten in ein
Gerüst, dass Header und Menü enthält, includiert habe.
Nachteil: Jede Seite hat die gleichen Metatags.
Nun möchte ich es möglichst einfach hinkriegen, dass jede Seite
ihre eigenen Metatags haben kann - was empfehlt ihr mir dazu?
Ich habe es mal andersherum versucht, das Menü und den Header in die
Contentseiten includiert habe, aber dann ist der Pfad zum Menü und zum
Header je nach Verzeichnistiefe jedes Mal unterschiedlich,
d.h. das müßte alles von Hand angepasst werden...
Was würdet ihr mir empfehlen, und gibt es dafür vielleicht automatische
Tools?

Re: Wie includiert man richtig?

am 03.10.2006 10:30:23 von jbusenet

Martin Mücke wrote:

> Ich habe eine Website bestehend aus ca. php Seiten,

yep, das sind viele *g*

> Gerüst, dass Header und Menü enthält, includiert habe.
> Nachteil: Jede Seite hat die gleichen Metatags.

Du koenntest z.B. variablen definieren, die die Metadaten enhalten und
dann diese Daten in den includierten Dateien schreiben.

> Was würdet ihr mir empfehlen, und gibt es dafür vielleicht automatische
> Tools?

Normalerweise generiert man (bei hohen Besucherzahlen) statische Seiten
und laesst nur die, die unbedingt dynamisch generiert werden muessen vie
php schreiben. Das spart immens Zeit.

Also erzahl mal einen Schwank von Deiner Seite, denn es gibt sicher
nicht nur eine Loesung, aber jede Loesung hat Vor- und Nachteile.

cheerio

Julian

--
Julian Bessenroth ( http://www.vnox.de )
Email : jbusenet (Ligatur von "a" und "d") gmx.de
Reply-Emails : mit "[NG]" oder "[NOSPAM]" im Betreff,
sonst gehen sie unter.

Re: Wie includiert man richtig?

am 03.10.2006 10:45:42 von MartinMuecke

Julian Bessenroth schrieb:
> Martin Mücke wrote:
>
>> Ich habe eine Website bestehend aus ca. php Seiten,
>
> yep, das sind viele *g*
>
>> Gerüst, dass Header und Menü enthält, includiert habe.
>> Nachteil: Jede Seite hat die gleichen Metatags.
>
> Du koenntest z.B. variablen definieren, die die Metadaten enhalten und
> dann diese Daten in den includierten Dateien schreiben.

Aber so wie die Seite momentan aufgebaut ist, geht das imho nicht -
die Metadaten sind im Gerüst - ganz oben. Später, tiefer in der Seite,
wird die jeweilige Contentseite includiert - und wenn ich dort mit
Variablen komme, ist es doch schon zu spät -
denn wie ich die Sache verstehe, wird eine Seite von oben nach unten
abgearbeitet.

>
> Normalerweise generiert man (bei hohen Besucherzahlen) statische Seiten
> und laesst nur die, die unbedingt dynamisch generiert werden muessen vie
> php schreiben. Das spart immens Zeit.

Du meinst Zeit beim Seitenaufbau?
Ja genau das will ich ja im Prinzip auch erreichen - aber ohne,
dass ich dann 150 Seitenmenüs und 150 Header einzeln pflegen muss -
daher die Idee mit dem Tool, dass das "einpflanzen" des Contents für
mich erledigt.

> Also erzahl mal einen Schwank von Deiner Seite, denn es gibt sicher
> nicht nur eine Loesung, aber jede Loesung hat Vor- und Nachteile.

Ich weiß nicht, was ich noch sagen soll - ich will mit möglichst
wenig Aufwand möglichst viele Besucher erreichen.
Um möglichst viele Besucher zu erhalten braucht man gute, individuelle
Metatags für jede Seite, und sicherlich auch schnell ladende Seiten.
Die Website besteht aus 150 Seiten, wobei aber nur vielleicht 25
wirklich dynamisch sind.
Der Rest der Seiten beschränkt sich auf das includieren von Menü und Header.

Re: Wie includiert man richtig?

am 03.10.2006 10:59:20 von jbusenet

Martin Mücke wrote:

>> Du koenntest z.B. variablen definieren, die die Metadaten enhalten und
>> dann diese Daten in den includierten Dateien schreiben.
>
> Aber so wie die Seite momentan aufgebaut ist, geht das imho nicht -
> die Metadaten sind im Gerüst - ganz oben. Später, tiefer in der Seite,
> wird die jeweilige Contentseite includiert - und wenn ich dort mit
> Variablen komme, ist es doch schon zu spät -
> denn wie ich die Sache verstehe, wird eine Seite von oben nach unten
> abgearbeitet.

Richtig, von oben nach unten, also musst Du die variablen vorher
definieren. So what!

CONTENT

$keywords="php, ratlosigkeit, forum, ng ...";

include "meta.php";

echo "Der Rest der Seite von bis . Wie auch immer.";

?>

META.PHP

echo " echo"

echo "mein Menue ...";
?>

> Du meinst Zeit beim Seitenaufbau?
> Ja genau das will ich ja im Prinzip auch erreichen - aber ohne,
> dass ich dann 150 Seitenmenüs und 150 Header einzeln pflegen muss -
> daher die Idee mit dem Tool, dass das "einpflanzen" des Contents für
> mich erledigt.

Damit sparst Du aber nicht wirklich Zeit beim erzeugen der Seite (denn
ausgefuehrt wird all der code trotzdem), sondern bei der Pflege. Auch
loeblich.

>> Also erzahl mal einen Schwank von Deiner Seite, denn es gibt sicher
>> nicht nur eine Loesung, aber jede Loesung hat Vor- und Nachteile.
>
> Ich weiß nicht, was ich noch sagen soll - ich will mit möglichst
> wenig Aufwand möglichst viele Besucher erreichen.
> Um möglichst viele Besucher zu erhalten braucht man gute, individuelle
> Metatags für jede Seite, und sicherlich auch schnell ladende Seiten.
> Die Website besteht aus 150 Seiten, wobei aber nur vielleicht 25
> wirklich dynamisch sind.
> Der Rest der Seiten beschränkt sich auf das includieren von Menü und
> Header.

Wenn Du wirklich viele Besucher erwartest, dann sollest Du die nicht
dynamischen Seiten erzeugen und solange sie nicht geaendert werden
direkt laden.

regards

Julian


--
Julian Bessenroth ( http://www.vnox.de )
Email : jbusenet (Ligatur von "a" und "d") gmx.de
Reply-Emails : mit "[NG]" oder "[NOSPAM]" im Betreff,
sonst gehen sie unter.

Re: Wie includiert man richtig?

am 03.10.2006 11:41:52 von MartinMuecke

Es sieht aber momentan so aus:


Geruest.php:




include header.php
include menu.php

include contentPage.php


-------------
contentPage (150x, in unterschiedlichen Verzeichnissen):

Bla bla bla das ist mein super Content.
-------------

mache ich nun:
-------------
contentPage (150x, in unterschiedlichen Verzeichnissen):
$keywords="Meine, super, keywords";

Bla bla bla das ist mein super Content.
-------------
bringt mir das nix.


Mache ich nun:
contentPage (150x, in unterschiedlichen Verzeichnissen):
$keywords="Meine, super, keywords";




include header.php
include menu.php

Bla bla bla das ist mein super Content.
-----------------
Dann habe ich das Problem, dass sich der relative Pfad zu den zu
includierenden Datein ständig ändert und jedes mal manuell angepasst
werden müßte.

?????

Re: Wie includiert man richtig?

am 03.10.2006 13:55:11 von jbusenet

Martin Mücke wrote:
> Es sieht aber momentan so aus:

[snip, viele IMHO suboptimale "includes"]

Ich wuerde es (wenn ueberhaupt ehe so machen)

CONTENT PAGE

$keywords="..."; # Das ist optional. Wenn nicht angegeben, dann
# Standard keywords/METAs

include "header.php"; # ggf. absolut, wenn Du probleme mit deinen
# verweisen hast

?>
Dein Inhalt
include "footer.php";
?>

In Deinem Header kannst Du dann wiederum Dein menue und was weiss ich
sonst noch einbinden.

regards

Julian


--
Julian Bessenroth ( http://www.vnox.de )
Email : jbusenet (Ligatur von "a" und "d") gmx.de
Reply-Emails : mit "[NG]" oder "[NOSPAM]" im Betreff,
sonst gehen sie unter.

Re: Wie includiert man richtig?

am 03.10.2006 14:11:15 von MartinMuecke

Julian Bessenroth schrieb:
> Ich wuerde es (wenn ueberhaupt ehe so machen)
>
> CONTENT PAGE
>
> > $keywords="..."; # Das ist optional. Wenn nicht angegeben, dann
> # Standard keywords/METAs
>
> include "header.php"; # ggf. absolut, wenn Du probleme mit deinen
> # verweisen hast
>
> ?>
> Dein Inhalt
> > include "footer.php";
> ?>
>
> In Deinem Header kannst Du dann wiederum Dein menue und was weiss ich
> sonst noch einbinden.
>

Genau das versuche ich ja. Aber es gibt eben Probleme mit absoluten URLS
im Include.

myContent.php:



Ausgabe:

Warning: main(/header.php): failed to open stream: No such file or
directory in /webpages/mywebsite/myFolder/myContent.php on line 18

Re: Wie includiert man richtig?

am 03.10.2006 14:19:24 von jbusenet

Martin Mücke wrote:

> Genau das versuche ich ja. Aber es gibt eben Probleme mit absoluten URLS
> im Include.
>
> myContent.php:
>
>
> Ausgabe:
>
> Warning: main(/header.php): failed to open stream: No such file or
> directory in /webpages/mywebsite/myFolder/myContent.php on line 18

Ja, dann liegt Deine header.php-datei nicht im "root"-directory.

also wenn dein http-root /srv/www/user/html ist, dann sucht dein include
die header Datei, dann sucht er die datei nicht in html sondern im /.

regarss

Julian

--
Julian Bessenroth ( http://www.vnox.de )
Email : jbusenet (Ligatur von "a" und "d") gmx.de
Reply-Emails : mit "[NG]" oder "[NOSPAM]" im Betreff,
sonst gehen sie unter.

Re: Wie includiert man richtig?

am 03.10.2006 14:22:25 von Niels Braczek

Martin Mücke schrieb:

> Genau das versuche ich ja. Aber es gibt eben Probleme mit absoluten URL=
S
> im Include.

Absolute Pfade sind vollständig anzugeben.

> myContent.php:
>



MfG
Niels

--=20
| http://www.kolleg.de =B7 Das Portal der Kollegs in Deutschland |
| http://www.bsds.de =B7 BSDS Braczek Software- und DatenSysteme |
| Webdesign =B7 Webhosting =B7 e-Commerce =B7 Joomla! Content Management =
|
------------------------------------------------------------ ------

Re: Wie includiert man richtig?

am 05.10.2006 19:23:03 von Irmgard Schwenteck

Hallo

>> In Deinem Header kannst Du dann wiederum Dein menue und was weiss ich
>> sonst noch einbinden.
>>
>
> Genau das versuche ich ja. Aber es gibt eben Probleme mit absoluten URLS
> im Include.
>
> myContent.php:
>
>

Meine Variante:
einmal muß man in jeder Datei die Verzeichnisebene zählen; das kommt an
den Anfang:

require('./incpath.php');
(z.B. für die files im document-root)

incpath.php:
if ($_SERVER['HTTP_HOST']=='localhost') {
ini_set('include_path', 'C:\Inetpub\wwwroot\meins\inc');
}
else {
ini_set('include_path', $_SERVER['DOCUMENT_ROOT'].'/inc');
}

dann isses nämlich egal, ob ich lokal teste (IIS), oder das ganze auf
dem webserver laufen habe (Apache).


Ins Verzeichnis /inc/ kommen dann alle includes rein:
header.php
menu.php
.... uswusf.

Variablen wie title, aktueller Menüpunkt werden zu Beginn gesetzt,
dann werden die includes aufgerufen.
Die pflegeleichten websites sehen dann so aus:

require('./incpath.php');
$menu="start";
$title="meine tolle website";
include("header.php");
include("menu.php");
?>

.... HTML-Kram ...



Wobei "HTML-Kram" wirklich nur der reine Inhalt ist, von der
Seitenüberschrift bis zum letzten Absatz.
Alle benötigten

,
stecken in den includes; , ,
sowieso, dann lassen sich auch grundlegende Designänderungen
schnell durchziehen.


Gruß
Irmgard