본문 바로가기
IT와 생활/홈피와 블로그

그누보드 내용관리 변경, PHP 적용하기 방법

2018. 10. 9.

[그누보드 내용관리 변경, PHP 적용하기 방법]



그누보드의 내용관리란?


'그누보드'의 시작은 게시판 프로그램입니다. 좀 더 자세히 설명하자면 입력내용을 DB에 저장하고 불러와서 보여주는 프로그램인 것입니다. 

그러므로 그누보드로 홈페이지를 만들었다면 대부분 DB가 목록형태로 관리됩니다. 그런데 그누보드 내용관리는 하나의 문서처럼 보여주는 기능을 가지고 있습니다. 


홈페이지를 제작하면 커뮤니티 사이트가 아니라면 일반 문서 페이지 개수가 게시판 페이지 개수보다 더 많게 됩니다. 그래서 그누보드에서도 일반 문서처럼 페이지를 만들 필요에 의해 그누보드 내용관리 기능이 추가되었습니다. 


하지만 아직도 문제가 있습니다. 그누보드 내용관리를 변경하고 PHP를 적용하려면 기능의 한계가 있기 때문입니다. 내용관리는 게시판에 글을 쓸 때처럼 에디터에서 작성을 하게 되는데, 그 내용은 DB에 저장되는 것은 마찬가지입니다. 

즉, 글자로서 그누보드의 내용관리를 변경하는 것은 문제가 없는데, 디자인으로서는 제한이 많아진다는 것입니다. 





스킨 파일을 수정하여 내용관리 꾸미기


우선 간편하게 그누보드 내용관리에 PHP 등을 적용하는 방법입니다. 

FTP로 접속했을 때 /theme/basic/skin/content/basic로 들어가면 content.skin.php라는 파일이 있습니다. 

15번째 줄 즈음에는 <?php echo $str; ?>가 있습니다. 이것이 그누보드 내용관리가 저장된 데이터를 불러오는 부분입니다. 

아래 예처럼 바로 위와 바로 아래 부분에 필요한 코드를 추가하여 저장하면 원하는 효과로 그누보드 내용관리 변경을 할 수가 있게 됩니다. 

상단에 필요한 코드를 추가하는 부분

    <div id="ctt_con">

        <?php echo $str; ?>

    </div>

하단에 필요한 코드를 추가하는 부분






코어 파일을 수정하여 내용관리 꾸미기


그리고 그누보드 내용관리에 PHP 기능을 추가하고 있을 경우에는 실제 내용관리 파일을 불러와야 합니다. 

코어부분에서 그누보드 내용관리 변경에 사용되는 파일은 BBS 디렉토리에 있으며, 파일 이름은 content.php입니다. 

이 content.php 파일을 수정하면 그누보드의 내용관리 문서에도 애드센스를 넣고, 자바스크립트 효과를 줄 수 있습니다. 


content.php의 70번째 아래를 보면 아래와 같은 부분이 있습니다. 

if(is_file($skin_file))

여기부터가 문서 내용이 시작되는 부분입니다. 


그러므로 그누보드 내용관리 윗부분을 변경하려면 이 코드의 바로 위에 필요한 코드를 삽입하면 됩니다. 

href="'.G5_ADMIN_URL.'/contentform.php?w=u&amp;co_id='.$co_id.'" class="btn_admin btn">내용 수정</a></div>';

?>

이 부분이 내용의 상단 부분 (여기에 필요 코드 추가)

<?php

if(is_file($skin_file)) {


그리고 그누보드 내용관리의 마지막 부분은 90번째 줄 즈음에 아래와 같은 부분이 있습니다.

echo '<p>'.str_replace(G5_PATH.'/', '', $skin_file).'이 존재하지 않습니다.</p>'; 


그누보드 내용관리를 아래를 변경하거나 PHP를 적용하려면 이 코드의 바로 아래에 필요한 코드를 삽입하면 됩니다.

} else {

    echo '<p>'.str_replace(G5_PATH.'/', '', $skin_file).'이 존재하지 않습니다.</p>';

}

?>

이 부분이 내용의 하단 부분 (여기에 필요 코드 추가)

<?php

if ($co['co_include_tail'] && is_include_path_check($co['co_include_tail']))


그런데 content.skin.php와 content.php 중에서 어떤 것을 수정하는 것이 더 좋을까요? 당연히 content.skin.php입니다. 여기서도 잘 안 될 때에 content.php에서 수정을 하는 것이 좋겠습니다. content.php는 코어이기 때문에 손을 댈 수록 나중에 할 일이 많아집니다. 

[저작권법 표시] 이 글의 원본: 키스세븐(www.kiss7.kr)

그누보드의 내용관리는 관리자모드에서 에디터에 입력하여 디자인에 한계가 있습니다. 그러나 content.skin.php나 content.php를 직접 제어하므로써 좀 더 다양한 효과를 줄 수 있게 됩니다. 



키스세븐지식은 키스세븐과 그룹 사이트입니다.