Hallo Forum,
in einem meiner Projekte habe ich mit PHP und MySQL gearbeitet. Dieses Projekt möchte ich jetzt in ein CMS umbauen. Eines der Gründe ist, den Code sauber vom Design zu trennen. Ich habe mich für Smarty entschieden aus einen einfachen Grund, ich fand Smarty im Buch "Besser PHP Programmieren" von Carsten Mörke. Dort wurde unter anderem beschrieben das es eine ganz tolle und professionelle Sache sei Programmlogik vom Design sauber zu trennen. Dies wollte ich natürlich dann auch sofort ausprobieren. Nur desto mehr ich mit Smarty arbeite, desto mehr überlege ich mir ob es überhaupt einen Sinn macht damit weiter zu machen. Es entstehen dabei diverse Probleme die mir das Entwickeln schwerer, umständlicher und zeitaufwendiger machen, wie z.B. die Navigation. Wenn ich's mir so recht überlege, eigentlich will ich ja nur den PHP-Code vom HTML-Code sauber trennen, dann könnte ich das ja auch mit externen Bibliotheken machen. In gewisser Weiße ist dieses Projekt auch schon eine Art CMS, User können Daten der Website ändern. Das einzige was eben nicht ist, die Programmlogik ist nicht sauber vom Design getrennt. Was haltet Ihr von CMS und Smarty?
Wie oben schon erwähnt, habe ich Probleme mit der realisierung der Navigation in Smarty.
Navigation mit PHP ohne Smarty (index.php):
<head>
<?php
if ($page == "") $page = "start.htm";
?>
</head>
<body>
<div class="nav">
<a href="index.php?page=seite1.htm">Home</a><br>
...
</div>
<div class="content><?php include($page); ?></div>
</body>
hier wäre die Programmlogik nicht vom Design getrennt.
Wie soll ich das jetzt mit Smarty machen? Was ich beim googeln gefunden habe ist so was wie {include file="start.tpl"}.
Die IF-Anweisung im Head müsste ja dann auch in die PHP-Datei, ich probiere das jetzt schon seid Stunden, ich bekomme es einfach nicht hin. Und das ist nur ein kleines Problem, ich will nicht wissen was für Schwierigkeiten ich später noch bekommen werde. Deswegen meine Frage, ob es überhaupt empfehlenswert ist Smarty zu verwenden.
Wie man diese Navigation in Smarty macht würde ich mich über etwas Beispiel-Code sehr freuen.
Gruß
Torsten