묻고답하기
위젯 만드는 중인데 조언 부탁드립니다.
2015.08.10 02:09
위젯을 만들고 있습니다.
탭형식의 최근게시물 위젯입니다.
탭목록의 class명을 찾아 해당 클래스명과 같은 아이디의 레이어를 보여주게 됩니다.
위젯의 반복문 안에서 구분짓는 변수명을 찾고 있는데 $tab->url이 서로 다른 영문 이름을 출력해주더군요.
(만약 다른 변수명이 있으면 추천 부탁드립니다.)
$tab->url의 경우 출력될 때 도메인명과 함께 해당 게시판의 모듈명이 더해진 url인 http://eond.com/layouts 을 출력합니다.
css나 id의 경우 http:// 이런 게 적용이 안되기 때문에
php의 str_replace 함수를 사용해 http://eond.com/ 도메인 주소를 빈 문자열로 변환해서
layout만 출력이 되도록 처리를 했습니다.
문제는 첫번째로 반복문 안에서 서로 다른 문자열을 출력해줄 수 있으면 그런 변수명을 입력하면 되는데 그걸 못 찾아서 $tab->url로 했습니다.
두번째는
{@ $strrr = str_replace('http://eond.com/','',$tab->url); }
이렇게 str_replace 처리를 반복문 안에서 위와 아래 2번 적어줘야 하더군요.
이런 문제를 해결할 수 있는 방법 없을까요?
댓글 7
-
KANTSOFT
2015.08.10 13:44
-
이온디
2015.08.10 14:48
네, {$document_srl}는 아무 것도 안 뜨네요;;
-
이온디
2015.08.10 17:04
배열의 key값과 value 값 출력은 혹시 어떻게 하는지 알 수 있을까요?;;
-
GG
2015.08.10 14:28
지금 원하시는게 클래스명을 구분하고 싶으신것 맞나요?
그러면 이미 게시판별 module_srl 이 구분되어 있으므로 클래스명을 replace 같은거 하지 않으셔도 class="wdg_{$module_srl}" 등으로 개별 표현하실 수 있을 것 같습니다.
꼭 mid로 표현해야 겠다 싶으시면 $module_srl 을 가지고 mid 를 구하시면 됩니다.
사족으로 클래스명에 class="#wdg_..." 표현은 맞지 않는것 같습니다.
-
이온디
2015.08.10 14:48
{$module_srl}을 하니 0, 1, 2 이렇게만 뜨는데 원래 그런 건가요?;;
-
GG
2015.08.10 15:21
지금 $module_srl 은 이름만 module_srl 일 뿐이지 일종의 $key에 불과하잖아요.
$widget_info->tab 을 루프 돌리는건데 거기에 $module_srl 값이 없나 보죠...
print_r($widget_info) 해보세요.
그중에 module_srl이 어디있는지 확인해 보시고 그걸 뽑아낼 루프를 돌려야 합니다.
-
이온디
2015.08.10 16:46
아 넵 감사합니다.
document_srl 등은 없던가요? 배열의 key값과 value 를 출력해보시면 될듯한대요.