달력게시판에서 게시글 링크가아닌, 하이퍼링크 절대경로 삽입 방법

달력게시판에서 게시글 링크가아닌, 하이퍼링크 절대경로 삽입 방법

QA

달력게시판에서 게시글 링크가아닌, 하이퍼링크 절대경로 삽입 방법

답변 1

본문

https://sir.kr/bbs/board.php?bo_table=g5_skin&wr_id=1251

 

이 달력소스를 사용중에 있는데,

 

일정쓰기를 통해 제목이 노출되어 링크되는것이 아닌, 

 

달력폼에 강제적으로 a태그를 삽입하여 링크를 절대경로로 걸고 싶습니다 ㅠㅠ

 

예를들면, 지금 게시판형태로 글을 쓰는 형태인데, 글을 쓰는 형태가 아닌, 

 

list에 if문을 작성하여 링크를 넣으려 합니다.

 

만약, 5월5일이면 5월5일에 a태그를 삽입하여 "어린이날"이라는 타이틀을 넣어주고 경로를 걸고싶은데, 방법이 있을까요?

 


<div class="cal_tbl" style="width:<?php echo $width;?>">
   <div class="cal_bgi">
      <span class="cat_today_y_tit">
          <?php echo $year ?>년
      </span>
      <span class="cat_today_d_tit">
          <?php echo $month ?>월
      </span>
      <span class="cat_today_d_en">
          <?php
            if ($month == 1) {
                echo "JANUARY";
            } else if ($month == 2) {
                echo "FEBRUARY";
            } else if ($month == 3) {
                echo "MARCH";
            } else if ($month == 4) {
                echo "APRIL";
            } else if ($month == 5) {
                echo "MAY";
            } else if ($month == 6) {
                echo "JUNE";
            } else if ($month == 7) {
                echo "JULY";
            } else if ($month == 8) {
                echo "AUGUST";
            } else if ($month == 9) {
                echo "SEPTEMBER";
            } else if ($month == 10) {
                echo "OCTOBER";
            } else if ($month == 11) {
                echo "NOVEMBER";
            } else if ($month == 12) {
                echo "DECEMBER";
            }
          ?>
      </span>
      <span class="cat_bg_line"></span>
      
      
      
      <!-- 달력 왼쪽 리스트 출력 자리임 -->
      
      
      
      
   </div>
    <table>
    <thead>
    <tr>
        <th style="color:red">일</th>
        <th>월</th>
        <th>화</th>
        <th>수</th>
        <th>목</th>
        <th>금</th>
        <th style="color:blue">토</th>
    </tr>
    </thead>
    <tbody>
    <?php
    $cday = 1;
    $sel_mon = sprintf("%02d",$month);    
    $query = "SELECT * FROM $write_table WHERE left(wr_1,6) <= '$year$sel_mon' and left(wr_2,6) >= '$year$sel_mon' ORDER BY wr_id ASC";
    $result = sql_query($query);
    $j=0; // layer id
    // 내용을 보여주는 부분
//    while ($row = sql_fetch_array($result)) { // 제목글 뽑아서 링크 문자열 만들기..
//        if(substr($row['wr_1'],0,6) < $year.$sel_mon) {
//            $start_day = 1; 
//            $start_day = (int)$start_day;
//        } else {
//            $start_day = substr($row['wr_1'],6,2);
//            $start_day = (int)$start_day;
//        }
//        if(substr($row['wr_2'],0,6) > $year.$sel_mon) {
//            $end_day = $lastday[$month];
//            $end_day = (int)$end_day;
//        } else {
//            $end_day = substr($row['wr_2'],6,2);
//            $end_day = (int)$end_day;
//        }
//        for ($i = $start_day; $i <= $end_day; $i++) {
//
//            $j++; // layer ID
//           $row['wr_subject'] = cut_str(get_text($row['wr_subject']),$board['bo_subject_len'],"…");
//            $showLayer = "";
//            if ($member['mb_level'] < $board['bo_read_level']) {
//                $html_day[$i].= "<div class='list_day'><i class='fa fa-map-marker'></i>".$row['wr_subject']."</div>";
 //           } else {
//                if(!is_mobile()){ $showLayer = "onmouseover=\"PopupShow('".$j."')\" onmouseout=\"PopupHide('".$j."')\""; }
//                $html_day[$i].= "<div class='list_day'><i class='fa fa-map-marker'></i><a href='".G5_BBS_URL."/board.php?bo_table=$bo_table&year=$year&month=$month&wr_id=$row[wr_id]' id='subject_".$j."' ".$showLayer.">".$row['wr_subject']."</a></div>";
//            }
    ?>
    <!-- 뷰 팝업레이어 -->
 <!--   <div id="popup_<?php echo $j ?>" class="popup_layer">
        <?php
        $viewlist = conv_content($row['wr_content'], 0);
        echo $viewlist;
        ?>
    </div>-->
    <?php
