学习 PHP模板引擎Smarty入门使用 出错:C:\AppServ\www\mb\smarty\Smarty.class.php on line 780

发布网友 发布时间:2022-04-22 20:34

我来回答

2个回答

热心网友 时间:2023-10-28 01:30

一是设置那三目录用
$smarty->template_dir = './templates/';
$smarty->compile_dir = './templates_c/';
$smarty->cache_dir = './cache/'; 并确保这三目录存在并且路径正确.

二是你模板写法有误
应改为
新闻编号:{$newsID.newsID}<br>
新闻内容:{$newsID.newsTitle}<br><hr>

三开发期间最好别启用SMARTY CACHE 将 $smarty->caching = false;

热心网友 时间:2023-10-28 01:31

$smarty->template_dir = './templates/';
$smarty->compile_dir = './templates_c/';
$smarty->cache_dir = './cache/';

用上面部分替换掉下面这一段。
$smarty->templates("templates");
$smarty->templates_c("templates_c");
$smarty->cache("cache");

补充回答:
逻辑页面数组的传递方式和模板页面foreach的写法不匹配,随便改哪一边都可以。
下面是模板页面的改法,没测试过,但应该没问题,你直接把模板里面foreach那一整段替换成下面这样就可以了。

{foreach from=$newsArray item=news}
{foreach name=sub from=$news item=item}
{if $smarty.foreach.sub.first} 新闻编号:{$item}<br>{else}新闻内容:{$item}<br><hr>{/if}
{/foreach}
{foreachelse}
对不起,数据库中没有新闻输出!
{/foreach}

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com