smarty assign function

catellostefano

Utente Attivo
19 Dic 2008
525
2
0
www.stepo.biz
Ciao a tutti sapete come posso assegnare una funzione a smarty da poterlo poi passare al file tpl?
vi faccio un esempio

personale.php
PHP:
include_once "./funzioni.inc.php";
require './lib/smarty/Smarty.class.php';

$smarty = new Smarty;
$smarty->compile_check = true;
$smarty->debugging = false;

$email = $_POST['email'];
$password = $_POST['password'];

$smarty->assign("dologin", dologin($email, $password) );

$smarty->display('tpl/header.tpl');
$smarty->display('tpl/personale.tpl');
$smarty->display('tpl/footer.tpl');

Codice:
[TPL]

{ dologin() }
[/TPL]

si può fare pure una cosa simile?
 
Se vuoi passare il valore di una funzione allora stai facendo la cosa giusta, altrimenti no, stai sbagliando. In Smarty si distingue tra funzione e modificatore. Se vuoi passare una funzione che poi potrai eseguire nel template, ad esempio:
HTML:
<!-- codice HTML -->
{dologin username="pippo" password="franco"}
<!-- altro codice -->
Devi creare una nuova funzione nei plugin di Smarty. Altrimenti puoi semplicemente eseguire del codice PHP nel template, così:
HTML:
<!-- codice HTML -->
{php}
// qui tutto il tuo codice PHP
{/php}
<!-- altro codice -->
Credo che nel tuo caso sia più corretta la seconda opzione.
 

Discussioni simili