function proc($args) {
// 레이아웃 정보를 가져옴
$layout_info = Context::get('layout_info');
$menu = Context::get($layout_info->default_menu);

// 메뉴가 없을 경우 예외
if(!$menu->list) return;

$selected_node = $this->getSelectedNode($menu->list);
$location[] = $selected_node;

for($i = 1; $i < $menu->maxdepth; $i++) {
if($selected_node['list']) {
$selected_node = $this->getSelectedNode($selected_node['list']);
if($selected_node) {
$location[] = $selected_node;
}
}
}

// 구분자가 없을 경우 '>'로 기본값 설정
if(!$args->partition) $args->partition = '&gt;';

Context::set('location', $location);
Context::set('partition', $args->partition);

// 템플릿의 스킨 경로를 지정 (skin, colorset에 따른 값을 설정)
// $tpl_path = $this->widget_path.'skins/'.$args->skin;
$tpl_path = sprintf('%sskins/%s', $this->widget_path, $args->skin);
Context::set('colorset', $args->colorset);

// 템플릿 파일을 지정
$tpl_file = 'location';

// 템플릿 컴파일
$oTemplate = &TemplateHandler::getInstance();
return $oTemplate->compile($tpl_path, $tpl_file);
}


레이아웃 설정 파일 conf.xml설정파일에 정의한 변수에 근거하여 기본 레이아웃 정보를 긁어옵니다.
이 정보속에는 레이아웃의 각종 변수 예하면 상단 메뉴, 하단 메뉴 및 깊이와 같은 정보가 저장되어 있습니다.
메뉴의 최대 깊이 즉 maxdepth에 근거하여 몇단계 루프를 돌지를 결정합니다. 계층구조적인 메뉴들은 루프를 돌면서
$location 변수에 순차적으로 저장시킵니다. 로직층서는 배열 형식으로 구성된 $location 변수만 리턴하게 됩니다.
member_id_card