Visualizzazione dei risultati da 1 a 4 su 4

Discussione: uso smarty template

  1. #1

    uso smarty template

    Ciao a tutti! Sto costruendo un sito con Smarty Engine per i template.
    Nel file index.php ho il seguente codice:
    require_once('Smarty.class.php');
    $home = new Smarty;

    $home-> display('home.tpl');

    e vorrei caricare in home.tpl altre file. tpl senza la funzione {include file=... .tpl}
    provo a fare questo:

    $home = new Smarty;
    $menu = new Smarty;

    $home-> assign('menu',$menu->display('menu.tpl'));
    $home-> display('home.tpl');

    il risultato è questo: mostra il file menu.tpl, ma a "monte" fuori dagli delimitatori {$menu} in home.tpl
    Chi mi da una mano? Come posso far visualizzare altri template annidati nel posto giusto? Vorrei poter farlo qui dentro il file .php per poter controllare se far visualizzare in {$menu} di home.tpl un template al posto dell'altro.
    Capito? Spero di si...

  2. #2
    Utente di HTML.it
    Registrato dal
    Oct 2006
    Messaggi
    35
    non si riesce a capire cosa vuoi fare. Per me dovresti passare anche il file.tpl e il risultato che ti dà cosi qualcuno potrebbe aiutarti.Cosi ad occhio però non mi sembra un corretto modo di procedere.
    l'amore chiama amore credo

  3. #3
    Non si capisce? Ci provo di nuovo,
    Per includere una sotto .tpl dentro una generale, si usa la funzione {include...} dentro la sotto .tpl. Ma io vorrei avere controllo di questa funzione dentro il mio file index generale .php senza includere codice php nella template generale.
    mio index.php, del tipo:
    $home = new Smarty //template generale

    $menu = new Smarty //sotto template.

    //Per fare l'include che vorrei:

    $home->assign('menu',"qui vorrei include la sotto template");
    se faccio questo:
    $home->assign('menu',$menu-<display(menu.tpl));
    $home->display(home.tpl);

    L'include della sotto menu.tpl lo fa; ma non in modo preciso, ma mostra menu.tpl sopra home.tpl del tipo
    News
    Newsletter
    Forum
    //e dopo la home
    {eventuale header}
    {$menu} Benvenuto........
    {eventuale footer}

    Capito? Vorrei avere io nel mio index.php il controllo su l'include delle sottotemplate e non questo controllo darlo alla template generale, in questo caso home.tpl

  4. #4
    Probabilmente è un po' tardi... comunque dovresti usare la funzione fetch() al posto di display() per il template da includere nel template generale.
    In medio stat virtus

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.