发新话题
打印

smarttemplate取出子模板变量父模板却不能用,高手帮忙

smarttemplate取出子模板变量父模板却不能用,高手帮忙

//####index.php
复制内容到剪贴板
代码:
  <?   
  if   (isset($_GET["do"]))   
  {   
  $ac   =   $_GET["do"];   
  switch($ac)   
  {   
  case   "gb":   
  require("class/guestbook.php");   
  $main   =   $data_gb;   
  //echo   $main;   
  break;   
  default   :   
  $main   =   "无法取出数据";   
  break;   
  }   
  }   
  else   
  {   
  $main   =   "HOHO";   
  }   
   
  $tpl   =   new   SmartTemplate("template/index.htm");   
  $title   =   "enjoy's";   
  $logo   =   "<h1>enjoy's</h1>";   
  $menu   =   "<a   href='index.php'>MY首页</a>   <a   href='#'>品尝好文</a>   <a   href='#'>行业快讯</a>   <a   href='index.php?do=gb'>温馨留言</a>   <a   href='#'>音乐点播</a>";   
  $copyright   =   "enjoy's   2005";   
  $tpl->assign("title",$title);   
  $tpl->assign("logo",$logo);   
  $tpl->assign("menu",$menu);   
  $tpl->assign("main",$main);   
  $tpl->assign("copyright",$copyright);   
  $tpl->output();   
  ?>  
//####guestbook.php
复制内容到剪贴板
代码:
  <?   
  $action   =   "sendgb";   
  $gbT   =   new   SmartTemplate("template/guestbook.htm");   
  $gbT->assign("action",$action);   
  $data_gb   =   $gbT->result();   
  ?>   
走到case   "gb":这一步的时候,$main是可以取到值的   
  但是下面的模板就不能用了,就是值替换不了   
  怎么回事

TOP

自己顶

TOP

虽然PHP不要求,钽将变量初始化一下是个好习惯。   
   
  将   
  $main='';   
  放到最上面试试

TOP

你的文件没有引用smartemplate类!

TOP

不行啊
复制内容到剪贴板
代码:
  case   "gb":   
  require("class/guestbook.php");   
  $main   =   $data_gb;//在这里$main是有值的,这时下面模板不能替换   
  //echo   $main;   
  break;  
如果改成
复制内容到剪贴板
代码:
  case   "gb":   
  $main   =   "会显示";   
  break;   
这样的话下面那个模板就可以运行了,$main也会显示

TOP

模板跟smartemplate类都有引用的,不然不会取得到值的   
smartemplate类跟处理模板的php文件都是放在class/下面   
模板放在template/下面
努力为phpres做贡献
时刻准备着,当机会来临时你就成功了
打好基础,增加社会经验
资深技术工程师是我的梦想
承接各种团体网站外包服务和各种it技术培训
准备申请AJAX版大,希望大家支持~~

TOP

把class.smarttemplate.php中的   
  unset   ($_top);   
  改为   
  unset($GLOBALS['$_top']);

TOP

unset($GLOBALS['_top']);

TOP

引用:
原帖由 大龄青年 于 2007-11-16 17:00 发表
unset($GLOBALS['_top']);
终于行了   
  改成
复制内容到剪贴板
代码:
//####guestbook.php   
  <?   
  $action   =   "sendgb";   
  $gbT   =   new   SmartTemplate("template/guestbook.htm");   
  $gbT->assign("action",$action);   
  $data_gb   =   $gbT->result();   
  unset($_top);   
  ?>
谢谢兄弟们

TOP

发新话题