phpcms当前位置面包屑导航,去掉最后一个的分隔符方法总结 – 901web前端博客 - 一个90后的前端之路,先学会做人,在学会做事,最后学会分享……

901web前端博客

人生就像一副复杂拼图
每个人总有属於自己的记忆碎片
Theme By 网上下载

联系我

RSS

十月 11, 2014

phpcms当前位置面包屑导航,去掉最后一个的分隔符方法总结

在使用phpcms制作网站的过程中,经常使用到当前位置面包屑导航,即–你好,当前位置:首页>新闻中心>公司新闻这样的导航效果(当前路径).当我们调用系统中默认的catpos函数的时候,最后的一个导航栏目也给加上了分隔符,这个是我们所不想要的.我们应该如何来更改为我们所需要的效果呢,下面对工作中遇到的相关问题进行一个总结归纳.如下提供两中修改方法.可以将系统中的catpos函数进行修改或者不修改系统函数在模板中来处理也可以的.

方法一:

找到系统中写好的catpos函数(phpcms\libs\functions\global.func.php)中的catpos方法:

原始的代码如下:

/**
 * 当前路径
 * 返回指定栏目路径层级
 * @param $catid 栏目id
 * @param $symbol 栏目间隔符
 */
function catpos($catid, $symbol=' > '){
	$category_arr = array();
	$siteids = getcache('category_content','commons');
	$siteid = $siteids[$catid];
	$category_arr = getcache('category_content_'.$siteid,'commons');
	if(!isset($category_arr[$catid])) return '';
	$pos = '';
	$siteurl = siteurl($category_arr[$catid]['siteid']);
	$arrparentid = array_filter(explode(',', $category_arr[$catid]['arrparentid'].','.$catid));
	foreach($arrparentid as $catid) {
		$url = $category_arr[$catid]['url'];
		if(strpos($url, '://') === false) $url = $siteurl.$url;
		$pos .= '<a href="'.$url.'">'.$category_arr[$catid]['catname'].'</a>'.$symbol;
	}
	return $pos;
}

修改后的相关函数代码:

function catpos($catid, $symbol=' > '){
	$category_arr = array();
	$siteids = getcache('category_content','commons');
	$siteid = $siteids[$catid];
	$category_arr = getcache('category_content_'.$siteid,'commons');
	if(!isset($category_arr[$catid])) return '';
	$pos = '';
	$siteurl = siteurl($category_arr[$catid]['siteid']);

	$arrparentid = array_filter(explode(',', $category_arr[$catid]['arrparentid'].','.$catid));

	$index=0;

	foreach($arrparentid as $catid) {
		$index++;
		sizeof($arrparentid)==$index && $symbol='';
		$url = $category_arr[$catid]['url'];
		if(strpos($url, '://') === false) $url = $siteurl.$url;
		$pos .= '<a href="'.$url.'">'.$category_arr[$catid]['catname'].'</a>'.$symbol;
	}
	return $pos;
}

方法二:(直接在模板页面中用php标签进行修改)

<!-- start 当前位置部分 -->

		<div class="position">
			<?php $pid=get_topid($catid);?>
			<h2 class="pos_pic">{$CATEGORYS[$pid][catname]}</h2>
			<div class="site">
				您现在的位置:  <a href="{siteurl($siteid)}">首页</a>
				<?php
					$apid=explode(",",$CAT[arrparentid]);

					//p($apid);
					//print_r($apid);
					//exit();
					if(count($apid)==2){
						$pcats=$CATEGORYS[$apid[1]];
						//p($pcats[url]);
						echo '<span style="margin:0 0 0 2px;"> ></span><a style="margin:0 0 0 4px;" href="'.$pcats[url].'">'.$pcats[catname].'</a>';
					}
				?>
				<span style="margin:0 -3px 0 0;"> ></span>
				<a class="cat" style="margin:0 2px 0 0;" href="{$CAT[url]}">{$CAT[catname]}</a>
			</div>

		</div>		

<!-- end 当前位置部分-->

相关文章

返回