costruisci un array PHP all'interno del while con tutti i risultati e assegnalo a Smarty dopo il while.

Con $smarty->assign non aggiungi alla var "contacts" tutti i link ma la sostituisci, dunque ti ritrovi sempre e solo con l'ultimo