Ich grübel jetzt schon ne Weile wie ich in Smarty PHP Code einbinden kann. Direkt im Template muss es ja irgendwie gehen da man sonst a nix coden könnte. Und ich will nich immer mit diesem dummen smarty code arbeiten
Smarty und PHP
Einklappen
X
-
Sind Templates nicht dazu da phpcode und htmlseiten zu trennenZuletzt geändert von Seccho; 29.11.2003, 14:23._____________
Ist das so? Scheinbar muss das so?! Oder ist es vielleicht viel leichter...
[color=red]Auch ich beantworte keine mails bei php problemen! Für das gibts ja das Forum!![/color]
-
OffTopic:
ich muss ma sagen das ich so was wie smarty nicht leiden kann
wie schon seccho sagte sind templates dazu da um html und php zu trennen. da brauch ich son schnickschnack nicht!!! ausserdem wird eine schleife in php schneller sein als in templates da mit smarty!
naja
Kommentar
-
Original geschrieben von Trashar
OffTopic:
ich muss ma sagen das ich so was wie smarty nicht leiden kann
wie schon seccho sagte sind templates dazu da um html und php zu trennen. da brauch ich son schnickschnack nicht!!! ausserdem wird eine schleife in php schneller sein als in templates da mit smarty!
najaOffTopic:
Das mit den Schleifen ist schon richtig,aber Smarty ist nicht schlecht...Man kann ganze Seiten mit nur einem Template aufbauen(normalerweise braucht man viele kleine Templates).Ich benutzte es für mein Board und ich bin zufrieden.Einziger schwachpunkt ist,dass Ich mit Smarty nicht cachen kann,weil sich mein Board damit nicht verträgt...Mit cachen hätte man einen 70% Geschwindigkeitsvorteil und das is doch nicht schlecht
Kommentar
-
hey,
also als erstes erstellst Du in Deinem php Skript eine Smarty-Instanz.
dann kannst Du mittels assign() variablen zuweisen. Am Ende deines Skriptes rufst Du noch die display Methode auf, um Dein template zu parsen.
PHP-Code:$smarty = new Smarty();
$smarty->assign("TPL_VAR",$php_var);
$smarty->display("dein_tpl");
<tr><td>{$TPL_VAR}</td></tr>
Hoffe das ich Deine Frage richtig verstanden hab.
PS: Man sollte wirklich davon absehen, php code in smarty einzubinden! Sonst kann man sich ja templates gleich sparen!
Kommentar
-
habs schon nur hab ich jetzt ein neues problem ^^
haben ein news system und will mir die news ausgeben lassen mit folgendem code :
PHP-Code:<?php
require 'libs/Smarty.class.php';
include ('configs/sql.php');
$dbconnect=mysql_connect("$host","$user","$pw");
mysql_select_db('$db');
$newszeigen="SELECT 'id','name','titel','newssmal','newslarge','time' ";
$ergebnis=mysql_query($newszeigen,$dbconnect);
$smarty = new Smarty;
$smarty->assign("news",$ergebnis);
$smarty->display('index.tpl');
?>FIAE
Kommentar
-
hm, was du brauchst ist ein PHP-Buch. Oder lies' dir mal das PHP- und das Smarty-Handbuch durch. Beides gibts auf deutsch.
@Smarty: Smarty ist genial. Ich benutze es für diverse Anwendungen und konnte nie klagen. Leider sind nicht alle Features PHP5-kompatibel, aber das wird schon noch (hoffe ich doch).[color="#334D7B"]"Los, lass uns loslegen! Hm ? Quatschen können wir hinterher immer noch!"[/color]
[color="#9C5245"]"Aber Bommel, wir können jetzt nicht bumsen. Wir müssen doch erst den Kindern - ... "[/color]
[color="#334D7B"]"Ja ja ja. Du willst immer nur das Eine. Buchstabenzeigen, Buchstabenzeigen - meine Gefühle sind dir wohl scheißegal."[/color]
© Harald Schmidt
Kommentar
-
PHP-Code:<?php
require 'libs/Smarty.class.php';
include ('configs/sql.php');
$dbconnect=mysql_connect("$host","$user","$pw");
mysql_select_db('$db');
$newszeigen="SELECT 'id','name','titel','newssmal','newslarge','time' ";
$ergebnis=mysql_query($newszeigen,$dbconnect);
$smarty = new Smarty;
$smarty->assign("news",$ergebnis);
$smarty->display('index.tpl');
?>
du kannst nicht direkt den $newszeigen ausgeben! der zeigt nur auf die einträge, beinhaltet sie aber nicht (deshalb die meldung $id4). du musst das so lösen:
//wie vorher
$newszeigen="SELECT 'id','name','titel','newssmal','newslarge','time' ";
$ergebnis=mysql_query($newszeigen,$dbconnect);
if($row= mysql_fetch_array($ergebnis))
{
$smarty->assign('name',$row['name']);
$smarty->assign('titel',$row['titel']);
//etc.
}
Kommentar
Kommentar