b3e04efe4fbbd416bd0cc598d9b305f6.png

 

Untitled-1.png

Untitled-2.png

<!--// 태그 -->
{@ $tag_list=$document->get('tag_list') }
<div cond="$tag_list && $val->idx==-1" class="tags">
{@ debugPrint($tag_list ?? []) }
<!--@foreach($tag_list as $tag)-->
<a href="{getUrl('search_target','tag','search_keyword',$tag,'document_srl','')}">#{htmlspecialchars($tag)}</a>
<!--@end-->
</div>

 

글 작성시 입력받은 해시태그를 게시판 리스트에서 노출하려고 위와 같이 추가하였습니다.

그런데 스샷의 이미지처럼 해시태그의 개수만큼 반복되어 출력되네요

원인이 무엇인지 질문 드립니다.

  • profile
    님이 밑에 기제해주신 코드는 잘작동한듯 합니다.

    다만, 중요한건 저기 위에 태그 리스트 중간중간에 wrap 클래스 가 태그리스트 사이사이 붙어서 나온다는 겁니다.

    전체적인 코드에서 어떤 반복문이나 리스트 호출하는 곳에 따라 문제가 발생된거 같은데 그 부분을 찾아보셔야할듯 합니다.
  • profile ?
    전체를 감싸는 포문이 있고 그 안에 foreach가 있습니다
    생각은 그럴싸한데 문법이랄까 안맞는가 보군요
  • ? profile
    밑에 윤삼님 말씀대로 list_config 변수안에 있는 loop밖으로 빼시면 되겠습니다.

    적절하게 위치는 알아서..
  • profile
    $list_config로 돌아가는 반복문이라든가, 암튼 제시하신 코드 바깥에 반복문이 더 있을 것 같은데요.
    그쪽의 영향을 받는 게 아닐까 싶습니다.
  • profile ?

    아 네 맞습니다 있습니다.
    아.. 1차로 감싸는 포문안에 포문이 있을경우 저렇게 반복이 되는건가 보군요

    저 마크업을 감싸는 <block loop="$list_config=>$key,$val"> 루프가 있습니다

     

  • ? profile
    네, n회 반복되는 반복문 안에서 2회 짜리 반복문이 있으면 n*2회로 표시될 테니까요.
    <block loop="$list_config=>$key,$val">~~</block>의 바깥에서 본문의 코드를 적용시키는 게 낫겠네요 :)