send_message.html (커뮤니케이션 쪽지발송) 창에서의 레이아웃 변수 접근방법 문의
CMS/프레임워크 | Rhymix 2.0 |
---|---|
개발 언어 | PHP 8.0 |
send_message.html 에서 레이아웃의 변수 접근방법에 대하여 문의드립니다.
{@
$logged_info = Context::get('logged_info');
$oLayoutModel = &getModel('layout');
$layout_srl = 133;
$li = $oLayoutModel->getLayout($layout_srl);
}
php 코드상에서 $li 레이아웃 변수에 접근할 일이 있어서 위와같이 작성해보았는데요
문제는 {$li->설정 이름(변수이름)} 으로 출력해보면 아무것도 출력되지 않은채 공란으로 출력됩니다.
혹시 어떤 문제인지 실마리를 알려주실분 있으실까요? ㅠ_ㅠ
댓글 8
[extra_var] => stdClass Object ( [primary_color] => stdClass Object ( [group] => 일반 [title] => 대표 색상 [type] => colorpicker [value] => #41a317 [description] => 흔히 Primary color로 표현되는 대표 색상을 변경합니다. )
이런식으로 잘 담겨져 있는데 왜 변수로 꺼내려고 하면 안돼는지 이해가 잘 안가네요 ㅠㅠ
외부 페이지에서는 $li->변수이름 으로 바로 접근하면 안되는건요 ㅠㅠ
혹시나 저처럼 어려움을 겪고 계시는 분들이 계실까봐 공유해드립니다.
$li->extra_var->primary_color->value 식으로 접근하셔야합니다
변수 li의 구조 자체가 extra_var라는 변수 안에 레이아웃의 각 변수가 담긴 형태로 되어 있는겁니다.
그러니 당연히 $li->변수명 으로는 불러올 수 없죠.
감사합니다 ㅎㅎ
https://github.com/rhymix/rhymix/blob/a6ace52c9e25047f966eb83253526215936029b1/modules/layout/layout.view.php#L129-L152
라이믹스에서 레이아웃 정보를 불러올때는 getLayout으로 가져온뒤 이미지 관련 추가로 경로 관련 처리를 한뒤 $li에 직접 지정해 주므로 굳이 $li->extra_vars->변수 형태를 사용하지 않아도 됩니다. 이걸 거치지 않고 직접 가져오셨으니 $li->extra_var->변수 형태를 사용하셔야 하는겁니다.
크게 배워갑니다 ㅋㅋ 이해못하던 부분이 한번에 이해되었네요 감사합니다