최신글 스킨의 new 아이콘을 빼고 제목의 색상을 바꾸고 싶습니다

최신글 스킨의 new 아이콘을 빼고 제목의 색상을 바꾸고 싶습니다

QA

최신글 스킨의 new 아이콘을 빼고 제목의 색상을 바꾸고 싶습니다

본문

안녕하세요? 다들 건강하시지요?

 

오랜만에 질문을 올립니다. 

다름이 아니오라 초기화면에 있는 최신글 스킨의 new 아이콘을 빼고 제목의 색상을 바꾸고 싶습니다 

 

실력이 부족해서 여기저기에 있는 것을 짜깁기하여

 

latest.skin.php에서 

<?php if (isset($list[$i]['icon_new'])) echo " " . $list[$i]['icon_new']; ?>를

<?php if($list[$i]['icon_new']) $class="class='red'"; ?> 이렇게 변경도 해보고 

 

또는 

<?php if (isset($list[$i]['icon_new'])) echo " " . $list[$i]['icon_new']; ?>를

<?php if (isset($list[$i]['icon_new'])) echo "class=red"; ?> 이렇게도 변경하여 보았습니다.

 

그리고 style.css에서

.red, .red:link a{color:red}, .red:visited a{color:red} 이렇게 주었습니다. 

 

그런데 어디가 잘못되었는지 변화가 없습니다...ㅜㅜ

 

고수님들 알려 주십시오~

오늘도 좋은 하루 되십시오~ ^^)

 

감사합니다.

 

이 질문에 댓글 쓰기 :

답변 7

이거를....

<p class="s_subject"><a href="<?php echo $list[$i]['href']; ?>"><?php echo $list[$i]['subject']; ?></a> <?php if (isset($list[$i]['icon_new'])) echo " " . $list[$i]['icon_new']; ?></p>   

  

이렇게 바꾸세요~

<p class="s_subject">  

    <a href="<?php echo $list[$i]['href']; ?>" <?php echo ( isset($list[$i]['icon_new']) && !empty($list[$i]['icon_new']) ) ? "class='red'" : "";?>> 

        <?php echo $list[$i]['subject']; ?>

    </a> 

</p>

 

 

자바스크립트로 new이미지 숨기고, 제목 색상 변경하기.

php 수정을 선호하시면, 밑에 승희아빠님 참조...


            if (isset($list[$i]['icon_new'])) echo " " . $list[$i]['icon_new'];
            if (isset($list[$i]['icon_hot'])) echo " " . $list[$i]['icon_hot'];
            if (isset($list[$i]['icon_file'])) echo " " . $list[$i]['icon_file'];
            if (isset($list[$i]['icon_link'])) echo " " . $list[$i]['icon_link'];
            if (isset($list[$i]['icon_secret'])) echo " " . $list[$i]['icon_secret'];
             ?>
        </li>
    <?php }  ?>
		<script>
			$(document).ready(function(){
				//$('img[alt="새글"]').hide().prev().css('color', 'red');
				$('img[alt="새글"]').hide().prev().addClass('red');
			});
		</script>
    <?php if (count($list) == 0) { //게시물이 없을 때  ?>
    <li>게시물이 없습니다.</li>
    <?php }  ?>

 

잘못 쓰신건 아니고 위치 문제입니다.

현재 소스가 어떤식으로 되어 있는지 모르지만 일단 기본형은 다음과 같다고 보고 설명을 드리겠습니다.


<li>
            <?php
            //echo $list[$i]['icon_reply']." ";
            echo "<a href=\"".$list[$i]['href']."\">";
            if ($list[$i]['is_notice'])
                echo "<strong>".$list[$i]['subject']."</strong>";
            else
                echo $list[$i]['subject'];
            if ($list[$i]['comment_cnt'])
                echo $list[$i]['comment_cnt'];
            echo "</a>";
            // if ($list[$i]['link']['count']) { echo "[{$list[$i]['link']['count']}]"; }
            // if ($list[$i]['file']['count']) { echo "<{$list[$i]['file']['count']}>"; }
            if (isset($list[$i]['icon_new'])) echo " " . $list[$i]['icon_new'];
            if (isset($list[$i]['icon_hot'])) echo " " . $list[$i]['icon_hot'];
            if (isset($list[$i]['icon_file'])) echo " " . $list[$i]['icon_file'];
            if (isset($list[$i]['icon_link'])) echo " " . $list[$i]['icon_link'];
            if (isset($list[$i]['icon_secret'])) echo " " . $list[$i]['icon_secret'];
             ?>
        </li>

일단 new 대신이기 때문에 조건은 if (isset($list[$i]['icon_new'])) 을 쓰시는게 맞습니다.

