로컬에서 테스트 중이라 url은 없는데,
갑자기 궁금해서 질문 남깁니다.
아주 오래된 컨텐츠 확장 위젯을 쓰고 있습니다.
https://xe1.xpressengine.com/index.php?mid=download&package_id=21127741
확장 변수까지 표시해 줄 수 있어서 이 위젯을 사용하고 있는데,
예를 들어 확장변수에 date라는 항목을 만들고,
게시판에서 입력된 값을 받아서 메인에 위젯으로 뿌려줄때,
저 date 값도 선택자가 존재할까요?
css로 디자인을 입혀주고 싶은데, 저 값의 선택자를 못 찾겠네요 ㅠㅠ
이 자료가 확장변수 불러오는 구조가 좀 난해하더군요;;
(제가 만든 자료도 남이 보면 이럴 듯해요ㅋㅋ)
암튼,
* 위젯 설정에서
- '표시 항목 및 순서'에 '확장변수1'을 포함시키고
- '확장변수 1 이름'에 위에서 말씀하신 date라는 확장변수 eid를 입력했다고 가정해보겠습니다.
* 스킨에서 (예컨대, 기본 스킨의 normal.html),
- $widget_info->content_items를 반복문으로 돌리는 부분 내에서 (즉, $item이라는 문서 객체 변수가 활성화된 시점)
- {$item->extra_var}라고 찍어보면 해당 문서의 date 변수값이 찍혀나오는 것을 확인할 수 있습니다.
$item->extra_var라는 변수명에서 보듯 확장변수값을 출력하는 방식이 변수명(date)을 사용하지 않기 때문에, 스킨 안에서 date라는 변수명을 가지고 css에서 스타일을 주기 위해 직접적으로 변수를 식별한다는 게 사실상 불가능한 거죠.
방법이 있다면,
위의 가정처럼 위젯 설정에서 '확장변수1'에 date 변수를 매뉴얼하게 연결시켰으니,
스킨에서 $item->extra_var이 나오는 자리에 그냥 어거지로 css 선택자를 넣어줘야 할 겁니다.
가령,
<!--@else if($v=='extravar')-->
<td class="extravar_date">{$item->getExtraVar()}</td>
이런 식으로요.
그런데 이렇게 하면 이 위젯의 다른 사용처들에도 영향을 줄 수가 있을 테니 그다지 추천할 만한 방법은 아닐 것 같아요.
애초에 확장변수를 연결할 때 변수명과 변수값을 같이 담아서 위젯을 만들기라도 했으면 좋았을 텐데,
5개의 확장변수에 순번을 매기고 거기에 변수값만 전달하는 형태라 결코 쉬운 접근만은 아니게 된 것 같습니다.