hainan_shi 2014-10-10 03:14
浏览 1279

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、数据库
CSDN移动问答
CSDN移动问答

  • 写回答

0条回答

    报告相同问题?

    悬赏问题

    • ¥15 DIFY API Endpoint 问题。
    • ¥20 sub地址DHCP问题
    • ¥15 delta降尺度计算的一些细节,有偿
    • ¥15 Arduino红外遥控代码有问题
    • ¥15 数值计算离散正交多项式
    • ¥30 数值计算均差系数编程
    • ¥15 redis-full-check比较 两个集群的数据出错
    • ¥15 Matlab编程问题
    • ¥15 训练的多模态特征融合模型准确度很低怎么办
    • ¥15 kylin启动报错log4j类冲突