我使用smarty进行最新的个人项目并遇到问题。
$smarty = new Smarty;
$smarty->template_dir = 'templates/dashboard/';
以上从这个目录加载.tpl文件,这对我很有用,但在.tpl中我想加载一个图像,我必须这样做:
<img src="templates/dashboard/images/avatar/full/{$user->username}.jpg" class="profile-avatar img-thumbnail">
我想做但却没有工作的是:
<img src="images/avatar/full/{$user->username}.jpg" class="profile-avatar img-thumbnail">
我在设置template_dir的时候也会改变,但这也会改变,但它并没有...... 我无法找到任何可以为.tpl文件更改此文档的文档。
请注意&#39; templates / dashboard&#39;,这就是我想摆脱.tpl
的内容答案 0 :(得分:0)
首先,您不应将图像放在模板所在的文件夹中。图像应放在公共文件夹中(通常为public
或public_html
),站点代码可以放在其他无法从Web访问的目录中。
所以将你的文件移到另一个文件夹中,因为你现在拥有的结构肯定会让你有一天遇到麻烦。
但是如果您仍然想要使用这样的结构,您可以使用您想要使用的路径将新变量分配给Smarty:
$smarty->assign('ip', $smarty->template_dir);
现在在您的模板中,您可以使用:
<img src="{$ip}images/avatar/full/{$user->username}.jpg" class="profile-avatar img-thumbnail">