thinkphp栏目如何实现自定义url

浏览:4316 发布日期:2014/10/10 分类:求助交流 关键字: thinkphp 自定义url 栏目
问题:thinkphp我现在已经设置好了栏目表和栏目所属模型表,新建了自定义标签库实现栏目名称和链接的前台输出,但是链接没有实现自定义url,也就是根据栏目所属的模型访问相应的tp控制器模板。比如:前台有 网站首页(外部链接)、公司介绍(单页模型)、新闻动态(文章模型)、产品展示(产品模型)四个栏目,放在数据库Column表里,当前台点击网站首页(外部链接)时,跳转到Column表填写的链接字段;当前台点击 公司介绍(单页模型)时,跳转到单页控制器列表List_page.html,内容页Show_page.html;当前台点击 新闻动态(文章模型)时,跳转到文章控制器列表List_article.html,内容页Show_article.html。如何实现呢?谢谢

1、自定义标签库TagLibMy.class.php<?php
/**
 * 自定义标签库
 */
import('TagLib');
 
class TagLibMy extends TagLib{
    // 标签定义
    protected $tags=array(
        // 标签定义: attr 属性列表 close 是否闭合(0 或者1 默认1) alias 标签别名 level 嵌套层次
        'navlist'=>array('attr'=>'limit,order','close'=>1), //不闭合标签
        );
 
    //导航条标签
    public function _navlist($attr, $content) {
        $attr = $this->parseXmlAttr($attr);
        $str = <<<str
<?php
 
    \$_nav_m=M('Column')->order("{$attr['order']}")->where("column_status=0")->select();
    import('Class.Category', APP_PATH); 
    \$_nav_m=Category::unlimitedForLayer(\$_nav_m);
 
    foreach(\$_nav_m as \$_nav_v):
            extract(\$_nav_v);
            \$url = U('/list/' . \$id);
?>
str;
 
    $str .= $content;
    $str .='<?php endforeach;?>';
    return $str;
 
    }
 
}
 
?>
2、数据库


最佳答案
评论( 相关
后面还有条评论,点击查看>>