view.skin.php의 제목을 다른페이지에 뿌려주려면 > 그누4 질문답변

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기
기존 게시물은 열람만 가능합니다.

view.skin.php의 제목을 다른페이지에 뿌려주려면 정보

view.skin.php의 제목을 다른페이지에 뿌려주려면

본문

안녕하세요

view.skin.php 에 $view[wr_subject] 값을 하위폴드에 위치하는 test.php 파일에서 사용을 하고자 합니다.

test.php 파일에서 $view[wr_subject]를 사용하려면 어떻게 사용해야 하나요?
  • 복사

댓글 전체

view.skin.php 소스에
include_once("$board_skin_path/test/test.php");
이렇게 하면 test.php 파일에 $view[wr_subject]변수를 사용해도 되는것 아닌가요?

그런데 아무런 값을 받지 못합니다.
어떤 방식으로 사용해야 할까요?
음.. 방금 테스트 해봤는데 잘 되는데요? ^^'
똑같이 설정했구요.. /skin/board/스킨/test/test.php 에 echo $view[wr_subject];
넣고 골든님처럼 include 했는데..
혹시 잘 안보이는데에 오타가? ^_^;
답변 감사합니다.
아이구 죄송해요
질문을 잘못했습니다.

skin/board/basic/test/
두개의 파일이 있습니다.

1. vote.php가 있고요
2. test.php가 있습니다.
view.skin.php에는 vote.php를 인크루드 하고요
vote.php에 test.php를 인크루드하면 안되여...
글쎄요.. 저는 그래도 되는데요? ^^;

사실 include 라는 것이 코드 자체를 그대로 가져오는 것이라..
한 파일안에 있는 거랑 차이가 없을텐데..

그러니까, 결국 글 보기를 통해서 test.php 를 실행하시는 거죠?

bbs/board.php?bo_table=..&wr_id=..  -->  bbs/view.php  --> skin/../view.skin.php  --> vote.php  --> test.php
이 모든 과정이 다 include 또는 include_once 로 포함되는 건데..
마지막만 안된다는 것이 좀.. 이해가 안되네요.. ^^;

혹시 vote.php와 test.php 화일의 해당 부분을 올려주시면 더 이해가 쉬울듯 한데요.. ^^
view.skin.php 에서
$subject=$view[wr_subject];  <==이렇게 전달해야합니다.
include_once("$board_skin_path/vote.php");
vote.php에
include_once("$board_skin_path/test/test.php");
alert($subject);  확인
배추스킨을 사용하고 있습니다.
배추스킨에 보면 설문조사 기능이 있습니다.
이 설문조사 남은 시간을 표시하고자 만든 것이고요

$board_skin_path/mw.proc/mw.vote.php 파일에
<? include_once("$board_skin_path/mw.proc/mw.vote.time.php")?> 코드를 추가 하였습니다.
 mw.vote.time.php 파일은 개인적으로 추가로만든 파일이고 기능은 설문남은 기간을 표시하는 기능입니다.
남은 시간은 게시글별로 잘 나오고 있습니다.
그런데 게시글 제목을 표시하고자 하였는데 되지가 않았습니다.
그래서 어떻게 하면  $view[wr_subject] 변수를 사용을 할 수 있을까 고민을 하였습니다.
그런데 개인적으로 만든것을 view.skin.php  파일에 include 하면 기간이 지나간 설문도 동일하게 같은 시간이 표시되는 버거가 있더군요
이것을 게시글별 제목을 불러오고 마감시간을 불러오려면 어떻게 해야 할까요?

일단 본인이 만든 파일의 소스는 원래는 곱슬최씨님이 알려주신 소스입니다.
여기에 올려도 되는지 모르겠습니다. 양해바랍니다.

<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가

$end_time = strtotime("$vote[vt_edate] 23:59:59") - $g4[server_time];

