그누보드 스킨 div로 레이어로 제작시
지난번 글에서 스샷을 올려달래셔서/
질문도 보강할겸 새로 써봅니다.
이전글 : http://www.sir.co.kr/bbs/board.php?bo_table=g4_qa&wr_id=210083
첨부된 스크린샷을 보시면
그누보드 적용후 라는 스샷은 만들어둔 뼈대에다가 출석부랭킹이랄지 로그인 부분 등을 추가하고
라이브러리도 적용해준 상태입니다.
원본.zip에서 쪼개었던 대로 그대로 쪼갰구요.
라이브러리 부분은 전혀 건들지 않고 각 header.php header.sub.php main.php tail.php tail.sub.php 의 사이트 구성부분만 편집하였습니다.
편집된 소스가 수정본.zip이구요.
그누보드 적용후 라는 스샷이 수정본 적용된 스샷이고
그누보드 적용전 이라는 스샷이 수정본의 뼈대만 적용한 시점입니다.
이때 뼈대의 각 부분에 header.php등의 파일 내용을 집어넣고 필요없는 부분이나 보완할 부분을 추가/제거한 상태구요. 만들당시 서버가 공사중이어서 모든 외부 접속이 차단된 관계로 그누보드 관련된 모든 php를 주석화한 상태입니다.
즉, 저 주석을 풀면 레이아웃이 깨진다는 겁니다.ㅠㅠ
안에 들어간 무언가가 방해를 한거 같은데 뭔지를 모르겠어요..
원본 시안 스샷이 초기에 table로 제작된 레이아웃입니다.
사이트주소는 seuai.co.cc/main.php입니다..
그냥님 말씀대로 레이어로 한번 더 감싸도 보았구요.
Left Center Right는 전부 float:left;속성이 들어있는데요.
이놈이 누군가랑 충돌하는 것 같아요..
다른 것들을 제작할때도 저놈이 문제를 일으키지는 않았거든요..
최대한 표준으로 맞추려고 float를 사용하고 있습니다.
float:left를 제거하면 아예 1줄에 1개의 div만 자리잡고 나머지는 아래로 내려가 버리구요.
1줄에 1개의 div만 자리잡는 것은 float 적용과 상관없이 파폭에서는 무조건 일어나고 있습니다.
Warning: Cannot modify header information - headers already sent by (output started at C:\APM_Setup\htdocs\head.php:1) in C:\APM_Setup\htdocs\head.php on line 12
이 오류도 문제네요;;
분명 원본에서 정의된 것을 같은 부분에 적용한건데 왜 문제가 나는지 이해가 안가요..ㅠㅠ
저부분이
// 자바스크립트에서 go(-1) 함수를 쓰면 폼값이 사라질때 해당 폼의 상단에 사용하면
// 캐쉬의 내용을 가져옴. 완전한지는 검증되지 않음
header("Content-Type: text/html; charset=$g4[charset]");
$gmnow = gmdate("D, d M Y H:i:s") . " GMT";
header("Expires: 0"); // rfc2616 - Section 14.21
header("Last-Modified: " . $gmnow);
header("Cache-Control: no-store, no-cache, must-revalidate"); // HTTP/1.1
header("Cache-Control: pre-check=0, post-check=0, max-age=0"); // HTTP/1.1
header("Pragma: no-cache"); // HTTP/1.0
이 소스인데요.
원본에서는 각 부분에 동일하게 들어가서 넣어주었는데
저렇게 문제가 나네요;;
더이상은 제 실력으로는 어찌할지 모르겠습니다..
// 첨부파일 추가합니다.
// 각 컨텐츠에 쓰인 파일들도 도움이되실까 해서 첨부해봅니다.
// 왜가리.zip 안에 사용된 위젯들이 있습니다.
질문도 보강할겸 새로 써봅니다.
이전글 : http://www.sir.co.kr/bbs/board.php?bo_table=g4_qa&wr_id=210083
첨부된 스크린샷을 보시면
그누보드 적용후 라는 스샷은 만들어둔 뼈대에다가 출석부랭킹이랄지 로그인 부분 등을 추가하고
라이브러리도 적용해준 상태입니다.
원본.zip에서 쪼개었던 대로 그대로 쪼갰구요.
라이브러리 부분은 전혀 건들지 않고 각 header.php header.sub.php main.php tail.php tail.sub.php 의 사이트 구성부분만 편집하였습니다.
편집된 소스가 수정본.zip이구요.
그누보드 적용후 라는 스샷이 수정본 적용된 스샷이고
그누보드 적용전 이라는 스샷이 수정본의 뼈대만 적용한 시점입니다.
이때 뼈대의 각 부분에 header.php등의 파일 내용을 집어넣고 필요없는 부분이나 보완할 부분을 추가/제거한 상태구요. 만들당시 서버가 공사중이어서 모든 외부 접속이 차단된 관계로 그누보드 관련된 모든 php를 주석화한 상태입니다.
즉, 저 주석을 풀면 레이아웃이 깨진다는 겁니다.ㅠㅠ
안에 들어간 무언가가 방해를 한거 같은데 뭔지를 모르겠어요..
원본 시안 스샷이 초기에 table로 제작된 레이아웃입니다.
사이트주소는 seuai.co.cc/main.php입니다..
그냥님 말씀대로 레이어로 한번 더 감싸도 보았구요.
Left Center Right는 전부 float:left;속성이 들어있는데요.
이놈이 누군가랑 충돌하는 것 같아요..
다른 것들을 제작할때도 저놈이 문제를 일으키지는 않았거든요..
최대한 표준으로 맞추려고 float를 사용하고 있습니다.
float:left를 제거하면 아예 1줄에 1개의 div만 자리잡고 나머지는 아래로 내려가 버리구요.
1줄에 1개의 div만 자리잡는 것은 float 적용과 상관없이 파폭에서는 무조건 일어나고 있습니다.
Warning: Cannot modify header information - headers already sent by (output started at C:\APM_Setup\htdocs\head.php:1) in C:\APM_Setup\htdocs\head.php on line 12
이 오류도 문제네요;;
분명 원본에서 정의된 것을 같은 부분에 적용한건데 왜 문제가 나는지 이해가 안가요..ㅠㅠ
저부분이
// 자바스크립트에서 go(-1) 함수를 쓰면 폼값이 사라질때 해당 폼의 상단에 사용하면
// 캐쉬의 내용을 가져옴. 완전한지는 검증되지 않음
header("Content-Type: text/html; charset=$g4[charset]");
$gmnow = gmdate("D, d M Y H:i:s") . " GMT";
header("Expires: 0"); // rfc2616 - Section 14.21
header("Last-Modified: " . $gmnow);
header("Cache-Control: no-store, no-cache, must-revalidate"); // HTTP/1.1
header("Cache-Control: pre-check=0, post-check=0, max-age=0"); // HTTP/1.1
header("Pragma: no-cache"); // HTTP/1.0
이 소스인데요.
원본에서는 각 부분에 동일하게 들어가서 넣어주었는데
저렇게 문제가 나네요;;
더이상은 제 실력으로는 어찌할지 모르겠습니다..
// 첨부파일 추가합니다.
// 각 컨텐츠에 쓰인 파일들도 도움이되실까 해서 첨부해봅니다.
// 왜가리.zip 안에 사용된 위젯들이 있습니다.
댓글 4개
ohora
13년 전
시안으로 봐도 정확하게 알 수는 없지만 원하는 형태는 나올 것 같네요.
아래와 같이 파일 내용을 바꿔 보세요.
1. head.php 파일 내용
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
include_once("$g4[path]/head.sub.php");
include_once("$g4[path]/lib/outlogin.lib.php");
include_once("$g4[path]/lib/poll.lib.php");
include_once("$g4[path]/lib/visit.lib.php");
include_once("$g4[path]/lib/connect.lib.php");
include_once("$g4[path]/lib/popular.lib.php");
// 자바스크립트에서 go(-1) 함수를 쓰면 폼값이 사라질때 해당 폼의 상단에 사용하면
// 캐쉬의 내용을 가져옴. 완전한지는 검증되지 않음
header("Content-Type: text/html; charset=$g4[charset]");
$gmnow = gmdate("D, d M Y H:i:s") . " GMT";
header("Expires: 0"); // rfc2616 - Section 14.21
header("Last-Modified: " . $gmnow);
header("Cache-Control: no-store, no-cache, must-revalidate"); // HTTP/1.1
header("Cache-Control: pre-check=0, post-check=0, max-age=0"); // HTTP/1.1
header("Pragma: no-cache"); // HTTP/1.0
//print_r2(get_defined_constants());
// 사용자 화면 상단과 좌측을 담당하는 페이지입니다.
// 상단, 좌측 화면을 꾸미려면 이 파일을 수정합니다.
$table_width = 1004;
?>
<div align="center">
<!-- 상단 로고 및 버튼 시작 -->
<!-- 로고 -->
<a href="<?=$g4['path']?>/main.php"><img src="<?=$g4['path']?>/img/banner.png"border="0"></a>
<!-- 상단 로고 및 버튼 끝 -->
<table width='<?=$table_width?>' cellpadding=0 cellspacing=0 border=0>
<tr>
<!-- 왼쪽 메뉴 -->
<td width=180 valign=top>
<?=popular("KanZi_popular",10)?>
<?=connect("cygnus"); // 접속자 ?>
<? include_once("$g4[path]/skin/board/attendance/list.skin.php"); ?>
</td>
<!-- 중간 -->
<td width=100% valign=top>
2. main.php 파일내용
<?
define("__CASTLE_PHP_VERSION_BASE_DIR__", "/home/seuai/public_html/castle");
include_once(__CASTLE_PHP_VERSION_BASE_DIR__."/castle_referee.php");
include_once("./_common.php");
include_once("$g4[path]/lib/latest.lib.php");
include_once("$g4[path]/lib/new.lib.php");
include_once("$g4[path]/lib/fixing.lib.php");
$g4['title'] = "";
include_once("./_head.php");
?>
<!-- 메인화면 최신글 시작 -->
<table width="100%" cellpadding=0 cellspacing=0>
<tr>
<td valign=top>
<? include_once("counter_img.php");?>
<br><br>
<?=latest("fr.best.simple","best",3,75);?>
<?=boardnew("전체글", "basic", 15, 75)?>
</td>
</tr>
</table>
<!-- 메인화면 최신글 끝 -->
<?
include_once("./_tail.php");
?>
3. tail.php 파일내용
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
define("__CASTLE_PHP_VERSION_BASE_DIR__", "/home/seuai/public_html/castle");
include_once(__CASTLE_PHP_VERSION_BASE_DIR__."/castle_referee.php");
// 사용자 화면 우측과 하단을 담당하는 페이지입니다.
// 우측, 하단 화면을 꾸미려면 이 파일을 수정합니다.
?>
</td>
<!-- 오른쪽 메뉴 -->
<td width="180px" valign="top">
<?=outlogin("login"); // 외부 로그인 ?>
<? include_once("$g4[path]/point-month-ranking.php");?>
<div style='height:10px;'></div>
</td>
</tr>
</table>
</div>
<br>
총괄자 : <b>스아이</b> | 회원관리담당자 : <b>시아</b> | 게시판담당자 : <b>칸라</b> | 디자인담당자 : <b>스머프Blue</b>
<br><br><br><br><br>
<?
include_once("$g4[path]/tail.sub.php");
?>
4. tail.sub.php 파일내용
<script type="text/javascript" src="<?=$g4['path']?>/js/wrest.js"></script>
<!-- 새창 대신 사용하는 iframe -->
<iframe width=0 height=0 name='hiddenframe' style='display:none;'></iframe>
<? if ($is_admin == "super") { ?><!-- <div style='float:left; width:<?=$table_width?>px; text-align:center;'>RUN TIME : <?=get_microtime()-$begin_time;?><br></div> --><? } ?>
</body>
</html>
<?
$tmp_sql = " select count(*) as cnt from $g4[login_table] where lo_ip = '$_SERVER[REMOTE_ADDR]' ";
$tmp_row = sql_fetch($tmp_sql);
//sql_query(" lock table $g4[login_table] write ", false);
if ($tmp_row['cnt'])
{
$tmp_sql = " update $g4[login_table] set mb_id = '$member[mb_id]', lo_datetime = '$g4[time_ymdhis]', lo_location = '$lo_location', lo_url = '$lo_url' where lo_ip = '$_SERVER[REMOTE_ADDR]' ";
sql_query($tmp_sql, FALSE);
}
else
{
$tmp_sql = " insert into $g4[login_table] ( lo_ip, mb_id, lo_datetime, lo_location, lo_url ) values ( '$_SERVER[REMOTE_ADDR]', '$member[mb_id]', '$g4[time_ymdhis]', '$lo_location', '$lo_url' ) ";
sql_query($tmp_sql, FALSE);
// 시간이 지난 접속은 삭제한다
sql_query(" delete from $g4[login_table] where lo_datetime < '".date("Y-m-d H:i:s", $g4[server_time] - (60 * $config[cf_login_minutes]))."' ");
// 부담(overhead)이 있다면 테이블 최적화
//$row = sql_fetch(" SHOW TABLE STATUS FROM `$mysql_db` LIKE '$g4[login_table]' ");
//if ($row['Data_free'] > 0) sql_query(" OPTIMIZE TABLE $g4[login_table] ");
}
//sql_query(" unlock tables ", false);
?>
우선 백업은 필수입니다.
각 파일을 위에 있는 소스로 모두 바꾼 후 저장해 주시고 한 번 확인해 보세요.
파일안에 추가된 확인되지 않은 파일들은 고려 되지 않았습니다.
칼럼간 여백이나 상하의 여백등은 조절을 해 주셔야 합니다.
가능하면 다른 태그는 넣지 마시고 만일 페이지의 모양이 다르다면
문제가 있는 그 파일을 확인해 보세요.
그럼 성공하시길....
아래와 같이 파일 내용을 바꿔 보세요.
1. head.php 파일 내용
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
include_once("$g4[path]/head.sub.php");
include_once("$g4[path]/lib/outlogin.lib.php");
include_once("$g4[path]/lib/poll.lib.php");
include_once("$g4[path]/lib/visit.lib.php");
include_once("$g4[path]/lib/connect.lib.php");
include_once("$g4[path]/lib/popular.lib.php");
// 자바스크립트에서 go(-1) 함수를 쓰면 폼값이 사라질때 해당 폼의 상단에 사용하면
// 캐쉬의 내용을 가져옴. 완전한지는 검증되지 않음
header("Content-Type: text/html; charset=$g4[charset]");
$gmnow = gmdate("D, d M Y H:i:s") . " GMT";
header("Expires: 0"); // rfc2616 - Section 14.21
header("Last-Modified: " . $gmnow);
header("Cache-Control: no-store, no-cache, must-revalidate"); // HTTP/1.1
header("Cache-Control: pre-check=0, post-check=0, max-age=0"); // HTTP/1.1
header("Pragma: no-cache"); // HTTP/1.0
//print_r2(get_defined_constants());
// 사용자 화면 상단과 좌측을 담당하는 페이지입니다.
// 상단, 좌측 화면을 꾸미려면 이 파일을 수정합니다.
$table_width = 1004;
?>
<div align="center">
<!-- 상단 로고 및 버튼 시작 -->
<!-- 로고 -->
<a href="<?=$g4['path']?>/main.php"><img src="<?=$g4['path']?>/img/banner.png"border="0"></a>
<!-- 상단 로고 및 버튼 끝 -->
<table width='<?=$table_width?>' cellpadding=0 cellspacing=0 border=0>
<tr>
<!-- 왼쪽 메뉴 -->
<td width=180 valign=top>
<?=popular("KanZi_popular",10)?>
<?=connect("cygnus"); // 접속자 ?>
<? include_once("$g4[path]/skin/board/attendance/list.skin.php"); ?>
</td>
<!-- 중간 -->
<td width=100% valign=top>
2. main.php 파일내용
<?
define("__CASTLE_PHP_VERSION_BASE_DIR__", "/home/seuai/public_html/castle");
include_once(__CASTLE_PHP_VERSION_BASE_DIR__."/castle_referee.php");
include_once("./_common.php");
include_once("$g4[path]/lib/latest.lib.php");
include_once("$g4[path]/lib/new.lib.php");
include_once("$g4[path]/lib/fixing.lib.php");
$g4['title'] = "";
include_once("./_head.php");
?>
<!-- 메인화면 최신글 시작 -->
<table width="100%" cellpadding=0 cellspacing=0>
<tr>
<td valign=top>
<? include_once("counter_img.php");?>
<br><br>
<?=latest("fr.best.simple","best",3,75);?>
<?=boardnew("전체글", "basic", 15, 75)?>
</td>
</tr>
</table>
<!-- 메인화면 최신글 끝 -->
<?
include_once("./_tail.php");
?>
3. tail.php 파일내용
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
define("__CASTLE_PHP_VERSION_BASE_DIR__", "/home/seuai/public_html/castle");
include_once(__CASTLE_PHP_VERSION_BASE_DIR__."/castle_referee.php");
// 사용자 화면 우측과 하단을 담당하는 페이지입니다.
// 우측, 하단 화면을 꾸미려면 이 파일을 수정합니다.
?>
</td>
<!-- 오른쪽 메뉴 -->
<td width="180px" valign="top">
<?=outlogin("login"); // 외부 로그인 ?>
<? include_once("$g4[path]/point-month-ranking.php");?>
<div style='height:10px;'></div>
</td>
</tr>
</table>
</div>
<br>
총괄자 : <b>스아이</b> | 회원관리담당자 : <b>시아</b> | 게시판담당자 : <b>칸라</b> | 디자인담당자 : <b>스머프Blue</b>
<br><br><br><br><br>
<?
include_once("$g4[path]/tail.sub.php");
?>
4. tail.sub.php 파일내용
<script type="text/javascript" src="<?=$g4['path']?>/js/wrest.js"></script>
<!-- 새창 대신 사용하는 iframe -->
<iframe width=0 height=0 name='hiddenframe' style='display:none;'></iframe>
<? if ($is_admin == "super") { ?><!-- <div style='float:left; width:<?=$table_width?>px; text-align:center;'>RUN TIME : <?=get_microtime()-$begin_time;?><br></div> --><? } ?>
</body>
</html>
<?
$tmp_sql = " select count(*) as cnt from $g4[login_table] where lo_ip = '$_SERVER[REMOTE_ADDR]' ";
$tmp_row = sql_fetch($tmp_sql);
//sql_query(" lock table $g4[login_table] write ", false);
if ($tmp_row['cnt'])
{
$tmp_sql = " update $g4[login_table] set mb_id = '$member[mb_id]', lo_datetime = '$g4[time_ymdhis]', lo_location = '$lo_location', lo_url = '$lo_url' where lo_ip = '$_SERVER[REMOTE_ADDR]' ";
sql_query($tmp_sql, FALSE);
}
else
{
$tmp_sql = " insert into $g4[login_table] ( lo_ip, mb_id, lo_datetime, lo_location, lo_url ) values ( '$_SERVER[REMOTE_ADDR]', '$member[mb_id]', '$g4[time_ymdhis]', '$lo_location', '$lo_url' ) ";
sql_query($tmp_sql, FALSE);
// 시간이 지난 접속은 삭제한다
sql_query(" delete from $g4[login_table] where lo_datetime < '".date("Y-m-d H:i:s", $g4[server_time] - (60 * $config[cf_login_minutes]))."' ");
// 부담(overhead)이 있다면 테이블 최적화
//$row = sql_fetch(" SHOW TABLE STATUS FROM `$mysql_db` LIKE '$g4[login_table]' ");
//if ($row['Data_free'] > 0) sql_query(" OPTIMIZE TABLE $g4[login_table] ");
}
//sql_query(" unlock tables ", false);
?>
우선 백업은 필수입니다.
각 파일을 위에 있는 소스로 모두 바꾼 후 저장해 주시고 한 번 확인해 보세요.
파일안에 추가된 확인되지 않은 파일들은 고려 되지 않았습니다.
칼럼간 여백이나 상하의 여백등은 조절을 해 주셔야 합니다.
가능하면 다른 태그는 넣지 마시고 만일 페이지의 모양이 다르다면
문제가 있는 그 파일을 확인해 보세요.
그럼 성공하시길....
13년 전
table로 만들면 일부 모바일 브라우저에서 문제가 나거든요..
저놈 성사시키고 모바일 스킨도 같이 수정해야되는데요.
모바일서 테이블 사용시 일부 브라우저에서 코어에 따라서 깨집니다..
레이어로는 안깨지더라구요;;
그래서 레이어로 바꾸는건데 도로 테이블로 바꾸시면..ㅠㅠ
도로 아미타불..ㅠㅠ
저놈 성사시키고 모바일 스킨도 같이 수정해야되는데요.
모바일서 테이블 사용시 일부 브라우저에서 코어에 따라서 깨집니다..
레이어로는 안깨지더라구요;;
그래서 레이어로 바꾸는건데 도로 테이블로 바꾸시면..ㅠㅠ
도로 아미타불..ㅠㅠ
ohora
13년 전
지금 만드신 페이지는 레이어도 아니고 테이블도 아닌 이것 저것 섞여 있는 상태입니다.
그런 것을 정리해서 기본 테이블로 수정해 드린 것이었구요.
현재처럼 하시면 절대 모바일과 함께 모든 브라우저에서 깨어지지 않게 만드실 수 없습니다.
솔직히 말해서 우선 레이어와 테이블의 개념부터 잡으시고 하시는 것이 좋으실 수 있습니다.
현재는 이것 맞추면 다른 것이 깨지고 또 깨진것을 수정하면 또 다른 것이 깨지는 악순환의 반복일 뿐입니다.
좀 잘 아시는 분께 의뢰를 하시는 것이 좋을 듯 싶습니다.
잘 마무리 되셨으면 좋겠네요.
그런 것을 정리해서 기본 테이블로 수정해 드린 것이었구요.
현재처럼 하시면 절대 모바일과 함께 모든 브라우저에서 깨어지지 않게 만드실 수 없습니다.
솔직히 말해서 우선 레이어와 테이블의 개념부터 잡으시고 하시는 것이 좋으실 수 있습니다.
현재는 이것 맞추면 다른 것이 깨지고 또 깨진것을 수정하면 또 다른 것이 깨지는 악순환의 반복일 뿐입니다.
좀 잘 아시는 분께 의뢰를 하시는 것이 좋을 듯 싶습니다.
잘 마무리 되셨으면 좋겠네요.
hhh8947
13년 전
제가 원하던 소스네요.. 감사
게시글 목록
| 번호 | 제목 |
|---|---|
| 284508 | |
| 284499 | |
| 284492 | |
| 284490 | |
| 284484 | |
| 284481 | |
| 284478 | |
| 284476 | |
| 284474 | |
| 284472 | |
| 284470 | |
| 284458 | |
| 284457 | |
| 284454 | |
| 284453 | |
| 284447 | |
| 284446 | |
| 284444 | |
| 284441 | |
| 284440 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기