| CMS/프레임워크 | Rhymix 2.1 |
|---|---|
| 개발 언어 | PHP 8.2 |
| 문제 페이지 주소 | 비공개 (검색로봇) |
url은 현재 제작 및 관리 중인 웹진입니다.
문서페이지 스킨으로 웹 컨텐츠를 제작하고,
해당 스킨 폴더명을 게시글 확장변수에 입력하는 방식으로 content.html 파일을 include 시켜서
게시글 읽기 화면에 컨텐츠를 불러오는 방식을 사용하고 있습니다.
(더 좋은 방법이 있을 수도 있겠습니다만...제 능력과 아이디어 내에선 이게 한계더군요 ^^;;)
이렇게 하니 사이트맵에서 문서페이지를 따로 만들지 않아도 기존의 게시글 관리 방식으로
문서페이지를 생성/이전/삭제할 수도 있고, 게시글 리스트로 모아서 분류별로도 관리 가능하니
여러 면에서 웹진으로서의 목적에 맞는 편의성을 구축할 수 있었습니다.
문제는, 해당 문서페이지에 skin.xml 옵션을 적용할 때였는데요,
아마도 board 모듈 영역에서 벗어난 경로의 .xml 인식 불가로 인한 문제인 듯합니다만...
별도로 생성한 문서페이지 카테고리 내에선 스킨 옵션의 입력값이 정상 적용되었는데
게시글 읽기 화면에 include한 문서페이지에선 입력한 데이터가 연동되지 않네요.
혹시 이걸 해결할 수 있는 방법이 있을런지 궁금합니다.
제가 아는 선에선 해결 불가능한 문제일 것 같지만...
왠지 또 고수분들은 뭔가 알고 계실지도 모르겠다 싶어서요.
AO
Lv. 1
댓글 5
실제로 문서 모듈인데, 게시판 모듈 안에서 불러오는 것이 되버리니
처리하는 모듈이 다른 문제로 말미암아 발생하는 문제일 것 같습니다.
해당 문서 스킨 자체에서 모듈 인포를 아예 문서 모듈이라고 딱 미리 강제 정의하는 식으로 해보면 되지 않을까 싶은데요.
지금 구현하신 방법 외에 스킨 차원으로 구현하는 방법은 (실제 글쓰기 필드 구성이 어떤 식으로 되어있을진 모르지만)
게시판 글읽기 스킨 자체를 몇가지 타입으로 정의한 뒤에, 해당 타입에 맞게 글을 입력하는 방식이 있습니다.
이 경우 글쓰기-글보기 자체를 그 타입에 맞게 구성을 하면 사용하기 편리하겠지요.
네, 저도 말씀하신 것과 비슷한 원인이라 생각은 하고 있습니다.
content.html이 include되기 전에 module_info를
page 모듈의 module_info 라고 정의할 수 있는지 확인이 필요하겠네요.
의견 감사드립니다.
{@ $module_info = ModuleModel::getModuleInfoByModuleSrl('설정을 불러올 페이지의 module_srl')}
또는
{@ $module_info = ModuleModel::getModuleInfoByMid('설정을 불러올 페이지의 mid')}
를 사용해서 해당 문서페이지의 설정을 미리 불러와서
스킨이 기대하는 변수명에 할당되도록 한 후 (대부분 $module_info입니다)
스킨 파일을 인클루드하시면 설정이 반영되지 않을까요?
단, 게시판 스킨에서도 동일한 변수명으로 게시판 설정을 참조하기 때문에,
인클루드 후 원래대로 돌려 놓지 않으면 충돌이 일어날 수 있습니다.
어차피 module_info에 입력값이 들어가려면 사이트맵에 페이지가 생성되어야 할 테니,
해당 mid와 module srl을 불러오는 방식인 거라고 이해했습니다.
당초 계획했던 편의성과는 다소 거리가 생기는 듯하지만...
모듈 두 개를 강제로 섞어쓰면서 생긴 리스크니 감당해야 하는 거겠죠?
말씀하신대로 한 번 시도해 보겠습니다.
(원래대로 돌려놓는 방법이 뭔지는 잘 모르겠지만...그것도 한 번 찾아봐야겠네요 ^^;;)
조언 감사드립니다~
$backup_module_info = $module_info; // 기존 변수 백업해두기
$module_info = 불러올 페이지의 설정 정보;
인클루드;
$module_info = $backup_module_info; // 원래대로 돌려놓기
이렇게 하시면 이후에 동작하는 코드에 영향을 주지 않을 거예요.