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

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

QA

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

답변 7

본문

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

 

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

다름이 아니오라 초기화면에 있는 최신글 스킨의 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>

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 2
© SIRSOFT
현재 페이지 제일 처음으로