Smarty Template Wiederholung auf einer Seite
Hallo, folgendes Problem:
Ich habe mit Smarty ein Template (piktogramm.tpl) erstellt. Nun soll es fünf Dateien (daten1.php, daten2.php, ... daten5.php) geben, welche mit den Inhalten für das Template versehen sind. Beim Template handelt es sich um ein kleines Piktogramm, welches verschiedene Referenzdaten beinhalten soll. Problem: Ich möchte das Template auf einer Internetseite fünf mal anzeigen lassen. <?php {include "daten1.php";}?> <?php {include "daten2.php";}?> <?php {include "daten3.php";}?> <?php {include "daten4.php";}?> <?php {include "daten5.php";}?> Alle fünf php-Dateien verweisen auf das gleiche Smarty Template (piktogramm.tpl) Doch leider wird immer nur der erste Datensatz angezeigt. Glaube das liegt daran, dass Smarty keine Wiederholungen des Templates zulässt. Gibt es eine Möglichkeit, dies zu unterbinden, so dass alle fünf Datensätze gleichzeitig in das eine Template (welches dann fünfmal untereinander erscheinen soll) eingefügt werden. Vielen DAnk für Eure Hilfe |
AW: Smarty Template Wiederholung auf einer Seite
hä? wo steht den dieser code, den du da oben gepostet hast drin? :S
warum machst du nicht eine php seite welche du aufrufst, z.b. index.php, da bindest du die seiten daten1.php, daten2.php, ... ein und kannst dann ja 5 mal die display-funktion von smarty aufrufen... |
AW: Smarty Template Wiederholung auf einer Seite
Die include-Befehle stehen in der index.php.
in jeder der daten(x).php steht folgender code: (mit unterschiedlichen Inhalten für name und zusatz): <?php error_reporting(E_ALL); define('SMARTY_DIR', 'Smarty/'); require(SMARTY_DIR.'Smarty.class.php'); $smarty = new Smarty; $smarty->assign('name', 'Wohnhaus'); $smarty->assign('zusatz', 'Fam. Berger'); $smarty->assign('info', 'xxx'); $smarty->display('piktogramm.tpl'); ?> Somit rufe ich ja fünf mal die display Funktion auf, jedoch erscheint leider nur ein Template mit dem ersten Datensatz bzw. der daten1.php-Datei. Das Template soll aber ja fünf mal untereinander erscheinen mit jeweils unterschiedlichen Inhalten (auf einer Seite) |
AW: Smarty Template Wiederholung auf einer Seite
mach folgenden code in die index.php:
PHP-Code:
|
AW: Smarty Template Wiederholung auf einer Seite
Wenn ich diesen Code in die index.php schreibe, werden die Templates gar nicht mehr angezeigt.
Hab den php-Code mit <?php ?> direkt an den Anfang der index.php Datei geschrieben, doch leider klappt es nicht. |
AW: Smarty Template Wiederholung auf einer Seite
Warum nutzt du nicht einfach die include Funktion von Smarty?
http://smarty.php.net/manual/de/lang...on.include.php |
AW: Smarty Template Wiederholung auf einer Seite
Bei dieser include Funktion kann ich aber keine php-Dateien einbetten, sondern lediglich mehrere Templates in ein bestehendes Template laden. Das Template soll aber aus der php-Datei raus aktiviert werden.
Vom Prinzip her eigentlich ganz einfach: Zwei verschiedene php-Dateien werden per include in eine index-Datei geladen. Diese beiden php-Dateien laden ein und dasselbe Template, so dass dieses Template dann zweimal in der index-Datei mit unterschiedlichen Inhalten (aus den zwei php-Dateien) gefüllt werden soll. ABER WIE FUNKTIONiERT DAS??? Bin voll verzweifelt... Bisherigen Vorschläge brachten leider keine Lösung - leider (Vielen herzlichen Dank für eure großzügige Hilfe) |
AW: Smarty Template Wiederholung auf einer Seite
hmm...
schau dir mal diesen link an: http://smarty.php.net/manual/en/api.display.php nun ist das bei deinem script ja genau das gleiche... in der index.php erstelst du erst eine instanz der smarty-klasse dann bindest du die erste datei ein, welche das template zum ersten mal ausgibt! genauso machst dus mit den anderen 4 includes... das müsste eigentlich gehen... zeig doch mal den kompletten code von der index.php und den kompletten eines includes! |
AW: Smarty Template Wiederholung auf einer Seite
...geht ja leider nicht so. Funktioniert irgendwie nicht
index.php beinhaltet: PHP-Code:
eine daten(x).php Datei enthält: PHP-Code:
Die piktogramm.tpl enthält dann die entsprechenden Platzhalter - daran könnte es eigentlich nicht liegen, da es ja einmal richtig angezeigt bzw. ausgegeben wird. Problem: Das Template wird nur einmal in der index.php Datei angezeigt - und nicht fünfmal wie gewünscht. Selbst wenn ich die Smarty-Befehle direkt in die index.php Datei fünfmal schreibe (ohne include) wird das Template nur einmal angezeigt. Ich denke, dass Smarty eine voreingestellte Funktion besitzt, welche eine Wiederholung eines Templates (ob gewünscht oder nicht gewünscht) auf einer Internetseite einfach verhindert. Aber dies müsste man doch deaktivieren können, oder? |
AW: Smarty Template Wiederholung auf einer Seite
ich weis ja nicht, was du machst aber bei mir funktioneirt folgendes script:
PHP-Code:
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 08:58:12 Uhr. |
Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.