if ($end_time > 0) {
    if ($end_time > 86400 && $end_time < 86400*2)
        $end_msg = "내일";
    elseif ($end_time < 86400)
        $end_msg = "오늘";
    else
        $end_msg = "";
?>
<div style="text-align:center; margin:0 0 10px 0; padding:10px; border:1px solid #ddd; cursor:pointer; font-weight:bold; background-color:#efefef; color:#444;">

투표 남은시간  <span style="color:#3B9910;"><?=$wr_subject?></span>
<? if ($end_msg) { ?> <span style="color:#00fcff"><?=$end_msg?></span> 까지 <? } ?> <span id=fe_end_timer></span> 남음

</div>

<script type="text/javascript">
var fe_end_time = <?=$end_time?>;
function fe_run_timer()
{
    var timer = document.getElementById("fe_end_timer");

    dd = Math.floor(fe_end_time/(60*60*24));
    hh = Math.floor((fe_end_time%(60*60*24))/(60*60));
    mm = Math.floor(((fe_end_time%(60*60*24))%(60*60))/60);
    ii = Math.floor((((fe_end_time%(60*60*24))%(60*60))%60));

    var str = "";

    if (dd > 0) str += dd + "일 ";
    if (hh > 0) str += hh + "시간 ";
    if (mm > 0) str += mm + "분 ";
    str += ii + "초 ";

    //timer.style.color = "#FF6C00";
    timer.style.color = "#FF0000";
    timer.style.fontWeight = "bold";
    timer.innerHTML = str;

    fe_end_time--;

    if (fe_end_time < 0) clearInterval(tid);
}
fe_run_timer();
fe_tid = setInterval('fe_run_timer()', 1000);
</script>

<? } ?>
 이렇게 하였습니다.

어떻게 해야 게시번호별 마감시간과 제목을 표시 할 수 있을까요?
지금 배추베이직 다운받아서 보고있지만, 그보다

위 코드에서는 $wr_subject 로 쓰셨네요?  $view[wr_subject]가 아니고?
혹시 이것 때문이지는 않겠죠? ^^;

그럼 배추베이직 코드 들여다 보겠습니다.
음.. 배추베이직 최신버전을 설치했는데, 설문조사 기능을 사용하려면 계속 에러가 나네요..

그냥 코드 (view.skin.php)만 봐서는, vote 기능은 include 되는 형식이 아니라
ajax 코드를 통해서 불러지는 것 같습니다.
그런 경우라면, 별도로 값을 넘겨주지 않는한 (현재는 bo_table과 wr_id 값만 넘어가는 것 같습니다..)
$view 정보를 접근할 수 있을지 모르겠네요.

차라리 bo_table과 wr_id 정보로 다시 디비에서 읽어와야 하지 않을까 합니다..

다른 배추베이직 버전을 설치해보고 다른 답을 찾으면 다시 올릴께요. ^^;
아직 이해를 할 수는 없지만,
$write 정보는 사용할 수 있는 것 같습니다.
$write[wr_subject]를 사용해보세요.. 왜 되는지는.. 좀더 코드를 들여다 봐야 할듯.. ^^;

그리고 위 코드를 mw.vote.php에서 include 하는 것이 아니라,
직접 view.skin.php에서 include 하신다는 말씀이신지요?
그렇다면, $vote 변수는 아직 정보가 들어가지 않았을것 같네요..
아마 그래서 같은 값이 계속 나오는 것 같습니다.

배추베이직의 화일 호출/include 관계와 골든님이 사용하시려는 방법을 좀더 이해하기 전에는 더 답을 드리기 힘들듯 합니다. ^^;
$write[wr_subject] 를 사용하닌까 되네요
결과값은 다음경로
http://gusim52.maru.net/mw/bbs/board.php?bo_table=B31&wr_id=1&page=0&sca=&sfl=wr_subject%7C%7Cwr_content&stx=&sst=&sod=&spt=0&page=0
원래 이렇게 사용을 해도 아무런 무리가 없나요?
글쎄요..
mw.vote.php안에서 $write 를 사용하니까 ($write[mb_id])
배추베이직에서 사용하는 방법이라면 문제가 없지 않을까 합니다..

코드를 더 들여다 보니까,
ajax는 아니네요.. ^^; html get 방식이라는데,
왜 일부 변수는 넘어가고, view는 안넘어가는지는 잘 모르겠어요. ^^;

프린트 해봤더니, mw.skin.basic.lib.php에서 다시 정의한 ccl 관련 값들만 들어있더라구요..

참, 위 주소에서 제목과 남은 시간 부분을 클릭하니까, 배추빌더 사이트로 가던데,
일부러 그렇게 해놓으셨나요? ^^; 그냥 궁금해서.. 그럼.. ^^
© SIRSOFT
현재 페이지 제일 처음으로