Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

게시판 모듈 댓글 스킨의 반복문 실행 방식 문제 #2402

Open
churow opened this issue Jun 12, 2019 · 0 comments
Open

게시판 모듈 댓글 스킨의 반복문 실행 방식 문제 #2402

churow opened this issue Jun 12, 2019 · 0 comments

Comments

@churow
Copy link
Contributor

churow commented Jun 12, 2019

게시판 모듈의 댓글 스킨들을 보면
modules/board/skins/default/_comment.html
modules/board/skins/xedition/_comment.html

아래와 같이 반복문을 실행하게 되어 있는데
<li loop="$oDocument->getComments()=>$key,$comment">

이것은 아래와 같이 컴파일이 되어, 결국 $oDocument->getComments()를 세 번씩 부르게 됩니다.
<?php if($__Context->oDocument->getComments()&&count($__Context->oDocument->getComments()))foreach($__Context->oDocument->getComments() as $__Context->key=>$__Context->comment){ ?>

게다가 $oDocument->getComments()는 document.getComments라는 트리거를 부르는데, 이 트리거를 등록한 모듈에서는 의도하지 않게 세 번씩 같은 트리거를 부르게 됩니다.

아래와 같이 별도의 변수에 결과값을 받아 놓고, 그 변수를 이용해서 반복문을 실행하는 것이 낫겠습니다.
{@ $comment_list = $oDocument->getComments(); }
<li loop="$comment_list=>$key,$comment">

@ghost ghost self-assigned this Jul 1, 2019
@ghost ghost added this to the 1.11-next milestone Jul 1, 2019
@ghost ghost removed their assignment Mar 14, 2020
@xpressengine xpressengine deleted a comment from kms0219kms Jan 10, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant