반응형
폴더명 부분은 위젯 폴더 이름입니다.
폴더명.class.php
conf/info.xml 에서 선언한 extra_vars를 args로 받은 후 처리 합니다.
결과는 Context::set 으로 돌려주어 skin/스킨이름/폴더명.html 파일에서 사용됩니다.
예제
위젯 편집 페이지에서 입력받은 제목 값($args->title)을 obj변수($obj->title)로 받은 후,
Context::set에서 obj로 값을 돌려줍니다.
conf/info.xml
var에서 지정된 변수 값은 폴더명.class.php 파일에서 args 변수로 넘어갑니다.
type이 text이면 INPUT 폼을, select이면 SELECT폼을 출력합니다.
폴더명.class.php
conf/info.xml 에서 선언한 extra_vars를 args로 받은 후 처리 합니다.
결과는 Context::set 으로 돌려주어 skin/스킨이름/폴더명.html 파일에서 사용됩니다.
예제
위젯 편집 페이지에서 입력받은 제목 값($args->title)을 obj변수($obj->title)로 받은 후,
Context::set에서 obj로 값을 돌려줍니다.
<?php
class 폴더명 extends WidgetHandler {
function proc($args) {
// 템플릿 파일에서 사용할 변수들을 세팅
$obj->title = $args->title;
$obj->list = $args->list;
// 템플릿의 스킨 경로를 지정 (skin, colorset에 따른 값을 설정)
$tpl_path = sprintf('%sskins/%s', $this->widget_path, $args->skin);
Context::set('colorset', $args->colorset);
$tpl_file = '폴더명';
Context::set('obj', $obj);
// 템플릿 컴파일
$oTemplate = &TemplateHandler::getInstance();
return $oTemplate->compile($tpl_path, $tpl_file);
}
}
?>
class 폴더명 extends WidgetHandler {
function proc($args) {
// 템플릿 파일에서 사용할 변수들을 세팅
$obj->title = $args->title;
$obj->list = $args->list;
// 템플릿의 스킨 경로를 지정 (skin, colorset에 따른 값을 설정)
$tpl_path = sprintf('%sskins/%s', $this->widget_path, $args->skin);
Context::set('colorset', $args->colorset);
$tpl_file = '폴더명';
Context::set('obj', $obj);
// 템플릿 컴파일
$oTemplate = &TemplateHandler::getInstance();
return $oTemplate->compile($tpl_path, $tpl_file);
}
}
?>
conf/info.xml
var에서 지정된 변수 값은 폴더명.class.php 파일에서 args 변수로 넘어갑니다.
type이 text이면 INPUT 폼을, select이면 SELECT폼을 출력합니다.
<?xml version="1.0" encoding="utf-8"?>
<widget version="0.1">
<title xml:lang="ko">제목</title>
<author email_address="이메일" link="홈페이지" date="만든 날짜">
<name xml:lang="ko">제작자</name>
<description xml:lang="ko">설명</description>
</author>
<extra_vars>
<var id="title">
<name xml:lang="ko">좌측 설명</name>
<type>text</type>
<description xml:lang="ko">폼 하단 설명</description>
</var>
<var id="list">
<name xml:lang="ko">좌측 설명</name>
<type>select</type>
<description xml:lang="ko">하단 설명</description>
<options>
<name xml:lang="ko">목록</name>
<value>값</value>
</options>
</var>
</extra_vars>
</widget>
<widget version="0.1">
<title xml:lang="ko">제목</title>
<author email_address="이메일" link="홈페이지" date="만든 날짜">
<name xml:lang="ko">제작자</name>
<description xml:lang="ko">설명</description>
</author>
<extra_vars>
<var id="title">
<name xml:lang="ko">좌측 설명</name>
<type>text</type>
<description xml:lang="ko">폼 하단 설명</description>
</var>
<var id="list">
<name xml:lang="ko">좌측 설명</name>
<type>select</type>
<description xml:lang="ko">하단 설명</description>
<options>
<name xml:lang="ko">목록</name>
<value>값</value>
</options>
</var>
</extra_vars>
</widget>
skin/스킨이름/폴더명.html
Context::set 로 지정한 변수 값을 받아서 출력합니다.
예제
<div>제목: {$obj->title}</div>
<div>목록: {$obj->list}</div>
<div>목록: {$obj->list}</div>
반응형