在使用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 当前位置部分-->
Comments
请在后台配置评论类型和相关的值。