ink board사용하고 계시는분들중에 비회원 추천 가능하게 하신분 계실까요?
CMS/프레임워크 | Rhymix 2.1 |
---|---|
개발 언어 | PHP 7.4 |
문제 페이지 주소 | 비공개 (작성 후 5일 경과) |
안녕하세요 !
이번에 라이믹스 업데이트 이후 비회원 추천을 가능하게 추가설정에서 설정하였는데
스킨단에서 막히는거 같더라구요.
$lang->need_login = '로그인 해주세요.';
<button class="bt_vote vote_area" type="button" onclick="insertWarn('{$lang->need_login}')"|cond="!$is_logged && !$_nonlogin_vote" onclick="insertWarn('{$lang->my_article_vote}')"|cond="$_my_atc2" onclick="doVote('{$oDocument->document_srl}','vote',{$oDocument->get(voted_count)},{-$oDocument->get(blamed_count)},this);return false;"|cond="$_not_my2"><!--@if($mi->vote_text)-->{$mi->vote_text}<!--@else--><i class="fas fa-heart"></i> {$lang->like}<!--@end--><span class="voted_count text_en">{$oDocument->get('voted_count')}</span></button>
<button class="bt_vote vote_area" type="button" onclick="insertWarn('{$lang->need_login}')"|cond="!$is_logged && !$_nonlogin_vote" onclick="insertWarn('{$lang->my_article_vote}')"|cond="$_my_atc2" onclick="doVote('{$oDocument->document_srl}','vote',{$oDocument->get(voted_count)},{-$oDocument->get(blamed_count)},this);return false;"|cond="$_not_my2"><!--@if($mi->vote_text)-->{$mi->vote_text}<!--@else--><i class="fas fa-heart"></i> {$lang->like}<!--@end--><span class="voted_count text_en">{$oDocument->get('voted_count')}</span></button>
비회원상태에서 추천을 누르면 로그인해주세요 이렇게 뜨더라구요
혹시 비회원으로 로그인하려면 어떻게 해야할지 고수선배님들의 도움을 받고싶네요 ㅠㅠ
빠른별
Lv. 3
https://mbong.kr
댓글 12
$_nonlogin_vote 라는 변수를 사용하는 걸로 봐선 스킨에 비회원 추천 관련 설정이 있지 않을까 싶은데요?
비회원일때 추천하는건 따로 설정이 따로 없어보이던데..
제가 잘못본건지
{@
if($mi->non_login_vote == 'Y') $_nonlogin_vote = 1;
$_use_vote_cancel = $mi->cancel_vote == 'Y';
if($_nonlogin_vote):
$_load_v = $mi->use_vote != 'N';
$_load_cv = $mi->use_cmt_vote;
$_load_vc = $_use_vote_cancel;
else:
$_load_vc = $_use_vote_cancel && $is_logged;
endif;
}
이게 추천관련인거같은데 여기서 설정을 바꿔야할가요?
보여주신 부분으론 스킨에선 모듈의 설정을 그냥 가져오는 것 같아요.
if($mi->non_login_vote == 'Y') $_nonlogin_vote = 1;
추가 설정 부분에서 문서와 댓글 두 부분 모두 추천 설정이 제대로 됐는지 확인해보시고, 그래도 문제가 있다면 스킨 제작자 또는 스킨 사용 중이신 분들과 의논이 필요하겠네요.
저 설정 변수명은 라이믹스 구 버전에서 사용하던 것입니다. 최신 버전은 문서/댓글, 비회원 추천/신고/취소 허용, 동일 IP 추천/신고 허용 여부 등 훨씬 세부적으로 설정할 수 있기 때문에 변수 구조가 더 복잡해요.
비회원 추천을 허용하는 것이 확실하다면 그냥 맨 위에 조건문 지우고 $_nonlogin_vote = 1; 로 강제 활성화해 버려도 괜찮을 것 같습니다. 변수명으로 봤을 때 비회원 댓글보기보다는 추천 허용과 관련된 변수일 가능성이 훨씬 높습니다.
살펴보니 '추가 설정'이어서 getModulePartConfig 함수로 따로 불러와야 하는군요.
($mi->non_login_vote는 말씀대로 구버전용 변수인가 보네요. 게다가 $module_info에 스킨 설정 변수명들이 뒤섞여 있으니 분간이 어려워요ㅋㅋㅋ)
어쨌든 다른 게시판에 영향을 줄 수도 있으니
{@
if($mi->non_login_vote == 'Y') $_nonlogin_vote = 1;
$_use_vote_cancel = $mi->cancel_vote == 'Y';
~~~
대신에
$document_config = ModuleModel::getModulePartConfig('document', $oDocument->get('module_srl'));
if(isset($document_config->allow_vote_non_member) && $document_config->allow_vote_non_member === 'Y') $_nonlogin_vote = 1;
if(isset($document_config->allow_vote_cancel) && $document_config->allow_vote_cancel === 'Y') $_use_vote_cancel = 1;
~~~
로 하면 왠지 될 것 같습니다.
+ 해당 스킨을 사용하지 않아서 잘은 모르겠지만, 경우에 따라 $mi->non_login_vote나 $mi->cancel_vote가 스킨에서 설정한 변수일 수도 있으니 조건문에서 삭제하지 않고 유지를 해야 할지도 모르겠습니다.
답변감사합니다 윤삼님
해당 영역이 기존이
if($mi->non_login_vote == 'Y') $_nonlogin_vote = 1;
$_use_vote_cancel = $mi->cancel_vote == 'Y';
if($_nonlogin_vote):
$_load_v = $mi->use_vote != 'N';
$_load_cv = $mi->use_cmt_vote;
$_load_vc = $_use_vote_cancel;
else:
$_load_vc = $_use_vote_cancel && $is_logged;
endif;
}
이 상태인데
$document_config = ModuleModel::getModulePartConfig('document', $oDocument->get('module_srl'));
if(isset($document_config->allow_vote_non_member) && $document_config->allow_vote_non_member === 'Y') $_nonlogin_vote = 1;
if(isset($document_config->allow_vote_cancel) && $document_config->allow_vote_cancel === 'Y') $_use_vote_cancel = 1;
if($_nonlogin_vote):
$_load_v = $mi->use_vote != 'N';
$_load_cv = $mi->use_cmt_vote;
$_load_vc = $_use_vote_cancel;
else:
$_load_vc = $_use_vote_cancel && $is_logged;
endif;
}
이렇게 바꿔서 적용하니 오류가 나더군요 ㅠㅠ;;
무조건으로 $_nonlogin_vote = 1; 이렇게 가서 되는 거면 제가 알려드린 코드에 문제가 있는 것이니 따르지 않으셔도 돼요.
잘 모르는 스킨을 가지고 괜히 아는 척을 해가지고ㅜㅜ 역시 제작자분이나 다른 이용자분들이랑 소통하는 게 가장 확실할 것 같아요.
$_nonlogin_vote = 1; // 강제로 활성화
$_use_vote_cancel = $mi->cancel_vote == 'Y';
if ($_nonlogin_vote):
$_load_v = $mi->use_vote != 'N';
$_load_cv = $mi->use_cmt_vote;
$_load_vc = $_use_vote_cancel;
else:
$_load_vc = $_use_vote_cancel && $is_logged;
endif;
이게 이렇게 되어야 하나용?
{@
$_nonlogin_vote = 1;
$_use_vote_cancel = $mi->cancel_vote == 'Y';
if($_nonlogin_vote):
$_load_v = $mi->use_vote != 'N';
$_load_cv = $mi->use_cmt_vote;
$_load_vc = $_use_vote_cancel;
else:
$_load_vc = $_use_vote_cancel && $is_logged;
endif;
}
이렇게 설정해주니 비회원도 추천이 잘 되네요 ㅎㅎ
감사합니다.