Ich hab mich noch nie um den Title gekümmert. Allerdings wird es da wohl mal Zeit.
Nun gibts da das Problem, dass ich per php den Title mitten im Code hätte.
Ist das falsch?
Ich wüsste nicht, wie ich "nachträglich" den Title "oben" rein schreiben sollte =/
<title> nicht im HTML "Kopf"
-
-
-
Und was genau hält dich davon ab, deinen Code so umzuschreiben, dass du die entsprechenden Daten schon geladen hast bevor der title ausgegeben wird?
-
Angst. ;D
Sind inzw. echt viele Files mit viel viel Code (für meine Verhältnisse).Der Gesamte Code ist in etwa so aufgebaut:
require HTML top
-action=...-
-berechne Inhalt-
require HTML bottomIch bekomme also die Infos, die ich gerne im Title zeigen würde, erst am Ende =/
Probleme gibts wohl keine. Title wird immer richtig angezeigt. Siht halt nur bischen "noob" aus, wie der Title am Ende steht ;D -
Sieht nicht nur noob aus, ist auch schlichtweg falsch. Wenn du so eine Struktur hast, hast du vermutlich was falsch gemacht (oder in deinem Fall falsch kopiert? ;))
-
oder in deinem Fall falsch kopiert?
Naja, ich fand es sehr sinnvoll den Kopf und Fuß der Webstie auszulagern und mir require aufzurufen.Eigentlich ja nicht so das Problem. Könnte ja den Kopf und Fuß erst am Ende des Scipts aufrufen.
Aber in den "Zwischenscripts" wird auch HTML aufgerufen, auf nem ähnlichen Weg.PHP
Alles anzeigenrequire HTML kopf php script main { require HTML xy page top php script xy { require HTML script content } require HTML xy page bottom } require HTML fuß
ich denke mal damit hab ich mir ein oder zwei Beine gestellt? -
Habe ehrlich gesagt das Problem nicht ganz verstanden.
Mein System ist folgendes:
- alle Inhalte für die Seite werden generiert und in Variablen geschrieben
- am Ende der Generierung wird folgendes Script (jetzt mal vereinfacht) eingebunden:HTML
Alles anzeigen<!DOCTYPE html> <html> <head> <meta charset="UTF-8" /> <title><?php echo $title; ?></title> </head> <body> <?php echo $body; ?> </body> </html>
Alle Inhalte sind da, vorher erfolgt keinerlei Ausgabe und man kann das Grundgerüst einfach beliebig verändern.
(Und nein, das sollst du nicht kopieren, sondern verstehen ;))
Einfach mal so als Denkanstoß. Du musst es ja nicht so machen, aber der Sinn von Programmieren ist nicht, invaliden Code zu produzieren, nur weil der Programmierer (in diesem Fall du) zu faul ist.GRüße
-
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title><?php echo $title; ?></title>
</head>
<body>
<?php
echo $body;
?>
</body>
</html>
Daran hab ich ja noch garnich gedacht.
Muss mal sehen, ob ich das noch in die Richtung ändern kann.Ja, das mit dem Kopieren - ich versuch alles zu verstehen. Muss ja, da man ja auch mal was ändern muss um es anzupassen.
Vorallem aber, weil ich keinen "Dreck" ein-kopieren will.
Klappt auch soweit ganz gut, ausser bei JS. -
Bin gerade dabei unsere komplette website neu zu schreiben.
3 Gründe - design, lernen durch wiederholen, und professionellerer codehabe mir da diese Struktur ausgedacht:
PHP
Alles anzeigen<?php // ?> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta charset="utf-8" /> <!--[if IE]><script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script><![endif]--> <title><?if(isset($website_title)){echo $website_title;}?></title> <meta name="keywords" content="<?if(isset($website_keywords)){echo $website_keywords;}?>" /> <meta name="description" content="<?if(isset($website_description)){echo $website_description;}?>" /> <meta name="author" content="<?if(isset($website_author)){echo $website_author;}?>" /> <meta name="generator" content="Webocton - Scriptly (www.scriptly.de)" /> <meta name="robots" content="all" /> <meta http-equiv="Content-Script-Type" content="text/javascript" /> <meta http-equiv="Content-Style-Type" content="text/css" /> <!--<meta http-equiv="cache-control" content="no-cache">--> <link rel="stylesheet" href="<?if(isset($website_style)){echo $website_style;}?>" type="text/css" media="screen, projection" /> <link href="<?if(isset($website_icon)){echo $website_icon;}?>" type="image/x-icon" rel="shortcut icon" /> <style type="text/css"> <!-- --> </style> <script type="text/javascript"> <!-- <?if(isset($javascript)){echo $javascript;}?> --> </script> </head> <body> <div id="wrapper"> <div id="headerwrap"> <div id="header" class="padding-10px"> <?if(isset($website_header)){echo $website_header;}?> </div> </div> <div id="contentliquid"> <div id="contentwrap"> <div id="content" class="padding-10px"> <?if(isset($website_content)){echo $website_content;}?> </div> </div> </div> <div id="leftcolumnwrap"> <div id="leftcolumn" class="padding-10px"> <?if(isset($website_leftcolumn)){echo $website_leftcolumn;}?> </div> </div> <div id="footerwrap"> <div id="footer" class="padding-10px"> <?if(isset($website_footer)){echo $website_footer;}?> </div> </div> </div> </body> </html> <? ?>
Dieses HTML Paket will ich dann ganz zum Schluss ausgeben lassen, wenn ich alle Daten hab.
Macht Sinn, oder?
Noch Ideen? -
PHP
Alles anzeigen<?if(isset($website_title)){echo $website_title;}?> <?if(isset($website_keywords)){echo $website_keywords;}?> <?if(isset($website_description)){echo $website_description;}?> <?if(isset($website_author)){echo $website_author;}?> <?if(isset($website_style)){echo $website_style;}?> <?if(isset($website_icon)){echo $website_icon;}?> <?if(isset($javascript)){echo $javascript;}?> <?if(isset($website_header)){echo $website_header;}?> <?if(isset($website_content)){echo $website_content;}?> <?if(isset($website_leftcolumn)){echo $website_leftcolumn;}?> <?if(isset($website_footer)){echo $website_footer;}?> <? ?>
aua, short-code
würde ich nicht unbedingt verwenden, da nicht jeder webserver diesen unterstützt (also den tag "<? ... ?>")
also bleib lieber bei "<?php ... ?>"
ähm
warum lässt du dir das mit eintragen
wirkt (meiner meinung nach) etwas unprofessionellansonsten ist das von der sturktur her schon ganz gut
ich machs aber lieber so (eben dynamischer und kleiner für ne index.php):
PHP
Alles anzeigen<?php //... ?> <!DOCTYPE html> <html> <head> <?php include ("includes/mainHead.php"); include ("includes/meta.php"); include ("includes/css.php"); include ("includes/scripts.php"); ?> </head> <body> <?php include ("includes/header.php"); include ("includes/nav.php"); switch ($_GET[p]) { case: include ("includes/***.php"); break; /* [...] */ } include ("includes/footer.php"); ?> </body> </html> <?php //... ?>
//könnte sein das ich vllt. was vergessen hab, aber im großen und ganzen müsste das schon so stimmen -
mh und was steht dann in deinen includes? wenn du eh immer alle includest kannst auch so machen wie cottton.
bisschen unbeweglich mit nur einen, css oder javascript bei dir cottton.
ansonsten hm ich weiß selbst nicht wie man das ideal macht alles in einer Datei oder alles in unterschiedliche?wenn man es ganz variabel machen will würde ich die js Dateien die du einbinden willst mit einen array machen damit du belibig viele einbinden kannst.
aber dann musst du ja aufschreiben bei welcher Seite welche css Datei benötigt wird.
da kann man ja gleich auch wieder verschiedenen Seiten machen.oder die Seite die man erstellt nach id und class durchsuchen und nur das laden was man braucht.
dann wäre aber wieder das Problem mit dem cachen da die Datei ja jedes mal ne andere ist und der Browser also die sich jedes mal wieder ziehen muss.hm alles bisschen schwierig das effizient zu machen...
<meta name="generator" content="Webocton - Scriptly (www.scriptly.de)" />
würdigt dieses kostenlose Programm. Finde ich gut glaube aber auch da denken Leute die sich das anschauen kannst nichts alleine und lässt dir alles erstellen. obwohl Scriptly ja nicht viel hilft (also so mit get what you see) aber das wissen die ja nicht... -
Also um incudes gehts mir ja gar nicht.
Ich hab ja vor alles in vars zu packen.
heisst - anfangs ist $javascript nur '' , also leer (aber da =)
Im verlauf des php scripts wird einfach jedes JS script da angehängt und zum schluss ausgegeben.
Das gleiche mit allen anderen vars.
Also auch HTML code wird in die var gepackt.Wegen dem scriptly - ich gebe immer an, was ich genutzt hab.
Auch, wenn ich irgentwelche JS script im netz finde. Ich finde das gehört sich so.Hatte gehofft, dass ich die Struktur immer wieder verwenden kann. Allerdings arbeite ich soviel mit API daten,
da ist alles so oder so nicht wirklich wieder verwendbar =/ -
ja aber du kannst ja jetzt z.b. nur eine Script Datei leicht extern einbinden...
ansonsten ich glaube verketten und lange strings ist nicht das beste.so mag ich das aber eigentlich so wie du das da hast das Grundgerüst alles fertig
-
ganz am anfang hab ich noch das vergessen:
was steht dann in deinen includes
settings.php:PHP
Alles anzeigen[...] $id = $_GET['p']; global $globalTitle; global $siteTitle; $globalTitle = "Shack-Software"; $sql = "SELECT title FROM pages WHERE id = '$id'"; $result = mysql_query($sql); $row = mysql_fetch_assoc($result); $siteTitle = $row['title']; [...]
mainHead.php:
PHP<title><?php echo $siteTitle." - ".$globalTitle; ?></title> <!-- Ergibt bei meiner Website z.B. sowas: "Produkte - Shack-Software" --> [...]
analog zu dem ist das ganze dann auch für die anderen includes im <head>-TAG
-
btw - global $a, $b ect ect
wenn ich das in einer function verwende, dann existiert die var ja auch ausserhalb.
Aber kann ich global $a, $b ect ect auch ausserhalt schon "ansagen" ?Also, dass zb bei:
global $a
die var $a in jeder funktion immer verfügbar ist?
So wie die super globals halt.tnx
-
die global ist in dem gesamten script verfügbar
also in diesen fall in der gesamten index.php (also auch in functions und includierten dateien) -
funkitoniert bei mir irgentwie nicht.
Mir ist gerade eingefallen, dass ich ja super globals setzen kann.
Also wenn ich eine var wirklich überall nutzen wöllte, könnte ich sie ja in (zB) $_POST['meine_var'] legen ;D ($_SESSION ja auch, aber ich mag es nicht hunderte sessions zu nutzen)
Ich denk mal aber, dass das falsch wäre =) -
also in deiner index.php setzt du einfach eine global und dann müsste die in der gesamten datei verfügbar sein
nur wenn du jetz n anderes script aufrufst welches nix mit der index.php zu tun hat, dann isses klar, dasses nicht geht
-
das wirds sein. Ich include (require) ein php file mit allen functions.
-
ich hab miene globals in der settings.php
die include ich in die index.php
und die global var ist dann auch in allen anderen includierten dateien verfügbar(versuch vllt. mal anstatt "require" "include" zu verwenden)
Jetzt mitmachen!
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!