질문/조언질답게시판

댓글 랜덤 포인트 애드온 사용중인데

캡처.PNG

이렇게 수정하고 싶습니다.. 폰트어썸 사용, 획득 포인트 문구 컬러 수정

 

초보라그런지.. 그냥 코드 넣었더니 에러가 뜨네요; 부탁드릴게용 ㅠ_ㅠ

 

    if($rand_no == 1) {
        $oPointModel = &getModel('point');
        $point = $oPointModel->getPoint($member_srl);

        $oPointController = &getController('point');
        $oPointController->setPoint($member_srl, $rand_point, 'add');

        if($rand_point==$min_point) $comment_plus ="아쉽네요! 최저 ";
        if($rand_point==$max_point) $comment_plus ="와우! 최고 ";
        $content_ori = Context::get('content');
        Context::set('content', $content_ori."<br><br>축하드립니다. ".$comment_plus."포인트 ".$rand_point."점을 받으셨습니다.");
    }
}
?>

  • profile

    min_point랑 max_point가 딱 떨어지는 숫자인가요?
    예를 들어서 1 또는 2 이런 식으로요 == 연산자는 같은 값이라는 의미입니다.

    폰트어썸을 적용하시려면 우선적으로 폰트어썸 파일들이 서버에 업로드되어 있어야 합니다.

    Context::set('content', $content_ori."<i class="fa fa-gift" aria-hidden="true"></i>축하합니다! ".$comment_plus." 행운 포인트 ".$rand_point."점을 획득하셨습니다.");

     

    content_ori는 어떤 값이 들어가는지 확인이 안 되네요.

  • profile profile
    min, max 포인트는 애드온 설정에서 설정이 가능해요!
    그리고 알려주신대로 넣고 수정하고 업로드하면 505? 에러가 뜹니다
  • profile profile

    음... 코드 때문에 그런 것은 아닌 것 같고 505면 http 프로토콜 에러인데....

    혹시 폰트어썸 파일은 업로드 하셨나요?

  • profile
    해당 구문은 php안에서 동작합니다.
    php문자열에서 점(.)은 앞뒤 문자열을 그대로 붙여주는 것이고 쌍따옴표나 따옴표로 쌓여있는 문구는 문자 그자체가 입력됩니다.

    예를 들어서
    $content_ori = "A";
    ==> $content_ori라는 변수에 A라는 문자를 넣은 것입니다.
    $content_ori = $content_ori."BC";
    ==> 이렇게 하면 $content_ori는 윗줄에서 입력한 A라는 문자에 점(.)으로 이어져서 문자 BC가 추가되어 ABC라는 값을 가지게 됩니다.

    여기까지 이해하셨다면 다음 단계입니다.
    문자를 표시할때는 따옴표나 쌍따옴표를 감싸면 되는데 문자로 따옴표나 쌍따옴표를 넣고 싶을 때도 있습니다.
    챠밍컬러님이 넣어주신 것처럼 <i class="fa fa-gift" aria-hidden="true"></i>
    요런 것에는 쌍따옴표가 있죠.
    그런데 php에서 쌍따옴표는 위에 설명한 것처럼 사용됩니다.
    그래서 저렇게 넣으면 에러가 나온 것입니다.
    쌍따옴표를 넣을 때는 여기서 있는 쌍따옴표는 php언어로 해석하지 말고 문자그대로 받아들여라!라고 해야 합니다.

    그럴때는 \"
    이렇게 써야 합니다.
    <i class=\"fa fa-gift\" aria-hidden=\"true\">
    이렇게 되죠.

    해당 열을 바꿔 써보면 아래와 같이 되어야 합니다.
    Context::set('content', $content_ori."<i class=\"fa fa-gift\" aria-hidden=\"true\"></i>축하합니다! ".$comment_plus." 행운 포인트 ".$rand_point."점을 획득하셨습니다.");

    테스트 해보시고 알려주세요.
  • profile
    Context::set('content', $content_ori."<i class=\"fa fa-gift\" aria-hidden=\"true\"></i>축하합니다! ".$comment_plus." 행운 포인트 <font color=\"red\">".$rand_point."</font>점을 획득하셨습니다.");

    글자색을 바꾸기 위해서 font태그를 추가했습니다.
    색은 red부분을 rgb컬러값으로 바꾸거나 다른 색이름을 넣으면 됩니다.
    style로 넣어도 되고 class로 적용해도 됩니다.
    아무튼 위와 같이 html태그를 적용하면 됩니다.
    쌍따옴표 앞에 \만 추가하면 됩니다.
  • profile profile
    우와..정말 상세하게.. 정말 친절한 답변 감사드려요 :) !!
    덕분에 잘 적용했습니다, 감사합니다!