$output = str_replace("<!--BeforeDocument(", $content."<!--BeforeDocument(", $output);
바꾼 내용을 추가해서 위쪽에서 바뀐 내용이 확인되도록 해 봤는데요.
아예 $content 로 본문 내용 자체를 바꿔치기 하려면 어떻게 코드를 작성해야 하나요?
PHP | PHP 7.2 |
---|---|
CMS | XpressEngine |
$output = str_replace("<!--BeforeDocument(", $content."<!--BeforeDocument(", $output);
바꾼 내용을 추가해서 위쪽에서 바뀐 내용이 확인되도록 해 봤는데요.
아예 $content 로 본문 내용 자체를 바꿔치기 하려면 어떻게 코드를 작성해야 하나요?
현재 보고 있는 글의 본문을 통째로 바꿔치기하시려면
이미 HTML이 모두 작성된 후에 그 부분을 다시 찾으려고 하는 것보다는
after_module_proc 시점에 Context::get('oDocument')를 직접 조작하는 것이 훨씬 깔끔할 것 같습니다.
여기에 저장된 내용을 나중에 스킨에서 불러오는 것이니까요.
[수정]
$oDocument = Context::get('oDocument');
$oDocument->add('content', '내용');
하면 될것 같은데요.
str_replace 함수는 3개의 변수가 입력되는데
맨뒤의 내용 중에서 앞의 것이 있으면 중간 것으로 바꾸는 것이에요.
str_replace("<!--BeforeDocument(", $content."<!--BeforeDocument(", $output);
이거는
$output에 들어있는 내용 중에서
"<!--BeforeDocument(" 요거를 찾아서
$content."<!--BeforeDocument(" 요렇게 바꿔줘~ 라는 거에요.