Anmelden

Archiv verlassen und diese Seite im Standarddesign anzeigen : smarty-templates automatisch erstellen



inge
05-07-2007, 19:40
hallo, ich habe folgendes problem, ich habe einen ganzen haufen php-dateien, in den die html-ausgabe direkt per echo, bzw schließen der php-tags geregelt wird.
nun will ich die ausgaben in einer tpl-datei haben und das ganze mit smarty machen. allerdings wäre es wirklich sehr viel arbeit alles per hand zu machen. kennt zufällig jemand ein tool was mir die arbeit diesbezüglich erleichtern kann, bzw. ein paar tips wie ich das mit regulären ausdrücken raussammeln kann? besonders wegen der problematik von variablen in strings bsp:

echo "pipapo $var";
ein weiteres problem sind ja auch die inludes, dass die stehen bleiben...

danke schon mal.

kama
28-07-2007, 12:21
Hallo,

wie wäre es, wenn Du die Ausgaben, sprich am Browser, in eine Datei speicherst und dann nur noch die Nötigen Stellen, durch entsprechende Schleifen etc. ersetzts ?

MfG
Karl Heinz Marbaise

inge
28-07-2007, 13:13
danke, hat sich mitlerweile erledigt.
das hauptproblem wäre aber gewesen, den php-code umzubauen...

ClausVB
28-07-2007, 19:19
Meiner Meinung nach ist es zu aufwändig einen Parser dafür zu schreiben. Auch reguläre Ausdrücke zu finden, die alles vollautomatisch umwandeln wird unmöglich sein.

Der springende Punkt ist nämlich, dass Smarty einen Teil der Logik in PHP lässt und andere Teile ins Template verlagert.

Aber wie soll das ein Skript ohne künstliche Intelligenz hinbekommen?

Das nächste Problem:


echo "\t\t<td>$variable</td>";

und


echo " <td>$variable</td>";

Für einen vollautomatischen Parser eine nahezu unlösbare Aufgabe, denn es gibt noch 10 oder 20 weitere Möglichkeiten, wie man das anders programmieren könnte, um ein ähnliches Ergebnis zu produzieren (Beispiel: Verkettungsoperator oder HEREDOC-Syntax).

Wenn das in einer WHILE-Schleife steckt, wie wird es dann in einen Smarty-Block umgewandelt?

Die Aufgabe kommt mir nicht nur aufwändig vor, sondern fast unmöglich, denn eine Konvertierung von 100% bekommt man nicht hin.

Gruß
Claus

inge
02-08-2007, 16:08
Das nächste Problem:


echo "\t\t<td>$variable</td>";

und


echo " <td>$variable</td>";

genau das waren auch meine haupt-probleme, aber wie gesagt, hat sich schon erledigt...