thinkphp自定义标签

   public function _navlist($tag,$content) {
      $c=get_category();//在数据库里面获取导航条数据
      $str .= '<?php foreach ($c as $k=>$v): ?>';
      $str .='<?php if ($v[\'pid\']==0): ?>';
      $str .= $content;
      $str .='<?php endif; ?>';
      $str .= '<?php endforeach ?>';
      return $str;
    }

这是我thinkphp在模板里面一个自定义标签函数
$c=get_category()我可以输出值
foreach里面的$c没有值
我这个写法有误吗

已经解决 下面是代码

   public function _navlist($tag,$content) {
      $str =<<<str
<?php
     \$result=get_category();
     foreach(\$result as \$v):
     if (\$v['pid']==0):
?>
str;
    $str .= $content;
    $str .='<?php endif;?>';
    $str .='<?php endforeach;?>';
    return $str;
    }
}
阅读 4.1k
2 个回答

这是什么写法?foreach里面去拼接$str

这个都没有必要使用标签了,使用ThinkPHP自带的东东都可以解决了。
控制器里:

public function navlist(){
    $this->c=get_category();
    $this->content=$content;
}

模板里:

<foreach name="c" item="v">
<if condition="$v['pid'] eq 0">
{$content}
</if>
</foreach>
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进