高手能否指点一二,这是怎么回事呢?

2016-07-07 16:02 来源:www.chinab4c.com 作者:ecshop专家

table('comment') . ' AS a,'. $GLOBALS['ecs']->table('goods') .'AS b WHERE a.status = 1 AND a.parent_id = 0 and a.comment_type=0 and a.id_value=b.goods_id '. ' ORDER BY a.add_time DESC'; if ($num > 0) { $sql .= ' LIMIT ' . $num; } //echo $sql; $res = $GLOBALS['db']->getAll($sql); $comments = array(); foreach ($res AS $idx => $row) { $comments[$idx]['add_time'] = local_date($GLOBALS['_CFG']['time_format'], $row['add_time']); $comments[$idx]['content'] = $row['content']; $comments[$idx]['id_value'] = $row['id_value']; $comments[$idx]['goods_thumb'] = get_image_path($row['goods_id'], $row['goods_thumb'], true); $comments[$idx]['goods_name'] = $row['goods_name']; } return $comments; } } ?> assign('my_comments',get_comments(12)); // 数据条数 ?> QQ截图20130811210123.jpg

回答:
俗话说 功夫再高也怕菜刀
不注意优化 再好的服务器也要被搞死

不用发站,很明显。
这是因为你的模板文件中含有PHP代码导致的,
解决方法:
修改 includes/cls_template.php 文件
删除下面代码即可
  1. if(preg_match_all('~(<\?(?:\w+|=)?|\?>|language\s*=\s*[\"\']?php[\"\']?)~is', $source, $sp_match))
  2. {
  3. $sp_match[1] = array_unique($sp_match[1]);
  4. for ($curr_sp = 0, $for_max2 = count($sp_match[1]); $curr_sp < $for_max2; $curr_sp++)
  5. {
  6. $source = str_replace($sp_match[1][$curr_sp],'%%%SMARTYSP'.$curr_sp.'%%%',$source);
  7. }
  8. for ($curr_sp = 0, $for_max2 = count($sp_match[1]); $curr_sp < $for_max2; $curr_sp++)
  9. {
  10. $source= str_replace('%%%SMARTYSP'.$curr_sp.'%%%', '<?php echo \''.str_replace("'", "\'", $sp_match[1][$curr_sp]).'\'; ?>'."\n", $source);
  11. }
  12. }
复制代码

ecshop2.73模板里面不再支持 直接放php代码

最好别改动模板机制

看你的代码应该是想在模板中显示用户对商品的评论信息

完全可以在php代码中写入函数赋值给模板在模板里面调用即可