thinkphp3.2获取当前页面分类标题和路径
taotaoit ThinkPHP 2019-12-04 2267 0
关于本站

“最难不过坚持”

本人承接扒站仿站,php网站维护,病毒查杀,网站编辑,网站改版,html制作

有需要网站维护,改版,病毒查杀,网站编辑,网站备案,html制作等相关的工作可以联系我。
本人有多年相关工作经验,也可提供免费咨询,交个朋友。
有需要探讨问题的朋友,也可以加我微信,共同探讨!
微信:15011482830 QQ:408917339

7440401 2655 39
最新评论
https://jueru.net/
评 留言
:weixiao:
评 留言
:shuijiao: :weiqu: :zhenbang: :leng:
评 留言
:yiwen: :yiwen: :yiwen: :yiwen:
评 EasySass: could not generate CSS file. See Output panel for details.
这个业务逻辑多少都有点奇怪了,阅读浏览次数增值在新闻详情页的控制器方法里setInc,这怎么还写进模型事件里了。如果非要用onAfterRead也可以,把新闻文章的内容单独分出来一个news_content表,然后把它和news做关联,然后给news_content表的onAfterRead事件做增值处理,这样点进新闻页内查询到文章内容时才会触发它。
评 TP6模型事件-查询后onAfterRead不好用
文章标签更多
ThinkPHP (254)
Mysql (58)
DedeCms (33)
jQuery (67)
证件照 (1)
setInc (4)
setDec (4)
onclick (5)
打开边栏(ESC) 关闭边栏(ESC)

thinkphp3.2获取当前页面分类标题和路径

页面分类标题:

from clipboard

页面路径:

from clipboard

数据库:

from clipboard

控制器代码:

//获取当前分类名称
		$m = D('Home/ProductCats');
		$catNames = $m->getCatNames($catId);	//页面标题
		$catNames2=array_reverse($catNames); //数组反转,用做路径	
		$this->assign('catNames',$catNames);
		$this->assign('catNames2',$catNames2);
模型代码1:

/**
	 * 获取当前分类名称级上级分类名称
	 */
	public function getCatNames($catId){		
		$catNames = S("ZHT_CACHE_PRODUCT_CATNAMES_".$catId);
		if(!$catNames){
			//获取上级
			$catNames = array();
			$catNames = $this->getParent($catNames,$catId);
			
			S("ZHT_CACHE_PRODUCT_CATNAMES_".$catId,$catNames,31536000);
		}		
		return $catNames;
	}
	/**
	 * 迭代获取上级
	 */
	public function getParent($ids = array(),$catId){
	 	$sql = "select catId,catName,parentId from __PREFIX__product_cats WHERE catId=$catId AND isShow=1 AND isFlag=1";
	 	$rs = $this->queryRow($sql);
		if(!empty($rs)){
			$ids[] = $rs;
			if($rs['parentId']>0){
				return $this->getParent($ids,$rs['parentId']);				
			}else{
				return $ids;
			}
		}else{
			return $ids;
		}
	}
模型代码2:(跟1功能一样)

/**
	 * 获取当前路径
	 */
	public function getCatNav($catId){		
		$catNav = S("ZHT_CACHE_PRODUCT_CATNAV_".$catId);
		if(!$catNav){
			//获取上级
			$catNav = $this->getParent2($catId);
			S("ZHT_CACHE_PRODUCT_CATNAV_".$catId,$catNav,31536000);
		}
		return $catNav;
	}
	public function getParent2($catId){
	 	$sql = "select catId,catName,parentId from __PREFIX__product_cats where isFlag=1 AND isShow=1 and catId=$catId";
	 	$rs = $this->query($sql);
	 	if(false !== $rs){
			if($rs[0]['parentId'] > 0){
				$rs2 = $this->getParent2($rs[0]['parentId']);
				$rs = array_merge($rs,$rs2);
			}
			return $rs;		 	
	 	}
	}
模板中使用:

页面标题:

<title>
<volist name="catNames" key="k" id="v">
{$v['catName']} - 
</volist>
网站名称
</title>
页面路径:

<a href='/'>主页</a>
<volist name="catNames2" key="k" id="v">
	&nbsp;>&nbsp;<a href="/product/{$v['catId']}.html">{$v['catName']}</a>
</volist>

版权声明:本站原创文章,允许自由转载。

相关推荐
ThinkPHP 3.2.3 Runtime\Logs日志文件太多怎么关闭日志功能
ThinkPHP | 2019-11-05 7319
'LOG_RECORD' => false, // 默认不记录日志 'LOG_TYPE' => 'File', // 日志记录类型 默认为文件方式 'LOG_LEVEL' => 'EMERG,ALERT,CRIT,ERR',// 允许记录的...
ThinkPHP3.2.3打印sql语句
ThinkPHP | 2018-12-29 5917
方法一 echo M()->getLastSql(); 方法二 echo M()->_sql();
评论:0条
评论加载中...
发表评论