问题: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、数据库