모바일 내용 관리 페이지에서 상단 하단 파일을 별도로 관리하는 방법
내용 관리 페이지는 게시판처럼 모바일 상단 하단 파일을 별도로 설정할 수 없게 되어 있습니다.
PC와 모바일을 분리해서 모바일도 사용할수 있게 처리하는 방법입니다.
복잡해 보이지만 기존 코드 복사해서 필드명만 바꿔주는거라서 어렵지 않습니다.
그누보드5.2 버전 때 작성된 거라 5.3이나 5.4버전에서는 일부 차이가 있네요.
원본 코드 참고해서 복사해서 하면 되기 때문에 크게 어렵진 않을 겁니다.
adm/contentformupdate.php 파일 수정 부분이 최신 버전은 차이가 있을 겁니다.
모바일 상단 파일은
co_include_head 이것과 연관된 코드가 보이면 복사해서 추가한 후
co_mobile_include_head 이렇게 변경하면 되고
마찬가지로 모바일 하단 파일은
co_include_tail 이 부분과 연관된 코드를 복사해서
co_mobile_include_tail 이렇게 변경하는 방식입니다.
아래 팁과 동일한 방법입니다.
모바일 게시판에서 상단 하단 파일을 별도로 관리하는 방법
http://gnustudy.com/bbs/board.php?bo_table=skin_board&wr_id=80
내용 관리에는 여분 필드가 별도로 없어서 DB에 필드를 추가해주는 과정이 더 필요합니다.
1. g5_content 테이블에 필드 추가
co_mobile_include_head
co_mobile_include_tail
2. adm/contentform.php 파일 수정
아래 내용 추가
<tr>
<th scope="row"><label for="co_mobile_include_head">모바일 상단 파일 경로</label></th>
<td>
<?php echo help("설정값이 없으면 기본 상단 파일을 사용합니다."); ?>
<input type="text" name="co_mobile_include_head" value="<?php echo $co['co_mobile_include_head']; ?>" id="co_mobile_include_head" class="frm_input" size="60">
</td>
</tr>
<tr>
<th scope="row"><label for="co_mobile_include_tail">모바일 하단 파일 경로</label></th>
<td>
<?php echo help("설정값이 없으면 기본 하단 파일을 사용합니다."); ?>
<input type="text" name="co_mobile_include_tail" value="<?php echo $co['co_mobile_include_tail']; ?>" id="co_mobile_include_tail" class="frm_input" size="60">
</td>
</tr>
2. adm/contentformupdate.php 파일 수정
2-1.
if( $co_include_tail ){
$purl = parse_url($co_include_tail);
$file = $purl['path'];
if (!preg_match("/\.(php|htm['l']?)$/i", $file)) {
alert('하단 파일 경로의 확장자는 php, html 만 허용합니다.');
}
}
위 코드 밑에 아래 내용 추가
if( $co_mobile_include_head ){
$purl = parse_url($co_mobile_include_head);
$file = $purl['path'];
if (!preg_match("/\.(php|htm['l']?)$/i", $file)) {
alert('모바일 상단 파일 경로의 확장자는 php, html 만 허용합니다.');
}
}
if( $co_mobile_include_tail ){
$purl = parse_url($co_mobile_include_tail);
$file = $purl['path'];
if (!preg_match("/\.(php|htm['l']?)$/i", $file)) {
alert('모바일 하단 파일 경로의 확장자는 php, html 만 허용합니다.');
}
}
2-2.
if( $co_include_tail && ! is_include_path_check($co_include_tail) ){
$co_include_tail = '';
$error_msg = '/data/file/ 또는 /data/editor/ 포함된 문자를 하단 파일 경로에 포함시킬수 없습니다.';
}
위 코드 밑에 아래 내용 추가
if( $co_mobile_include_head && ! is_include_path_check($co_mobile_include_head) ){
$co_mobile_include_head = '';
$error_msg = '/data/file/ 또는 /data/editor/ 포함된 문자를 상단 파일 경로에 포함시킬수 없습니다.';
}
if( $co_mobile_include_tail && ! is_include_path_check($co_mobile_include_tail) ){
$co_mobile_include_tail = '';
$error_msg = '/data/file/ 또는 /data/editor/ 포함된 문자를 하단 파일 경로에 포함시킬수 없습니다.';
}
2-3.
$sql_common = " co_include_head = '$co_include_head',
co_include_tail = '$co_include_tail',
위 코드 밑에 아래 내용 추가
co_mobile_include_head = '$co_mobile_include_head',
co_mobile_include_tail = '$co_mobile_include_tail',
3. mobile/content.php 파일 수정
3-1.
include_once('./_head.php');
상단 부분 여기를 이렇게 수정
if ($co['co_mobile_include_head'] && is_include_path_check($co['co_mobile_include_head']))
@include_once($co['co_mobile_include_head']);
else
include_once('./_head.php');
3-2.
include_once('./_tail.php');
하단 부분 여기를 이렇게 수정
if ($co['co_mobile_include_tail'] && is_include_path_check($co['co_mobile_include_tail']))
@include_once($co['co_mobile_include_tail']);
else
include_once('./_tail.php');
사용 방법
게시판처럼 내용 관리 페이지 설정에서 상단 하단 파일을 입력하면 적용됩니다.