레이아웃 스킨 파일에서 레이아웃 설정 > 메뉴에서 selected된 값 가져오기
CMS/프레임워크 | XE 1.x |
---|---|
개발 언어 | PHP 7.0 |
레이아웃 스킨 파일에서
레이아웃 설정의 메뉴에 등록된 selected된 값 가져오기
(단순히 사이트맵에서 해당 사이트맵의 이름은 menu_srl값을 통해 가져올 수 있다는 걸 알았습니다.)
{@ $oMenuAdminModel = getAdminModel('menu'); $menuListFromDB = $oMenuAdminModel->getMenus(); } <!--@foreach($menuListFromDB as $key => $val)--> <div>{var_dump($val)}</div> <!--@end-->
이렇게 하면 사이트맵에 등록된 전체 사이트맵을 다 가져오는 건데요,
제가 원한 건 해당 레이아웃에 등록된 메뉴값만 가져오는게 목적이었습니다;;
레이아웃 설정에서 메뉴
<li loop="$portal_menu1->list => $key1, $val1"
이런 식으로 가져오는데, 여기서 한단계 위인 사이트맵 이름 자체를 가져오고 싶었던 것이었던 것이었는데 ㅠ
레이아웃 설정에서 메뉴에서 선택된 타이틀값을 가져오려면 어떻게 하면 될까요?;
xe_layouts 라는 테이블에서 현재 선택된 layout_srl 값을 가져온 뒤,
extra_vars 컬럼에서 a:4{...} 이 부분이 현재 선택된 레이아웃의 메뉴들인데, 이것들을 가져올 수 있으면 되는데요...
저걸 어떻게 가져오면 될까요.
1. 현재 선택된 레이아웃 srl 값 가져오기
$layout_info=Context::get('layout_info');

eond
Lv. 13
# 라이믹스 스킨 제작은 어디? >>>> XE 레이아웃, 라이믹스 스킨제작은 이온디에서 커스터마이징해드립니다.
# 빠른 라이믹스 커뮤니티용 호스팅을 찾고 계신가요? >>>> 이온디호스팅 서비스는 PHP8 & Redis 서버 캐시를 활용하여 라이믹스에 최적화된 호스팅 서비스를 제공해드립니다. (서버세팅시 웹패널, 내도메인메일서비스도 함께 구축해드립니다.)
https://eond.com
# 빠른 라이믹스 커뮤니티용 호스팅을 찾고 계신가요? >>>> 이온디호스팅 서비스는 PHP8 & Redis 서버 캐시를 활용하여 라이믹스에 최적화된 호스팅 서비스를 제공해드립니다. (서버세팅시 웹패널, 내도메인메일서비스도 함께 구축해드립니다.)
https://eond.com
댓글 8
이걸 말씀하시나요?
혹시 라이믹스 에서는 그게 되나요?;
// $oContext = &Context::getInstance();
// $oContext->init();
// $layout_info = Context::get('layout_info');
}
<pre>{print_r($layout_info->menu_name_list);}</pre>
<!--@foreach($layout_info->menu_name_list as $key => $val)-->
{$val}<br>
<!--@end-->
이렇게 해결했는데 코미님 뭔가 더 간단한..-_-;;
레이아웃 스킨에서 사이트맵 메뉴 타이틀을 가져오는 거였나요.
이것도 복잡할지 모르겠는데, 그래도 메뉴 루프 돌리기 직전에 이렇게 갖다 두면 루프를 안 돌리는 거여서 조금 나을 것 같습니다.
{@
$oMenuAdminModel = getAdminModel('menu');
$menu_item_srl = array_values($portal_menu1->list)[0]['node_srl'];
$menu_srl = $oMenuAdminModel->getMenuItemInfo($menu_item_srl)->menu_srl;
$menu_title = $oMenuAdminModel->getMenu($menu_srl)->title;
}
{$menu_title }
그나저나 코미님 이야기처럼,
코어 차원으로 레이아웃에서 메뉴 list를 가져올 때 사이트맵의 srl이랑 title도 같이 들어가 있으면 좋을 것 같네요.