자료실

게시글 별 평점 모듈

2025.03.17 19:08
492
6
자료 유형 모듈
간단한 소개 게시글에 별모양 평점을 부여하는 모듈입니다.
설치 경로 /modules/starpoint
코어 지원 범위 Rhymix 2.1
PHP 지원 범위 8.4, 8.3, 8.2, 8.1, 8.0, 7.4
자료 구분 공개 자료
라이선스 GPL v2
저장소 URL https://github.com/moonhouse-80san/starpoint
데모 URL https://moonhouse.co.kr/xemy/598200
파일명버전날짜용량다운로드 수
starpoint V1.4.zip 1.4 2025.03.29 16.1KB 15
starpoint V1.3.zip 1.3 2025.03.22 11.9KB 10
starpoint V1.2.zip 1.2 2025.03.19 10.6KB 12
starpoint V1.1.zip 1.1 2025.03.19 10.9KB 13
starpoint V1.0.zip 1.0 2025.03.17 10.5KB 19

게시글 평점 애드온을 AI의 힘을 빌려서 만들어보다 

애드온의 한계(DB 테이블 생성) 때문에 모듈로 전환을 해 보았으나

https://rhymix.org/qna/1858907

 

역시나 기량의 부족으로 포기를 할려고 할때

얼음조각티님이 기초적인 틀을 만들어 주고, 제가 약간의 디자인을 추가하여 얼음조각티님의 허락을 득한 후 

모듈로 배포합니다.

 

[V 1.4 수정]

1. 스킨 지정 - Default, Simple
평점모듈 이지만 게시판 스킨에서 설정과 수정이 많습니다.

어느 것이 정답인지는 모르겠지만 게시판 스킨 수정이 활용 범위가 더 넓은 것 같네요. 

스킨을 지정할려면 게시판 스킨의 skin.xml 와 _read.html 에 코드를 추가해야 합니다.

skin.xml 에 starpoint_skin 설정 추가
<var name="starpoint_skin" type="radio">
    <title> ┖ 스킨</title>
    <description/>
    <options value="">
        <title>Default(기본)</title>
    </options>
    <options value="s">
        <title>Simple</title>
    </options>
</var>

_read.html 에 스킨 추가
<!--// 글 별평점 모듈 -->
<include cond="!$mi->star_point =='' && $mi->starpoint_skin ==''" target="/modules/starpoint/tpl/rating.html" />
<include cond="!$mi->star_point =='' && $mi->starpoint_skin =='s'" target="/modules/starpoint/tpl/simple/rating.html" />

2. 평가하기시 별에 마우스 오버시 평가점 출력

[Simple 스킨] https://moonhouse.co.kr/xetip/598109

image.png

 

[V 1.3 수정]

1. 평가가 DB에 저장되지 않는다는 이슈가 있어서 수정했습니다.

2. 기존의 사용자중 평가가 없거나 중요하지 않으면 DB에 접속해서 rx_document_star 테이블 삭제해서

초기화후 관리자 설정에서 모듈 업데이트후 사용하면 깔끔합니다. (그냥 사용하셔도 별 문제 없음)

3. DB 오류나 다른 문제가 있으면 댓글이나 깃허브 이슈로 남겨주세요.

 

[V 1.2 수정]

V1.1 이 평가가 안되는 오류 수정 - DB 테이블 문제 (socialskyo)

 

[V 1.1 수정]

- 본인의 글은 평가할 수 없게 수정 (socialskyo)

- 디자인을 심플하게 수정

image.png

image.png

- skin.xml 에 빨간색 부분 추가 - 타이틀(글)부분 변경 가능

sketchbook5 게시판스킨이 아니면 _read.html 파일의 상단에 아래 파란색 코드 추가해야 정상 작동합니다.
$module_info로 작성시 starpoint모듈의 설정을 가져 올려고 하다보니 타이틀 변경이 안되고
$mi로 작성해야 해당 게시판 스킨의 설정을 가져 옵니다. 
{@ $mi = $module_info; } 

 

[설치 방법]

