메인 네비게이션 섹션이 컨트롤러에 거의 직접 매핑된다고 가정합니다. 이 경우
, 당신이 이미 가지고 :
최상위 표시 줄에서
Home | News | Events
는에 매핑 nav 배열을 선택하는 간단한 방법.
컨트롤러 생성자 &의 nav 항목 링크 쌍을 출력의 하위보기로 전달할 수 있습니다.
예 :
class HomeController extends CI_Controller
{
private $nav;
public function __construct()
{
parent::__construct();
$this->nav = array(
array('Browse', site_url('news/browse')),
array('Edit', site_url('news/edit'))
);
$this->load->vars(array('NavigationArray' => $this->nav));
}
// ...
}
이제 당신이했던 것은 자동 등록 표시 이름의 배열을 포함 모든 뷰 $NavigationArray
에 변수를 - 링크쌍.
그런 다음 해당 변수에서 서브 넷을 빌드하는 기본 탐색보기를로드 할 수 있습니다 (모든 곳에서 사용 가능).
<? foreach($NavigationArray as $entry): ?>
<a href="<?=$entry[1];?>"><?=$entry[0];?></a>
<? endforeach; ?>
그리고 당신은 당신이 선택적으로 컨트롤러에 설정할 수 있습니다, 또는 무엇이든 (세 번째 옵션 탐색이 당신에 대한 이야기) 하위 탐색 배열의 실존
<? if(exists($SubNavigationArray)): ?>
<? foreach($SubNavigationArray as $entry): ?>
<a href="<?=$entry[1];?>"><?=$entry[0];?></a>
<? endforeach; ?>
<? endif; ?>
를 찾을 수 아래
하세요 이 예제는 매우 기본적인 것이지만, 일반적으로 데이터를 전달하는 방법이므로 전역 변수를 아무 데나 놓고 대기열에 넣기를 원하지는 않을 것입니다.뷰 엔진에 변수를 단순히 "로드"하면 뷰/하위 뷰를 렌더링 할 때 사용할 수 있습니다.
이 방법으로 컨트롤러 은에 어떤 탐색 항목이 표시되는지 제어합니다.
또한주의 :
당신은 그들이 당신의보기의 범위에 존재합니다 신뢰의 명시 적으로 대신 변수를 전달할 수 있습니다.
$this->load->view('myview', array('NavigationArray' => $this->nav));
희망이 있습니다.