Forum

> > Off Topic > PHP Templatesystem
Forums overviewOff Topic overviewLog in to reply

German PHP Templatesystem

13 replies
To the start Previous 1 Next To the start

old PHP Templatesystem

stealth
User Off Offline

Quote
ok, könnt ihr mir mal erklären wie Templatesysteme für PHP funktionieren?
Und was es da für welche gibt und so?

Danke

old Re: PHP Templatesystem

stealth
User Off Offline

Quote
Ja da gibs smarty...
Und wie funzt das?
Ist das nicht eig Schwachsinn weil man könnt ja auch anstatt
1
2
3
4
5
include('Smarty.class.php');
$smarty = new smarty;
$smarty->assign("blubb","$blubber");
$smarty->assign("lol","$rofl");
$smarty->display("blubber.php");
einfach
1
include "blubber.php";
schreiben.
Dann muss man nicht erst lauter blöde Klassen includen, endlos langen code schreiben, und ausserdem kann ich OOP eh nich so.

Oder man macht sich irgendne funktion die einem dann so umständliches html-zeugs wie
1
<img src="/img/lol/rofl.png" alt="Das rofl-Bild">
abnimmt

old Re: PHP Templatesystem

bizzl
User Off Offline

Quote
Schreib dpoch einfach ne funktion
1
2
3
4
5
6
7
function Img($file, $alt = '', $title = '') {
 if ($alt=='') $alt=$file;
 if ($title=='') $title=$alt;
 return '<img src="'.$file.'" alt="'.$alt.'" title="'.$title.'" class="image">';
}

echo Img('./img/lol/rofl.png','Das Rofl-Bild');

Wobei ich das echt sinnlos fände, weil du damit im endeffekt genauso viel zu coden hast (sogar noch mehr!)

old Re: PHP Templatesystem

jeepohahyo
User Off Offline

Quote
Natürlich kannst du auch komplett ohne Template arbeiten, nur ist das schöne daran ja, dass Technik und Design voneinander getrennt werden.

So kannst du zum Beispiel eine Linksammlung machen, die du in verschiedenen Versionen mit HTML durchstylen kannst, wie du willst, ohne dass du in einem Design vergessen kannst eine SID anzuhängen, weil das die Technik alles für dich macht.

Bei einem <a href="{LINK}">{TEXT}</a> macht man zudem weniger Fehler als bei einem <a href="<?php echo sid('link.php'); ?>"><?php echo format('Linktext', Angaben); ?>, und man kann alles besser lesen.

Merkt man vor allem schön im Forum ohne Syntaxhighlight
Ist also mehr oder weniger Geschmackssache, zumal du ja jetzt nicht gerade vorhast ein neues phpBB zu bauen, oder?

old Re: PHP Templatesystem

bizzl
User Off Offline

Quote
Dicker has written
So kannst du zum Beispiel eine Linksammlung machen, die du in verschiedenen Versionen mit HTML durchstylen kannst, wie du willst, ohne dass du in einem Design vergessen kannst eine SID anzuhängen, weil das die Technik alles für dich macht.

Was für private homepages etwa so sinnvoll ist wie eine verkehrtrum eingepflanzte ulme
Okay, ich weiß net was stealth plant, aber ich denke mal es wird was privates/nur auf eine page bezogenes.
Multiple Designs machen nur dann sinn wenn du das "programm" rausgibst, damit andere es in ihre seiten einpflegen können.

Dicker has written
Bei einem <a href="{LINK}">{TEXT}</a> macht man zudem weniger Fehler als bei einem <a href="<?php echo sid('link.php'); ?>"><?php echo format('Linktext', Angaben); ?>, und man kann alles besser lesen.

Okay, das ist ein punkt. Ich kann zwar Proceduralen Code ganz gut lesen, aber andere haben damit sicher probleme,

Edit: manchmal hab ich echt ein brett vorm nischel. Hab den namen korrigiert, danke stealth
edited 1×, last 18.03.07 04:14:22 pm

old Re: PHP Templatesystem

stealth
User Off Offline

Quote
Hä? Also wenn ich in ne funktion hab bei der ich in etwa
1
tpl(URL,"http://google.de/","Google Deutschland");
schreib, dann ist das doch eher die Variante wo einfacher ist oder?

BTW ich bin nicht lizard

old Re: PHP Templatesystem

bizzl
User Off Offline

Quote
Nein ehrlich gesagt nicht.
Wobei, wenn du dir die das layout auf diese weise besser vorstellen kannst isses sicher etwas einfacher

ich mach solche sachen nur wenn der Code größer ist (zbsp wenn ich "Fenster" oder sowas erstellen muss), aber jedem seins.

old Re: PHP Templatesystem

stealth
User Off Offline

Quote
Was würdet ihr denn mir jetzt vorschlagen?
Und was meinst du mit Fenster

Edit
Was ist denn die einfachere variante?
1
2
3
4
$urlsmarty = new smarty;
$urlsmarty->assign("link","http://google.de/");
$urlsmarty->assign("linktext","Google Deutschland");
$urlsmarty->display("url.php");
etwa?
edited 1×, last 18.03.07 04:47:31 pm

