Hi,
so wies aussieht machst Du zum Erstenmal was mit Smarty/Templates. Da solltest Du Dich mal ein bischen intensiver damit befassen. D.h., dieses Rendern (bei Smarty heißt das assign) bekommt ein Template und ein Array mit den Daten. Genau das muss man nicht unbedingt über HTTP und einen Browser schleifen. Für den Anfang ists besser das alles zusammen auf der Kommandozeile zu tun um sich damit vertraut zu machen.
Und dann überlege Dir eine Strategie wie Dein Template für den Browser zu rendern wäre. Auf jeden Fall serverseitig und siehe da, den JSON brauchst Du da gar nicht. Was Du brauchst, ist ein Array mit den ins Template zu rendernden Daten und das ist alles PHP.
Erst nach dem Rendern wird das Template ausgeliefert, sprich: in den Ausgabepuffer geschrieben. Auf gehts 😉