게시판 _list.html 파일에 추가하여 목록 페이지 마지막 컨텐트 다음에 추가하고 싶습니다.

 

<ul>

<!--@foreach($document_list as $no => $document)-->

<li>

컨텐츠 

<li>

<!--@end-->

</ul>

이렇게 되어 있습니다. 

 

반복되는 li 중 마지막 li 바로 뒤에 제가 넣고 싶은 내용을 추가하고 싶은데요. 조건을 알고 싶습니다.

  • profile
    end 다음에 그냥 넣으시면 되지 않나요? <li>넣고 싶은 내용<li>
  • profile profile
    네. 스킨에서 루프도는 쪽을 컨트롤 해서 그런지 거기에 넣으면 디자인을 맞출수가 없어서요.

    루프 안쪽으로 꼭 넣어야 하는 상황이에요.
  • profile profile

    변수 중에 모듈에 설정된 목록 개수를 가져오는 게 있는데요.
    일반적으론 $module_info->list_count, 스케치북 스킨에선$mi->list_count으로도 단축 가능하죠 :)

    그리고 반복문에 인덱싱 번호 붙이는 거 있잖아요?
    $i 라든가 $idx 같은 거요.

    $i가 0으로 시작하면 $i++ 직후, $i가 1로 시작하면 $i++ 직전에 ,
    $module_info->list_count와 $i가 일치하면 거기가 마지막 li란 뜻이니까 그곳에 '원하는 내용'을 넣으면 될 겁니다.

  • profile profile
    모바일의 목록 갯수 설정은 모듈 설정에서 하는 것으로 알고 있습니다.
    그러면
    <!--@if($module_info->list_count == $idx)-->
    <!--@if($module_info->list_count == $i)-->

    위 두가지 중에 하나가 되어야 한다는 말씀 같은데 둘다 안되네요.
  • profile profile
    스킨에 $i 라든가 $idx 를 추가해줘야 하는건가보네요 ?
  • profile profile
    모바일 스킨을 따로 쓰신다면 $module_info->mobile_list_count를 쓰셔야 해요.
    이걸로도 안 된다면 다른 부분에서 꼬인 게 있을 거 같은데, 그게 어떤 것일지는 현재로선 짐작하기 어렵네요;;
  • profile profile

    그렇죠.
    반복문 앞에 {@ $i = 0;} 또는 {@ $i = 1;}
    엔드 전에 {@ $i++;}

  • profile profile
    네 그렇게 해 봤는데 안되네요.
    모바일 스킨을 따로 쓰고 있고 모바일 목록 숫자도 별도로 20개로 설정되어 있습니다. 스킨에서 제어하는 건 아니고 모듈 설정에 입력되어 있습니다.

    {@$i=0}
    <!--@foreach($document_list as $no => $document)-->
    <li>
    컨텐츠
    </li>

    <!--@if($module_info->mobile_list_count == $i)-->
    <li>
    확인해볼 문자열
    </li>
    <!--@end-->

    {@$i++}
    <!--@end-->

    이런식으로 해 보았는데 잘 안되네요.
  • profile profile
    0으로 시작하셨다면,

    {@$i=0}
    <!--@foreach($document_list as $no => $document)-->
    <li>
    컨텐츠
    </li>
    {@$i++}

    <!--@if($module_info->mobile_list_count == $i)-->
    <li>
    확인해볼 문자열
    </li>
    <!--@end-->

    <!--@end-->

    으로 하셔야 할 겁니다.
  • profile profile
    오.. 감사합니다. 마지막에 잘 표시되네요.
    지금 가르쳐 주신것에 의미를 잘 몰라 위치와 상관관계등 전혀 이해가 가지 않아 따로 공부를 해 봐야 할 것 같네요.

    도움 감사합니다.
  • profile profile
    한가지만 더 여쭙겠습니다.

    그럼 배열의 맨 위에 위치를 잡을 경우 케이스도 알 수 있을 까요?

    <!--@if($module_info->mobile_list_count == $i)-->

    위 부분이 바뀔것 같은데요... 하나를 아니 또 궁금증이 생기네요.
  • profile profile
    {@$i=0}
    <!--@foreach($document_list as $no => $document)-->

    <!--@if($i == 0)-->
    <li>
    배열 맨 앞에서 확인해볼 문자열
    </li>
    <!--@end-->

    <li>
    컨텐츠
    </li>
    {@$i++}

    <!--@if($i == $module_info->mobile_list_count)-->
    <li>
    배열 맨 끝에서 확인해볼 문자열
    </li>
    <!--@end-->

    <!--@end-->

    로 하셔야겠죠
  • profile profile
    감사합니다. 나중에 알려주신 내용 이유를 꼭 공부해 볼게요 ㅋ
  • profile profile
    이해를 돕기 위해 주석을 달아보면 이래요ㅎㅎ

    {@$i=0} // $i를 0으로 설정
    <!--@foreach($document_list as $no => $document)-->

    <!--@if($i == 0)--> // $i가 0이면 출력 ... $i에 1이 추가된 시점부터는 그냥 넘어갑니다.
    <li>
    배열 맨 앞에서 확인해볼 문자열
    </li>
    <!--@end-->

    <li> // 목록 수만큼 반복되는 요소
    컨텐츠
    </li>
    {@$i++} // 컨텐츠 출력 후 $i에 1 추가!!!

    <!--@if($i == $module_info->mobile_list_count)--> // $i가 20(설정된 목록 수)이라면 ... 반복이 맨 마지막으로 돌면 $i가 20이 되어 있겠죠
    <li>
    배열 맨 끝에서 확인해볼 문자열
    </li>
    <!--@end-->

    <!--@end-->
  • profile profile
    와 ~ 이해가 속속 됩니다. 이번 케이스는 완벽 이해가 되네요. 잘 배웠습니다!
  • profile
    리스트 카운트가 페이지네이션에 있으니 조건문을 쓰시면 될것 같습니다