一开始我对Smarty来说真的很新。
我得到了一些有时需要首先解析的模板文件。
因此,了解Smarty是否只能解析一个特殊块而不是整个文件包含多个块将会很有趣。
有一个名为fetch ()
的函数,但它没有按照我希望的方式工作。
如果有可能做类似
的事情会很好Smarty()->fetch($myTpl, array('blockname1'));
答案 0 :(得分:0)
据我所知你不能这样做,但你可以拥有多个Smarty文件。那你可以做什么:
一个Smarty文件(例如index.tpl
):
bla bla bla
{$content}
bla bla bla
另一个Smarty文件(例如site.tpl
)
another bla bla bla
在PHP中,您现在可以:
$site = $smarty->fetch('site.tpl');
$smarty->assign('content', $site . ' xxx'); // you modify in PHP content a bit
$smarty->display('index.tpl');
输出将是:
bla bla bla
another bla bla bla xxx
bla bla bla
因此,当你看到你需要把你想要解析的块分别放到另一个文件中,然后获取它然后你可以将它的内容分配给另一个Smarty文件(或用它做你想做的任何事情 - 保存到文件等等)。