지금 제가 고민하고 있는 content 위젯 들의 사용 환경 입니다;

 

사용중인 레이아웃은 구 XE 에서 배포했던 DoorWeb 레이아웃A형이며 이 레이아웃에 적용 하려는 위젯은 원래 DoorWeb 레이아웃 B형에 맟춰서 나온 content wedget 입니다 

당면한 문제는 Door Web B형에 원래 사용되던 Door_cpB란 위젯이며 이 위젯을 DoorWeb 레이아웃A 형에 사용하다 보니 이번 라이믹스로 업그레이드 한 이후로 위젯 설정의 목록수 설정이 반영이 안되는 문제가 생겼습니다..

 

cpB_위젯2.jpg

 

동일한 한분 레이아웃 배포자 께서 레이아웃 이구요 

 

레이아웃 

Door_cpA (지금 사용중인 layout )

Door_cpB(위젯만 가져와 사용중인 layout)

 

지금 사용중인 레이아웃은 "Door_cpA"이며 다른 버전의 레이아웃에 (Door_cpB) 에 종속된 위젯 (Door_cpB 위젯) 가 동일한 디텍토리에 넣어져 있는 환경 입니다.

 

위젯의 설치 경로는 :

root/widgets/content/skins/Door_cpA( 사용중인 레이아웃에 종속된 위젯)
root/widgets/content/skins/Door_cpB(cpB 라는 레이아웃에서 가져온 위젯)

 

이렇게 한 경로에 cpB란 위젯을 사용 하다보니 class 나 경로가 겹쳐서인지 cpB 를 위젯으로 설치한 페이지에 style.css등이 cpB가 아닌 cpA의 스타일 등이 적용되어 원하는 대로 컨트럴이 안되네요 (대표적인것이 위젯 설정에 출력 목록수를 지정해도 반영이 안됨)

 

크롬 검사를 돌려보면 cpB 가 아닌 cpA로 잡혀서 돌아가는게 보이기도 합니다.

일단은 이 문제를 자체적으로 해결해 보려 css 파일명과 js 파일명을 "cpB_widget.css"등으로 변경해서 편법을 써보려 해보았지만 목록수 오류에 반영이 안되고 있네요;;;;

 

이럴 경우 어떤 방법으로 두 위젯이 독립된 객체로 돌아가게 만들수 있는지 이에대한 경험이 있으신 분 혹 계실까요?

 

아래는 문제가 있는 해당 위젯이 설치된 페이지 이미지 입니다.

 

예) 목록수 설정 4~6 로해도 설정한 수 이상이 넘어가는 출력을 보이고 있는 문제 입니다.

 

cpB_위젯.jpg

 

이런 경우는 혹시 경로 나 동일한 class 명 등에 대한 상속이나 레이아웃 종속성의 영향이 있을수도 있을까요?

 

오래되서 정확히 기억은 안나는데 예전에 언듯 읽은 기억이 있는 부분이 개발자 분들이 손놓은지 오래된 위젯들에 대한 라이믹스 코드(혹은 구 XE 코드) 부분에 대한 경로 문법이 변경돼었다는 글을 읽은 기억이 있는데 혹시 이 부분 문제가 아닐까 싶기도 하구요;;;; 

 

또 한 편 으로는 위젯의 구조를 가만히 살펴보니 cntent 위젯이란 구조 아래 스킨으로 등록되어 돌아가는 구조인데요

 

cntent -> widgets 위젯들의 구조를 살펴보면 해당 위젯들은 skins폴더안에 들어가 content.class.php 의 조정을 받는 구조인데 그렇게 생각해보면 동일 class 구조나 파일 명들에 특별한 영향을 받을 이유도 없다고 보이긴 합니다;;;

 

목록수를 결정하는 부분의  작동 원리는 content.class.php 의  "info.xml"에 등록된 <var id="list_count" type="text"> 란 "list_count"란 아이디의 변수값으로 입력받아 동작 되는 것 같은데 굳이 Door_cpA 와 Door_cpB로 분리된 위젯들이 레이아웃의 종속성에 대한 영향을 받을까요?

 

물론 기본 설정된 Door_cpA형 레이아웃의 영향을 받는 종속된 cpA 위젯은 종속성이 크다고 볼 소지도 보이긴 하는데 다른 B형에서 사용되는  Door_cpB 위젯이 이 영향을 얼마나 받을진 의문이긴 합니다;;;

 

두 위젯간 이제까지 사용 경험으론 a링크 font 속성등 에서는 레이아웃의 컬러셋 속성을 넘겨받아 그런 사소한 부분들은 cpB위젯의 클라스 명을 살짝 .wrap_slide_titleB a{color:#666;}/* 레이아웃 포인트 특성 제외 위젯 font collor 적용 */

이런 식으로 변경하여 레이아웃의 위젯을 향한 상속성을 피하긴 했지만 목록수 설정은 "content" 내의 content.class.php 의 영향으로 돌아가는게 아닌가요? 

 

혹시나 설치된 슈퍼케시 모둘의 영향인가 싶어 files 내의 케시 폴더와 슈퍼케시 폴더를 모두 삭제해 보고 제 생성을 시도해 봐도 목록 수값 수정이 반영 안되는 것을 봐서는 Door_cpB 위젯의 list_count 란 변수값에 대한 반영이 안되고 있다고 생각해서 일단 그 부분들을 살펴보고 있긴 합니다;;;

 

위젯의 이런 부분에 대해 경험이나 지식이 있으신 분이 계시면 한수 조언을 절실히 부탁 드립니다.

 

질문을 많이 드리는게 부담되어 되도록 자체적으로 해결해 보려 검색도 많이 해보고 이리저리 코드를 뜯어 보아도 해결이 힘들어 갈증이 해소될 조언을 부탁을 드립니다;;;;

 

 

  • profile
    일단 너무 복잡하게 생각하실 필요없이 css 선택자 / js에서 css제어등 충돌로 인한 오작동일 가능성이 제일 크다고 생각합니다.예제로 기본스킨 기준 widgets/content/skins/default/image_title_content.html 이파일 열어보시면 4번째 줄 :

    <li<!--@if($_idx >= $widget_info->list_count)--> style="display:none"<!--@end-->>

    이렇게 되여 있는 부분이 목록수 설정을 스타일에 반영하는 부분입니다. $widget_info->list_count 즉 위젯생성시 설정한 목록수 숫자보다 크거나 같을 경우 넘어나는 부분은 style="display:none" 으로 안보이게 하는 것이죠.

    지금 사용하시는 스킨에서 목록수를 5로 설정했음에도 작동이 안된다면 사용하시는 위젯스킨에서 목록수 부분을 어떻게 제어하는지 , 제어하는 부분 선택자 또는 영향이 끼칠만한 js 제어가 있는지 확인하시면 두서가 잡힐듯 합니다.
  • profile profile
    감사 합니다 다시 조언을 참고삼아 다시한번 살펴봐야 겠네요..
    뭔가 라이믹스가 xe보다 엄격해서 생긴 결과가 아닌가 생각도 드네요 XE때는 그럭저럭 넘어가던 오류들이 라이믹스 업그레이드 이후에 제어가 되고 있는게 아닌가 생각해 봅니다 물론 문법에 엄격해 진다는건 그만큼 표준화 되고 좋은 반영이란 생각을 합니다.

    조언 감사드리고 좋은 명절 보내시시 바랍니다 루키 님
  • profile profile

    말씀 하신 부분을 살펴보니 Door_cpB형 위젯의 속성엔 <div class="DWZineB DWZineB{$widget_info->cols_list_count}"> 이 부분인데 이 부분에 아예 display:none 속성을 선언해 주는 부분이 빠져 있습니다. 이 부분이 없는것을 봐서는 아마 이 위젯을 사용하는 Doorweb B형 레이아웃에 종속시켜 레이아웃 설정에 위젯 배치에서 사용하기 위해서 설정을 레이아웃 설정에 종속 시키려 빠져있는게 아닌가 생각이 드네요

    그럼 이 부분에 위에 적어주신 display:none속성으로 넘어가는 지정한 목록이 넘어가는 카운트를 출력 시키지 않으려면 어떻게 display:none 속성을 문법에 적용해야 할까 질문좀 드릴께요. 코드 하나만 문법이 잘못되도 템플릿 오류가 나와 전체 출력이 안되니 조심스럽네요;;;

     

    관련된 전체 코드는 아래와 같습니다,

    <div class="DWZineB DWZineB{$widget_info->cols_list_count}">
        <div class="clearBoth">
        {@$_idx=0}
        <!--@foreach($widget_info->content_items as $key => $item)-->

  • profile profile
    목록제어 방식은 제작자에 따라 다를수 있으니 style="display:none" 방식이 꼭 정답은 아닙니다.아마도 어딘가 불러오는 css나 js파일에서 컨트롤 하고 있을수도 있죠.

    1. 같은 제작자의 다른 위젯이라고 했으니 Door_cpA 위젯에서 목록 설정은 문제없이 된다고 가정하겠습니다. 그럼 해당 부분 코드를 분석하여 제공해주신 Door_cpB 코드부분을 Door_cpA의 목록제어 부분으로 교체해서 테스트 해보세요. 일단 이건 아마도 가능할거란 추측입니다만;;

    2. 위 방법으로 두서가 안잡힐때 class="DWZineB DWZineB{$widget_info->cols_list_count}" 이라고 되어 있으니 DWZineB 에 대한 스타일코드가 제대로 불러오는지 체크해보세요. 또한 DWZineB 를 조작하는 js 구문이 있는지도 체크해보세요.
  • profile profile
    감사 합니다 참고삼아 다시 시도해 보겠습니다. xe 초창기땐 위젯이 많이 나오더니 이젠 시들해 지는지 위젯 종류가 많지않아 묻혀져 있던 위젯들을 수정해 사용해 보려니 머리가 아픕니다 ^^;;
    조언 감사드려요 루키님
  • profile profile
    잘 해결하시길 바랍니다. 명절 잘 보내세요!
  • profile profile
    내 감사 합니다 일단 A형 B형 모두 테스트 해보니 아무래도 두 위젯 모두 처음 제작 의도가 레이아웃에서 컬러셋 설정을 하기위해 위젯의 설정 기능들을 모두 레이아웃에 인가 한 형태의 위젯으로 보입니다. 두 위젯 모두 위젯 설정에서의 목록 설정등은 안먹는 것 같습니다.

    어차피 심플한 탭형 스타일이 마음에 들어 사용해 보려한 위젯 인지라 비슷한 위젯을 찾아보고 대체 하던가 정 없으면 위젯을 아예 뜯어서 레이아웃에 종속된 부분들 모두 버리고 심플한 탭형 골격만 가져와 조립 하던가 방법을 찾아봐야 겠어요 그동안 조언 감사했습니다 ^^
  • profile

    임시 변통으로 해결은 됐습니다만 혹시 저와 동일한 위젯을 사용하시는 분들을 위해서 목록수 반영이 안됐던 이유를 적어 놓겠습니다.

    위에 사유를 적어놓은 위젯은 원래 목적이 해당 레이아웃에 맞춰져 종속되어 위젯의 설정을 레이아웃 설정에서 조정하기 위해 제작자 님께서 설계 하신 이유로 독립된 기능에 제한과 일부 오류가 있을수 밖에 없습니다.

    다만 저같은 경우엔 XE위젯이나 라이믹스 위젯이 많이 배포되지 않거나 개발이 중지된 가운데 좀 깔끔한 게시글 위젯을 찾던 중에 이 다른 레이아웃에 대한 종속성이 있는 Dr_cpB타입 위젯을 사용하게 되었고 어차피 갤러리 기능이나 다른 기능은 사용할 일이없고 상단 탭 형태의 이미지+제목+내용 출력의 형태만 사용 하는지라 조건이 맞더군요..

    위에 글에 열거한 위젯의 기능 중 목록수 설정이 안되는 것이 아니고 이전/다음 보기 기능이 없는 관계로(아마 해당 레이아웃의 환경에선 필요가 없었을수도..) 다음 페이지로 넘어갈 목록이 현제 화면에 출력이 되어 버리는 현상이였습니다.

    이 위젯을 굳이 저 처럼 한 가지 조건의 용도로만 사용하실 분이 계신다면 목록수 조건을 원하는 목록수를 맟추시고 페이지 선택에서 1개만 선택 하시면 원하는 조건의 목록수를 반영 하실수 있습니다.

     

    다음 페이지 넘기기 기능은 해당 위젯에 more +( 더보기 ) 기능이 있기 때문에 굳이 필요성이 없습니다