다만 색상을 변경하길 원하시는 것이라 <a> 태그에 스타일을 적용해야 하는거죠

그래서 변경해 보면 다음과 같습니다.


<li>
            <?php
            //echo $list[$i]['icon_reply']." ";
            $class = "";
            if (isset($list[$i]['icon_new'])) $class = " class=\"red\"";
            echo "<a href=\"".$list[$i]['href']."\"$class>";
            if ($list[$i]['is_notice'])
                echo "<strong>".$list[$i]['subject']."</strong>";
            else
                echo $list[$i]['subject'];
            if ($list[$i]['comment_cnt'])
                echo $list[$i]['comment_cnt'];
            echo "</a>";
            // if ($list[$i]['link']['count']) { echo "[{$list[$i]['link']['count']}]"; }
            // if ($list[$i]['file']['count']) { echo "<{$list[$i]['file']['count']}>"; }
            //if (isset($list[$i]['icon_new'])) echo " " . $list[$i]['icon_new'];
            if (isset($list[$i]['icon_hot'])) echo " " . $list[$i]['icon_hot'];
            if (isset($list[$i]['icon_file'])) echo " " . $list[$i]['icon_file'];
            if (isset($list[$i]['icon_link'])) echo " " . $list[$i]['icon_link'];
            if (isset($list[$i]['icon_secret'])) echo " " . $list[$i]['icon_secret'];
             ?>
        </li>
 

new 아이콘 부분에 주석처리 하는거 잊지 마시고요...

일단 <?php if (isset($list[$i]['icon_new'])) echo "class=red"; ?> 이 부분을 태그 안에 넣어야 하구요.

echo "class=red"; 이 부분도 틀렷습니다. 원래는 태그안에 class="red" 이렇게 들어가야 하기에

echo "class='red'"; 이렇게 쓰셔야 합니다. 

 

<?php if (isset($list[$i]['icon_new'])) echo "class='red'"; ?> 이걸 위에 있는 <a> 태그 안에 들어가게 해야 합니다.

 

수정하겠습니다.class로 스타일을 지정하는 방법이 안되네요. 모두 정확히 해도 스타일이 먹히지 않습니다.그래서 저는 직접 태그안에 style='color:red' 를 넣는 방법으로 해결했구요.(이 부분은 왜 그런지 아시는 분 있으시면 설명 좀...)


더 큰 문제가 있습니다.

isset() 이 함수가 안 맞네요, 다시 말해서 $list[$i]['icon_new']의 값은 없지만 실제로 셋팅은 되어있어 판단이 모두 통과됩니다. 그래서 뒤에 echo 가 모두 실행되어 모든 글이 빨간색으로 됩니다.

그래서 empty()를 역판단으로 해서 해봤더니 되네요. 저만 그런건지 해보신 분들 있는지요?

감사합니다.

많은 분들이 답을 주셨는데도 실력이 부족해서 잘 적용을 못 하고 있습니다.

 

style.css에는 

.s_subject .red, .red:link a{color:red}, .red:visited a{color:red} 

이렇게 하고 

 

latest.skin.php에서  

<p class="s_subject"><a href="<?php echo $list[$i]['href']; ?>"><?php echo $list[$i]['subject']; ?></a> <?php if (isset($list[$i]['icon_new'])) echo " " . $list[$i]['icon_new']; ?></p>

 

위의 것을

 

승희아빠님의 말씀처럼 다음과 같이 변경하였습니다.

그런데도 안 되고 있습니다....ㅜㅜ

 

            

            <?php

//echo $list[$i]['icon_reply']." ";

            $class = "s_subject";

            if (isset($list[$i]['icon_new'])) $class = " class=\"red\"";

            echo "<a href=\"".$list[$i]['href']."\"$class>";

            if ($list[$i]['is_notice'])

                echo "<strong>".$list[$i]['subject']."</strong>";

            else

                echo $list[$i]['subject'];

            if ($list[$i]['comment_cnt'])

                echo $list[$i]['comment_cnt'];

            echo "</a>";

 

//if (isset($list[$i]['icon_new'])) echo " " . $list[$i]['icon_new'];

             ?>

이거를.... 

<p class="s_subject"><a href="<?php echo $list[$i]['href']; ?>"><?php echo $list[$i]['subject']; ?></a> <?php if (isset($list[$i]['icon_new'])) echo " " . $list[$i]['icon_new']; ?></p> 

 

이렇게 수정하세요...

<p class="s_subject"><a href="<?php echo $list[$i]['href']; ?>" <?php echo (isset($list[$i]['icon_new'])) ? "class='red'" : "";?>><?php echo $list[$i]['subject']; ?></a> </p>

답변을 작성하시기 전에 로그인 해주세요.
전체 10,639
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT