{$logged_info->profile_image->src}
프로필이미지가 출력이 되지 않는데요. 위 코드가 잘못된건가요??
같은페이지에서 로그인회원 식별은 잘 되고 있습니다.
{$logged_info->profile_image->src}
프로필이미지가 출력이 되지 않는데요. 위 코드가 잘못된건가요??
같은페이지에서 로그인회원 식별은 잘 되고 있습니다.
출력되는 곳은 게시판 보드 스킨입니다. _read.html , _comment_write.html 파일 두곳 모두 코드를 넣어도 출력이 안되네요.
레이아웃에 넣어도 출력이 안되네요.
$logged_info->profile_image는 기본으로 세팅되는 변수가 아닌 것으로 기억합니다.
아마 예전에는 위와 같은 코드를 변수를 만들어 사용하는 애드온이나 모듈 등 서드파티 자료가 있었는데
최근에 해당 자료의 사용을 중단하셨거나, 해당 자료가 업데이트되어
내부적으로 사용하는 변수명이 바뀌어서 안 되고 있을 가능성이 높아 보입니다.
&는 10년 전의 적폐(?)이니 더이상 필요없고요, 더 줄여서 쓰시려면
{getModel('member')->getProfileImage($logged_info->member_srl)->src}
이렇게 한 줄로 하셔도 되긴 합니다 ^^
다른 댓글에서 말씀드린 것처럼 템플릿에서 사용하는 변수는 자동으로 Context와 연동됩니다. 컴파일된 결과물을 열어보시면 모조리 Context를 참조하도록 되어 있어요.
예: Context::set('webzigi', 1234); 해놓고 템플릿에서 {$webzigi} 하면 1234라고 나옵니다.
"이상적"인 상황은 아닙니다만 (아마 예전에 register_globals를 사용하여 모든 변수를 전역변수로 만들던 시절의 느낌을 살리고 싶어셨던 모양입니다) XE 템플릿 시스템이 이렇게 만들어진 지 워낙 오래되었기 때문에 굳이 "정상적"이냐고 물을 필요는 없을 것 같아요. XE 템플릿 시스템을 처음 개발하신 분들의 의도대로인 것은 맞습니다.
레이아웃에
<?php
$myname = 'xe';
?>
{@ $myname = 'town';}
이런 코드가 있다면 두개의 $myname 변수는 별개의 변수 입니다. 하단의 템플릿 문법은 php실행시 $__Context->myname으로 인식하기 때문입니다.
즉 최종 php실행시 하나는 $myname, 또하나는 $__Context->myname의 변수로 별개로 취급됩니다.
Context::get('logged_info') 이걸 풀어보면 xe에서만 사용하는 변수 $__Context->logged_info를 가져와라 정도(?) 입니다만...
템플릿 문법에서 $logged_info는 이미 $__Context->logged_info로 해석되기 때문에 무의미 하다고 봅니다.