프로젝트에 분류된 이동경로 경로를 추가하고 싶었지만 oneThink 프론트엔드가 그러한 기능을 제공하지 않는 것 같아서 제가 직접 작성했습니다. 이것이 모든 사람에게 유용할 수 있기를 바랍니다.
우리는 웹사이트를 구축할 때 탐색경로 탐색을 자주 사용합니다. 일반적으로 이러한 탐색은 다단계 분류를 기반으로 한 다음 oneThink에서는 목록 페이지든 기사 페이지든 레벨별로 푸시됩니다. 모두 현재 카테고리 $category의 변수를 정의합니다. 따라서 이 변수의 ID를 사용하여 프런트엔드 모듈의 함수 호출을 통해 현재 경로를 생성할 수 있습니다.
더 이상 고민하지 말고 먼저 pid 및allow_publish 필드를 쿼리하기 위한 카테고리 지정 필드의 내용을 찾는 데 사용되는 HOME 모듈의 함수에서 get_category_info(); 함수를 만들어 보겠습니다. linenums lang-php">/** 지정된 카테고리에서 지정된 필드의 내용을 찾아보세요/**查找指定分类的指定字段内容<br>
* @param $id<br>
* @param string $field<br>
* @return mixed|string<br>
*/<br>
function get_category_info($id,$field=""){<br>
<br>
if(!$field){<br>
return '没有指定查找字段';<br>
}else{<br>
$map = array(<br>
'id'=>array('eq',$id),<br>
'status'=>array('eq',1)<br>
);<br>
$re = M('category')->where($map)->getField($field);<br>
return $re;<br>
}<br>
}
* @param $id/**<br>
* 获取面包屑<br>
* 基于分类生成分类面包屑<br>
* @param $id 当前分类ID<br>
*/<br>
function get_bread($id){<br>
//查询pid<br>
$pid = get_category_info($id,'pid');<br>
//根据当前分类是否允许发布内容来确定用index模版还是lists模版<br>
$temp = get_category_info($id,'allow_publish')?'lists':'index';<br>
<br>
$str = $pid?<br>
get_bread($pid):<br>
'<a href="'.U('Home/Index/index'). '" alt="首页" >首页</a>';<br>
<br>
$str .= ' > <a href="'.U('Home/Article/'.$temp,array('category'=>$id)).'" alt="'.get_category_title($id).'">'.get_category_title($id).'</a>';<br>
<br>
return $str;<br>
}
* @param 문자열 $field{:get_bread($category['id'])}
* @return 혼합|문자열
*/
/**
* 탐색경로 얻기
* 분류에 따라 분류된 이동 경로 생성
* @param $id 현재 카테고리 ID
*/를 만듭니다.
함수 get_bread($id){
//PID 쿼리
$pid = get_category_info($id,'pid');
//현재 카테고리에서 콘텐츠 게시를 허용하는지 여부에 따라 인덱스 템플릿을 사용할지 목록 템플릿을 사용할지 결정합니다.
$temp = get_category_info($id,'allow_publish')?'목록':'index';
$str = $pid?
get_bread($pid):
'<a href="'.U('Home/Index/index'). '" alt="Home" >홈</a>';
$str .= ' > <a href="'.U('Home/Article/'.$temp,array('category'=>$id)).'" alt="'.get_category_title($ id).'">'.get_category_title($id).'</a>';
$str; 반환
}
마지막으로 프런트엔드 태그는 get_bread() 함수를 호출합니다.