old Re: PHP Templatesystem

bizzl
User Off Offline

Quote
stealth has written
Was würdet ihr denn mir jetzt vorschlagen?

Wo immer geht hardcodet HTML zu nehmen.
Wiederkehrende große Gestaltungscodes kannste nach belieben in Funktionen fassen oder als Templates nehmen.

stealth has written
Und was meinst du mit Fenster

Ich bastel an einer neuen Privatseite. Dabei will ich die Inhalte in Rahmen präsentieren die ähnlich aussehen wie die Fenster einer Grafischen Benutzeroberfläche. Das sind jeweils ca 50 Zeilen VOR den eigentlichen inhalt und 15 DANACH. Das habe ich entsprechend in zwei funktionen gefasst, die bei bedarf aufgerufen werden:
1
2
3
4
5
6
7
//beginnt ein neues "Fenster"
//Title ist einfach der Titeltext, Icon der Dateinahme einer Bilddatei
//(ohne Pfad und Endung, weil die bei mir immer gleich sind)
bwWindowOpen($title,$icon);

/beendet das fenster wieder
bwWindowClose();

Meine Dateien mit Inhalten sehen dann so aus:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
$RootDir='./'; //relativer Pfad zur Seitenwurzel
$hpTitle='Test'; //Seitentitel

//kümmert sich um den HTML-Kopf
//Den Anfang des Bodys, das Menü und wählt anhand der Browser-
//Engine und anderer Parameter Styles und Fenstersystem aus
include($RootDir.'page_head.php');

//Dient der Positionierung und Größe
echo '<div style="width: 90%; left: 5%; right: 5%; top: 5%; padding: 0px">';
bwWindowOpen('test','tux');
?>
Hier kann jetzt der ganze Inhalt hin, ohne rücksicht auf das Fenster nehmen zu müssen ;)
<?php
bwWindowClose();
echo '</div>';

//Kümmert sich um Body und Seitenende
include($RootDir.'page_Tail.php');
?>

ich mach mal nen screenshot des fertigen layouts und schick sie dir per email

old Re: PHP Templatesystem

stealth
User Off Offline

Quote
bizzl has written
Wo immer geht hardcodet HTML zu nehmen.

Achso!? Dicker hat doch gesagt es ist so umständlich
<a href="dfdsfsdf">sdfjiafjaisfjas</a> zu schreiben?

bizzl has written
ich mach mal nen screenshot des fertigen layouts und schick sie dir per email

ok lass ma rüber wachsen

Edit
Also wenn ihr sagt dass ich so viel html wie möglich selbst schreiben soll dann erklär ich euch jetzt mal mein templatesystem das ich vorher hatte
Also ich hab z b die datei index.php. Da drin hab ich ein bisschen php code, und am ende steht include "sys/tpl/index.tpl";.
Und in der Datei steht dann purer html-code, ausser ganz oben steht include "sys/tpl/above.tpl"; (Der Headteil und die Nav-bar links und so) und unten include "sys/tpl/below.tpl"; und so.
Und bei satzgen.tpl steht dann z b an der entsprechenden Stelle <?=$sentence?>.
Wie ist das?
edited 3×, last 18.03.07 05:39:38 pm

old Re: PHP Templatesystem

bizzl
User Off Offline

Quote
stealth has written
bizzl has written
Wo immer geht hardcodet HTML zu nehmen.

Achso!? Dicker hat doch gesagt es ist so umständlich
<a href="dfdsfsdf">sdfjiafjaisfjas</a> zu schreiben?

Wenn du da PHP-Codes dazwischen haust (um pfade zu vervollständigen oder so) dann wird es langsam unübersichtlicht,
Wenn du es aber ganz normal (statisch) codest und nur sich wiederholende Teile mit php austattest, dann gehts.

old Re: PHP Templatesystem

jeepohahyo
User Off Offline

Quote
stealth has written
Also ich hab z b die datei index.php. Da drin hab ich ein bisschen php code, und am ende steht include "sys/tpl/index.tpl";.
Und in der Datei steht dann purer html-code, ausser ganz oben steht include "sys/tpl/above.tpl"; (Der Headteil und die Nav-bar links und so) und unten include "sys/tpl/below.tpl"; und so.
Und bei satzgen.tpl steht dann z b an der entsprechenden Stelle <?=$sentence?>.
Wie ist das?


Wenn du damit klarkommst, dann ist es ja vollkommen ausreichend, ich mach das BTW auch so (gibt im Moment bei meiner RPG-Page aber noch viele Ausnahmen von der Regel, da ich ja an der Seite sozusagen PHP gelernt hab, wird beim Neuschreiben aber behoben).
Allerdings kann es dir passieren, dass du versehentlich Variablen doppelt belegst und dann böse Überraschungen erlebst, davor schützen dich die Smarty-Methoden.

Wird aber schon nicht passieren, ich nehme an, dass du nicht soviele Seiten schreibst, dass du den Überblick verlierst.
To the start Previous 1 Next To the start
Log in to replyOff Topic overviewForums overview