1. 다운 받은 모듈을 설치 - 관리자 설정 없음

2. 게시글 별 평점 모듈을 적용할 게시판 스킨의 파일에 아래의 코드를 작성 

(예 : /modules/board/skins/sketchbook5)

 

/modules/board/skins/sketchbook5/skin.xml 에 추가
<var name="star_point" type="radio">
    <title>게시글 별 평점 모듈 사용</title>
    <description>게시글 별 평점 모듈이 설치되어 있어야 합니다.</description>
    <options value="">
        <title>모듈 설치 안됨(기본)</title>
    </options>
    <options value="Y">
        <title>모듈 설치</title>
    </options>
</var>

<var name="starpoint_text" type="text">
    <title> ┖ 타이틀</title>
    <description>상단에 들어갈 타이틀(기본문구 : 글)</description>
</var>

 

/modules/board/skins/sketchbook5/_read.html 의 적당한 위치에 추가

<include cond="!$module_info->star_point ==''" target="/modules/starpoint/tpl/rating.html" />

 

3. 게시판 스킨 설정에서 "게시글 별 평점 모듈 사용" 에서 "모듈 설치"를 선택하면 됩니다.
 

[비로그인]

image.png

 

[로그인 회원]

image.png

 

[평점후]

image.png

 

 Tip 게시글 목록 & 위젯에 별 평점 출력하기 링크로 보기 

image.png

image.png

팔공산 Lv. 5

댓글 10

  • 2025.03.18 01:05 #1904047

    먼저 좋은 자료 감사합니다.

    방금 받아서 설치를 해보았는데

    스케치북 스킨에서만 동작하나요?

    rx-flextagram 스킨에서는 평점 후 적용이 안됩니다.

  • 2025.03.18 07:27 #1904062

    그렇지는 않을걸요...

    OrangeDay_board,  default, xedition에서도 작동 확인했습니다. 

  • 2025.03.18 07:44 #1904074

    rx-flextagram 스킨에서는 평점 후 적용이 안되네요. ㅠㅠ

  • 2025.03.18 08:14 #1904077

    /modules/board/skins/rx-flextagram/components/article/article.html

     

    <include target="article-grantform.html"/>
    <!--@else-->
    {$oDocument->getContent(false)}
    <!--@end-->

    <include target="/modules/starpoint/tpl/rating.html" />

     

    이렇게 적용하니 작동하는데요

  • 2025.03.18 08:33 #1904080

    저도 똑같이 했는데

    별점을 클릭하면 평점 후 내용이 적용되지 않더라구요. 

    아이고 제가 바보 였네요.

    잘 됩니다. 도움 감사드립니다.

    잘 사용하겠습니다.

  • 2025.03.18 08:39 #1904084

    default 나 xedition 스킨에도 적용을 한번 해 보시고

    적용안되면 DB의 테이블이 생성이 안되었거나 시스템의 문제 같고

    적용된다면 rx-flextagram 스킨에서의 문제인 것 같습니다.  

  • 2025.03.18 22:02 #1904227

    항상 열일하시는 팔공산님 이번에도 좋은자료 감사합니다~~~

     

  • 2025.03.19 03:37 #1904320

    rx-flextagram 스킨에서도 잘 됩니다.

    그런데 모듈 설치 안됨(기본) 으로 되어 있는 게시판에서도 출력이 되고 있습니다.

    버그인가요?

    저는 일단 아래와 같이 사용하고 있습니다.

     

    <div cond="$module_info->star_point !== 'N'">
    <include target="/modules/starpoint/tpl/rating.html" />
     </div>

  • 2025.03.19 09:20 #1904378

    skin.xml 에서도 star_point 에도 추가하여 설정을 해주신게 맞는지요?

     

    <pre>

    {var_dump($module_info)}

    </pre>

    하여 star_point의 변수 값이 N인지 Y인지 Null인지 체크해보시기 바랍니다.

  • 2025.04.04 09:27 #1905688

    너무 좋습니다^^ slow 테마에서도 적용됩니다