我不知道,我在互联网上找不到如何将功能爆炸的结果存储到变量中。我做错了什么? REQUEST_URI是:/cz/cs/15_test.html。 15_test.html是我需要存储在变量中的东西。非常感谢您的帮助。
SMARTY:
{assign var="url_catname" value=explode("/",$smarty.server.REQUEST_URI)}
{assign var="url_catname" value=$url_catname[3]}
答案 0 :(得分:2)
你不能像这样从Smarty调用PHP函数。从PHP代码进行分配:
$smarty = new Smarty();
$pieces = explode("/", $_SERVER['REQUEST_URI']);
$smarty->assign('url_catname', $pieces[3]);
$smarty->display('blah-blah.tpl');
答案 1 :(得分:0)
之前的答案并非完全正确。你可以调用PHP函数,但当然在PHP脚本中做很多事情更合理,而在Smarty中只显示结果。
运行时:
{assign var="url_catname" value=explode("/",'/cz/cs/15_test.html')}
{assign var="url_catname" value=$url_catname[3]}
{$url_catname}
作为输出,您会收到:
15_test.html
所以它似乎没有问题(当然使用$smarty.server.REQUEST_URI
时也一样)。
以这种方式使用explode
时会得到完全相同的效果:
{assign var="url_catname" value="/"|explode:'/cz/cs/15_test.html'}
{assign var="url_catname" value=$url_catname[3]}
{$url_catname}
作为输出,您会收到:
15_test.html