안녕하세요.
관리자페이지에서 내용을 수정하면 외부페이지의 내용이 수정될 수 있게 만들고 싶은데,
레이아웃만 가능한가요? 외부페이지의 내용이 수정될 수 있는 방법이 있나요?
PHP | PHP 7.3 |
---|---|
CMS | Rhymix 2.x |
안녕하세요.
관리자페이지에서 내용을 수정하면 외부페이지의 내용이 수정될 수 있게 만들고 싶은데,
레이아웃만 가능한가요? 외부페이지의 내용이 수정될 수 있는 방법이 있나요?
close해주지 않으면 디버그 정보가 제대로 기록되지 않을 수도 있습니다.
그러나 외부페이지라면 딱히 중요한 부분은 아니죠...
인증 세션 DB 사용 옵션을 켜놓은 사이트에서 세션을 close하기 전에 DB 연결을 먼저 끊어버린다거나
이런 특이한 경우도 있을 수 있지만, 그런 짓을 하는 자료는 그냥 자기 잘못이고요.
웬만한 것은 PHP에서 알아서 다 뒷정리를 해줍니다.
앞으로는 아예 close할 필요가 없도록 바꿔보겠습니다.
라이믹스에서 특정 mid를 외부페이지로 지정하여 불러오는 것인지, 아니면 라이믹스와 별도로 page.php 같은 파일을 만들어서 사용하고 계신지에 따라 다릅니다.
전자라면 Context::get(...), getModel(...) 등 라이믹스 내장함수를 모두 사용할 수 있으니 마치 애드온이나 위젯을 만들듯이 원하는 데이터를 불러다가 쓰시면 됩니다. 예를 들어 특정 모듈에서 설정한 값을 불러오려면 getModel('module')->getModuleConfig('모듈명')->설정명;
후자라면 일단 라이믹스 오토로더를 인클루드하고 Context를 초기화한 후에, 똑같이 하시면 됩니다.
// 이전에 define 뭐시기 다 필요없음
include '경로/common/autoload.php';
Context::init();
// 이후 라이믹스 함수 자유롭게 활용 가능
일반적인 레이아웃이나 스킨과 차이가 있다면, 레이아웃이나 스킨에서는 Context::set('var', 내용); 한 것을 그냥 {$var}라고 불러다 쓸 수 있지만 외부페이지에서는 반드시 Context::get('var')라고 써야 합니다. 중괄호로 묶어서 Context 변수를 불러오는 기능은 XE 고유의 템플릿 문법이니까요.