//        }
//    }

    // 달력의 틀을 보여주는 부분
    $temp = 7 - (($lastday[$month]+$dayoftheweek)%7);
    if ($temp == 7) $temp = 0;
    $lastcount = $lastday[$month] + $dayoftheweek + $temp;
    for ($iz = 1; $iz <= $lastcount; $iz++) { // 42번을 칠하게 된다.
        $bgcolor = "#f9fafe"; // 쭉 흰색으로 칠하고
        if ($b_year == $year && $b_mon == $month && $b_day == $cday) $bgcolor = "ffeda1"; // 오늘날짜 연두색으로 표기
        if (($iz%7) == 1) echo ("<tr>"); // 주당 7개씩 한쎌씩을 쌓는다.
        if ($dayoftheweek < $iz  &&  $iz <= $lastday[$month]+$dayoftheweek)    {
            // 전체 루프안에서 숫자가 들어가는 셀들만 해당됨
            // 즉 11월 달에서 1일부터 30 일까지만 해당
            $daytext = "$cday";   // $cday 는 숫자 예> 11월달은 1~ 30일 까지
            //$daytext 은 셀에 써질 날짜 숫자 넣을 공간
            $daycontcolor = "";
            $daycolor = "";
            if ($iz%7 == 1) $daycolor = "red"; // 일요일
            if ($iz%7 == 0) $daycolor = "blue"; // 토요일
            // 여기까지 숫자와 들어갈 내용에 대한 변수들의 세팅이 끝나고
            // 이제 여기 부터 직접 셀이 그려지면서 그 안에 내용이 들어 간다.
            echo ("<td width='14%' bgcolor='$bgcolor' valign='top'>");
            $f_date = $year.sprintf("%02d",$month).sprintf("%02d",$cday);
            // 기념일 파일 내용 비교위한 변수 선언, 월과 일을 두자리 포맷으로 고정
            if (strlen($month) == 1) {
                $monthp = "0".$month;
            } else {
                $monthp = $month;
            }
            if (strlen($cday) == 1) {
                $cdayp = "0".$cday;
            } else {
                $cdayp = $cday;
            }
            $memday = $year.$monthp.$cdayp;
            $daycont = "";
            // 기념일(양력) 표시
            for($i=0 ; $i < sizeof($dayfile) ; $i++) {  // 파일 첫 행부터 끝행까지 루프
                $arrDay = explode("|", $dayfile[$i]);
                if($memday == $year.$arrDay[0]) {
                    $daycont = $arrDay[1];
                    $daycontcolor = $arrDay[2];
                    if(substr($arrDay[2],0,3) == "red") $daycolor = "red"; // 공휴일은 날짜를 빨간색으로 표시
                }
            }
            // 석봉운님의 음력날짜 변수선언
            $myarray = soltolun($year,$month,$cday);
            if ($myarray['day']==1 || $myarray['day']==11 || $myarray['day']==21) {
                $moonday = "<span class='moonday'> (음)$myarray[month].$myarray[day]$myarray[leap]</spna>";
            } else {
                $moonday = "";
            }
            include($file_index."/lunar.txt"); ### 음력 기념일 파일 지정
            if ($annivmoonday && $daycont) $blank="<br />"; // 음력절기와 양력기념일이 동시에 있으면 한칸 띔
            else $blank = "";
            if ($write_href) {
                // $write_href (글쓰기 권한)이 있으면
                // 날짜를 클릭하면 글씨쓰기가 가능한 링크를 넣어서 출력하기
                echo "<span class='annivmoonday'><a href='$write_href&f_date=$f_date'><font color='$daycolor' title='일정추가'>$daytext</font></a>$moonday <font color='$daycontcolor'>$daycont</font>$blank $annivmoonday</span>";
            } else { // 글쓰기 권한이 없으면 글쓰기 링크는 넣지 않고 그냥 숫자와 기념일 내용만 출력하기
                echo "<span class='annivmoonday'><font color='$daycolor'>$daytext</font>$moonday <font color='$daycontcolor'>$daycont</font>$blank $annivmoonday</span>";
            }
            echo $html_day[$cday];
            echo ("</td>");  // 한칸을 마무리
            $cday++; // 날짜를 카운팅
        } else { // 유효날짜가 아니면 그냥 회색을 칠한다.
            echo ("<td width='14%' bgcolor='#fff' valign='top'> </td>");
        }
        if (($iz%7) == 0) echo ("</tr>");
    } // 반복구문이 끝남
    ?>
    </tbody>
    </table>
    
    
    
    
    
</div>

 

캘린더 내부 리스트 출력부분 소스입니다.

이 질문에 댓글 쓰기 :

답변 1

$html_day[$cday];

이게 달력 칸에 나오는 내용인 듯한데

loop(for)이전에

$html_day[5].='<a href="원하시는 링크" >어린이 날</a>';

이렇게 하면 되지 않을까요?

답변을 작성하시기 전에 로그인 해주세요.
전체 3
© SIRSOFT
현재 페이지 제일 처음으로