묻고답하기
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
1.7 버전 콘텐츠 위젯 만들기
2013.11.19 12:27
안녕하세요
제가 레이아웃 작업용으로 content 위젯을 하나 따로 만들려고 하고 있습니다.
작업을 위해서 1.7버전 기본으로 들어있는 content 위젯을 폴더를 복사해서 이름만 바꾸고
conf/info.xml 에서 일단 확인할 수 있게 위젯 이름만 바꿔주고 업로드후 코드생성을 했습니다.
그런데 먹통이네요...전혀 아무것도 불러오지 않는군요.
이상해서 그냥 기본 content 위젯으로 코드생성하니 잘만 됩니다.
기본 콘텐트 위젯을 그대로 복사했을 뿐인데, 왜 작동을 안하는지 이해가 안가네요.
아시는 분 없으신가요?
제가 구글링으로 검색해보니 아래와 같은 추가 수정이 더 필요하군요.
이런 기초적인 것도 몰랐던 저의 바보같은 실수지만, 혹시나 저 같이 시행착오를 겪으실 분들이 있을까 해서 자체적으로 답변 남깁니다.
위젯 폴더명을 바꾸시면 다음과 같은 수정이 따로 필요합니다.
1. 클래스 파일 이름 수정
기본 콘텐트 위젯을 기본으로 설명하면, 기본 콘텐츠 위젯 안에 content.class.php 라는 파일이 있습니다.
맨 앞에 오는 content 가 위젯 이름입니다.
이 위젯 이름 부분을 "폴더명과 같게" 만들어 주어야 합니다.
폴더이름.class.php 와 같이 되어야 합니다.
폴더이름과 위젯이름이 같아야 하고, 클래스 파일에서도 같아야 하는것 같습니다.
2. class.php 파일 내용 수정
파일 이름을 수정하셨으면 그 클래스 파일을 열어보세요. 맨 위에 주석처리된 부분 사이에 다음과 같은 부분이 있을 것입니다.
"class content extends WidgetHandler "
여기서 class 다음에 오는 "content" 를 폴더 이름과 같게 만들어 주어야 합니다.
class 폴더이름 extends WidgetHandler
위와 같이 되어야 합니다.
/**
* @class im_content
* @author NHN (developers@xpressengine.com)
* @brief widget to display content
* @version 0.1
*/
class content extends WidgetHandler
(이 부분 입니다 여기 content를 폴더이름과 같게 만들어 주세요.)
{
/**
* @brief Widget handler
*
* Get extra_vars declared in ./widgets/widget/conf/info.xml as arguments
* After generating the result, do not print but return it.
*/