탭방식 위젯 추가

git-svn-id: http://xe-core.googlecode.com/svn/sandbox@3056 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
zero 2007-11-23 05:18:21 +00:00
parent b4189996e1
commit 15d04b5744
12 changed files with 538 additions and 1 deletions

View file

@ -0,0 +1,259 @@
<?xml version="1.0" encoding="utf-8"?>
<widget version="0.1">
<title xml:lang="ko">탭 형태 최근 문서 출력</title>
<title xml:lang="zh-CN">탭 형태 최근 문서 출력</title>
<title xml:lang="jp">탭 형태 최근 문서 출력</title>
<title xml:lang="en">Display tab style newest documents</title>
<title xml:lang="es">탭 형태 최근 문서 출력</title>
<author email_address="zero@zeroboard.com" link="http://www.zeroboard.com" date="2007. 2. 28">
<name xml:lang="ko">제로</name>
<name xml:lang="zh-CN">zero</name>
<name xml:lang="jp">Zero</name>
<name xml:lang="en">zero</name>
<name xml:lang="en">zero</name>
<description xml:lang="ko">최근 문서를 탭형태로 출력하는 위젯입니다.</description>
<description xml:lang="zh-CN">최근 문서를 탭형태로 출력하는 위젯입니다.</description>
<description xml:lang="jp">최근 문서를 탭형태로 출력하는 위젯입니다.</description>
<description xml:lang="en">This widget displays newest articles like tab style.</description>
<description xml:lang="es">최근 문서를 탭형태로 출력하는 위젯입니다.</description>
</author>
<extra_vars>
<var id="order_target">
<name xml:lang="ko">정렬 대상</name>
<name xml:lang="zh-CN">排序对象</name>
<name xml:lang="jp">ソート対象</name>
<name xml:lang="en">Target to be sorted</name>
<name xml:lang="en">Objetivo para ser ordenados</name>
<type>select</type>
<description xml:lang="ko">등록된 순서 또는 변경된 순서로 정렬을 할 수 있습니다.</description>
<description xml:lang="zh-CN">可以按照指定的顺序进行排序。</description>
<description xml:lang="jp">登録された順番または変更された順番にソートできます。</description>
<description xml:lang="en">The list of newewst articles may be sorted by submitted order or modified order.</description>
<description xml:lang="es">La lista de los documentos recientes pueden ser ordenados en el orden del agregado o en el de modificados.</description>
<options>
<name xml:lang="ko">최신 등록순</name>
<name xml:lang="zh-CN">最新发表顺</name>
<name xml:lang="jp">最新登録順</name>
<name xml:lang="en">Newest Submitted Order</name>
<name xml:lang="es">Orden de agregados recientemente</name>
<value>list_order</value>
</options>
<options>
<name xml:lang="ko">최근 변경순</name>
<name xml:lang="zh-CN">最新修改顺</name>
<name xml:lang="jp">最近変更順</name>
<name xml:lang="en">Newest Modified Order</name>
<name xml:lang="es">Orden de modificados recientemente</name>
<value>update_order</value>
</options>
</var>
<var id="order_type">
<name xml:lang="ko">정렬 방법</name>
<name xml:lang="zh-CN">排序方式</name>
<name xml:lang="jp">ソートタイプ</name>
<name xml:lang="en">Sorting Type</name>
<name xml:lang="es">Tipo de ordenamiento</name>
<type>select</type>
<description xml:lang="ko">정렬대상을 내림차순 또는 올림차순으로 정렬할 수 있습니다.</description>
<description xml:lang="zh-CN">对其排序对象可进行升序/降序方式排序。</description>
<description xml:lang="jp">ソートタイプを、降順、昇順にソートできます。</description>
<description xml:lang="en">You can sort target articles by asending or desending order.</description>
<description xml:lang="es">Usted puede ordenar los documentos en orden acendente o en orden descendente.</description>
<options>
<name xml:lang="ko">내림차순</name>
<name xml:lang="zh-CN">降序</name>
<name xml:lang="jp">降順</name>
<name xml:lang="en">Desending order</name>
<name xml:lang="es">Orden Descendente</name>
<value>desc</value>
</options>
<options>
<name xml:lang="ko">올림차순</name>
<name xml:lang="zh-CN">升序</name>
<name xml:lang="jp">昇順</name>
<name xml:lang="en">Asending order</name>
<name xml:lang="en">Orden Acendente</name>
<value>asc</value>
</options>
</var>
<var id="duration_new">
<name xml:lang="ko">new 표시 시간 (hours)</name>
<name xml:lang="zh-CN">new图标显示时间(hours)</name>
<name xml:lang="jp">Newの表示時間 (Hours)</name>
<name xml:lang="en">Duration of indication for new item</name>
<type>text</type>
<description xml:lang="ko">새로 등록된 게시물의 new 표시시간을 정할 수 있습니다. (시간 단위)</description>
<description xml:lang="zh-CN">可以设置最新更新主题的new图标显示时间。</description>
<description xml:lang="jp">新しく登録された書き込みに対して「New」の表示時間を指定します時間単位</description>
<description xml:lang="en">You may set the duration of indication for fresh item. (unit is hour)</description>
</var>
<var id="subject_cut_size">
<name xml:lang="ko">제목 글자수</name>
<name xml:lang="jp">タイトルの文字数</name>
<name xml:lang="zh-CN">标题字数</name>
<name xml:lang="en">Length of Subject</name>
<name xml:lang="es">Número de letras del título</name>
<type>text</type>
<description xml:lang="ko">제목 글자수를 지정할 수 있습니다. (0또는 비워주시면 자르지 않습니다)</description>
<description xml:lang="jp">タイトルの文字数が指定できます「0」または空欄の場合は、文字数を制限しません</description>
<description xml:lang="zh-CN">可以设置标题的字数。(0或留空为不限)</description>
<description xml:lang="en">Length of Subject can be assigned. (0 or blank value will not restrict the length)</description>
<description xml:lang="es">El largo del título puede ser asignado. (valor 0 o en blanco no restringe el largo)</description>
</var>
<var id="thumbnail_type">
<name xml:lang="ko">썸네일 생성 방법</name>
<name xml:lang="jp">サムネール生成方法</name>
<name xml:lang="zh-CN">缩略图生成方式</name>
<description xml:lang="ko">썸네일 생성 방법을 선택할 수 있습니다. (crop : 꽉 채우기, ratio : 비율 맞추기)</description>
<description xml:lang="zh-CN">可以选择缩略图生成方式。 (crop : 裁减, ratio : 比例)</description>
<type>select</type>
<options>
<name xml:lang="ko">Crop (채우기)</name>
<name xml:lang="jp">Crop (切り取り)</name>
<name xml:lang="zh-CN">Crop (裁减)</name>
<value>crop</value>
</options>
<options>
<name xml:lang="ko">Ratio (비율 맞추기)</name>
<name xml:lang="jp">Ratio (比率)</name>
<name xml:lang="zh-CN">Ratio (比例)</name>
<value>ratio</value>
</options>
</var>
<var id="thumbnail_width">
<name xml:lang="ko">이미지 가로크기</name>
<name xml:lang="jp">イメージ横幅</name>
<name xml:lang="zh-CN">宽度</name>
<name xml:lang="en">Width of Image</name>
<name xml:lang="es">Ancho de la imagen</name>
<type>text</type>
<description xml:lang="ko">출력될 이미지의 가로크기를 정하실 수 있습니다. (기본 100)</description>
<description xml:lang="jp">表示されるイメージの横幅のサイズを指定することができますデフォルト100</description>
<description xml:lang="zh-CN">可以指定要显示的图片宽度。(默认为100)</description>
<description xml:lang="en">You can set the width of image. (100 as default)</description>
<description xml:lang="es">Usted puede definir el ancho de la imagen. (predefinido:100)</description>
</var>
<var id="thumbnail_height">
<name xml:lang="ko">이미지 세로크기</name>
<name xml:lang="jp">イメージ縦幅</name>
<name xml:lang="zh-CN">高度</name>
<description xml:lang="ko">이미지의 세로 크기를 지정할 수 있습니다. (기본 100px)</description>
<description xml:lang="jp">イメージの立幅サイズを指定します(デフォルト 100px</description>
<description xml:lang="zh-CN">可以指定图片高度。(默认为100px)</description>
<type>text</type>
</var>
<var id="display_author">
<name xml:lang="ko">글쓴이 표시</name>
<name xml:lang="jp">投稿者表示</name>
<name xml:lang="zh-CN">显示昵称</name>
<name xml:lang="en">Display Author</name>
<name xml:lang="es">Mostrar el Autor</name>
<type>select</type>
<description />
<options>
<name xml:lang="ko">표시</name>
<name xml:lang="jp">表示</name>
<name xml:lang="zh-CN">显示</name>
<name xml:lang="en">Show</name>
<name xml:lang="es">Mostrar</name>
<value>Y</value>
</options>
<options>
<name xml:lang="ko">표시하지 않음</name>
<name xml:lang="jp">非表示</name>
<name xml:lang="zh-CN">不显示</name>
<name xml:lang="en">Hide</name>
<name xml:lang="es">Ocultar</name>
<value>N</value>
</options>
</var>
<var id="display_regdate">
<name xml:lang="ko">작성일 표시</name>
<name xml:lang="jp">作成日表示</name>
<name xml:lang="zh-CN">显示发表日期</name>
<name xml:lang="en">Display Registered Date</name>
<name xml:lang="es">Mostrar el día agregado</name>
<type>select</type>
<description />
<options>
<name xml:lang="ko">표시</name>
<name xml:lang="jp">表示</name>
<name xml:lang="zh-CN">显示</name>
<name xml:lang="en">Show</name>
<name xml:lang="es">Mostrar</name>
<value>Y</value>
</options>
<options>
<name xml:lang="ko">표시하지 않음</name>
<name xml:lang="jp">非表示</name>
<name xml:lang="zh-CN">不显示</name>
<name xml:lang="en">Hide</name>
<name xml:lang="es">Ocultar</name>
<value>N</value>
</options>
</var>
<var id="display_readed_count">
<name xml:lang="ko">조회수 표시</name>
<name xml:lang="jp">照合数表示</name>
<name xml:lang="zh-CN">显示查看数</name>
<name xml:lang="en">Display Hit</name>
<name xml:lang="es">Mostrar Ayuda</name>
<description />
<type>select</type>
<options>
<name xml:lang="ko">표시</name>
<name xml:lang="jp">表示</name>
<name xml:lang="zh-CN">显示</name>
<name xml:lang="en">Show</name>
<name xml:lang="es">Mostrar</name>
<value>Y</value>
</options>
<options>
<name xml:lang="ko">표시하지 않음</name>
<name xml:lang="jp">非表示</name>
<name xml:lang="zh-CN">不显示</name>
<name xml:lang="en">Hide</name>
<name xml:lang="es">Ocultar</name>
<value>N</value>
</options>
</var>
<var id="display_voted_count">
<name xml:lang="ko">추천수 표시</name>
<name xml:lang="jp">推薦数表示</name>
<name xml:lang="zh-CN">显示推荐数</name>
<name xml:lang="en">Display Votes</name>
<name xml:lang="es">Mostrar Recomendados</name>
<description />
<type>select</type>
<options>
<name xml:lang="ko">표시</name>
<name xml:lang="jp">表示</name>
<name xml:lang="zh-CN">显示</name>
<name xml:lang="en">Show</name>
<name xml:lang="es">Mostrar</name>
<value>Y</value>
</options>
<options>
<name xml:lang="ko">표시하지 않음</name>
<name xml:lang="jp">非表示</name>
<name xml:lang="zh-CN">不显示</name>
<name xml:lang="en">Hide</name>
<name xml:lang="es">Ocultar</name>
<value>N</value>
</options>
</var>
<var id="mid_list">
<name xml:lang="ko">대상 모듈</name>
<name xml:lang="zh-CN">模块对象</name>
<name xml:lang="jp">モジュール</name>
<name xml:lang="en">Target Module</name>
<name xml:lang="es">Módulo Objetivo</name>
<type>mid_list</type>
<description xml:lang="ko">선택하신 모듈에 등록된 글을 대상으로 합니다.</description>
<description xml:lang="zh-CN">将把被选模块当中的主题作为对象。</description>
<description xml:lang="jp">チェックされたモジュールに登録されたコンテンツ(書き込み)を対象とします。</description>
<description xml:lang="en">The target articles to be sorted will be the ones submitted in the selected module.</description>
<description xml:lang="es">El objetivo de los documentos agregados serán los del módulo selccionado.</description>
</var>
</extra_vars>
</widget>

View file

@ -0,0 +1,15 @@
<query id="getNewestDocuments" action="select">
<tables>
<table name="documents" />
</tables>
<columns>
<column name="*" />
</columns>
<conditions>
<condition operation="equal" column="module_srl" var="module_srl" filter="number" />
</conditions>
<navigation>
<index var="sort_index" default="list_order" order="order_type" />
<list_count var="list_count" default="20" />
</navigation>
</query>

View file

@ -0,0 +1,33 @@
.tabWdiget { overflow:hidden; }
.tabWdiget .tabBox { border-bottom:1px solid #DEDEDE; height:27px; z-index:1; }
.tabWdiget .tabBox a { text-decoration:none; color:#666666; }
.tabWdiget .tab { position:relative; top:1px; border:1px solid #DEDEDE; margin-right:4px; float:left; cursor:pointer; background-color:#FFFFFF; z-index:2; height:25px; }
.tabWdiget .on { position:relative; top:1px; border:1px solid #DEDEDE; border-bottom:1px solid #FFFFFF; margin-right:4px; float:left; cursor:pointer; background-color:#FFFFFF; z-index:2; height:25px; }
.tabWdiget .tab div { float:left; height:15px; border-bottom:5px solid #EEEEEE; font-size:9pt; padding:5px 8px 0 8px; color:#666666; }
.tabWdiget .tab div a { color:#666666; }
.tabWdiget .on div { float:left; height:15px; border-bottom:5px solid #FFFFFF; font-size:9pt; padding:5px 8px 0 8px; color:#000000; }
.tabWdiget .on div a { color:#000000; }
.tabWdiget .tabContent { border:1px solid #DEDEDE; padding:10px; border-top:none; background-color:#FFFFFF; z-index:1;}
.tabWdiget .show { display:block; }
.tabWdiget .hide { display:none; }
.tabWdiget .tabContent table { border:0; width:100%; table-layout:fixed; }
.tabWdiget .tabContent .thumbnail { text-align:center; }
.tabWdiget .tabContent .thumbnail img { border:1px solid #EEEEEE; padding:5px; float:left; }
.tabWdiget .tabContent .titleBox { padding-top:3px; padding-left:10px; color:#888888; }
.tabWdiget .tabContent .titleBox .regdate { font-family:tahoma; font-size:.85em; color:#AAAAAA;}
.tabWdiget .tabContent .titleBox .title { background:url(../images/normal/bullet.gif) no-repeat 3px 6px; padding-left:10px; margin-top:3px; height:20px; white-space:nowrap; overflow:hidden; }
.tabWdiget .tabContent .titleBox .title .comment_cnt { font-weight:normal; font-size:0.8em; color:#F48A23; }
.tabWdiget .tabContent .titleBox .title a { color:#666666; text-decoration:none; }
.tabWdiget .tabContent .titleBox .title a:hover { text-decoration:underline; }
.tabWdiget .tabContent .titleBox .title .author { color:#AAAAAA; }
.tabWdiget .tabContent .titleBox .title .readAndVoted { font-family:tahoma; font-size:.8em; color:#AAAAAA;}
.tabWdiget .tabContent .titleBox .title .readAndVoted .readed { color:#4BC4C8;}
.tabWdiget .tabContent .titleBox .title .readAndVoted .voted { color:#C8A64B;}

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 139 B

View file

@ -0,0 +1,22 @@
function overTab(obj) {
var tab_id = obj.id;
var cObj = obj.parentNode.firstChild;
while(cObj) {
if(cObj.nodeName == "DIV" && cObj.id) {
var cTabID= cObj.id;
if(cTabID.indexOf('tab')<0) continue;
var cContentID = cTabID.replace(/^tab/,'content');
if(tab_id == cTabID) {
cObj.className = "tab on";
xGetElementById(cContentID).className = "tabContent show";
} else {
cObj.className = "tab";
xGetElementById(cContentID).className = "tabContent hide";
}
}
cObj = cObj.nextSibling;
}
}

View file

@ -0,0 +1,64 @@
<!-- 설정된 컬러셋의 종류에 따라서 css파일을 import 합니다 -->
<!--%import("js/tab.js")-->
<!--@if($colorset=="normal"||!$colorset)-->
<!--%import("css/normal.css")-->
<!--@end-->
{@ $_id_prefix = time() }
{@ $_checked = false; }
<div class="tabWdiget">
<div class="tabBox">
<!--@foreach($tab_list as $key => $val)-->
<div class="tab <!--@if(!$_checked)-->on{@ $_checked = true;}<!--@end-->" id="tab_{$_id_prefix}_{$key}" onmouseover="overTab(this);"><div><a href="{getUrl('','mid',$val->mid)}">{$val->browser_title}</a></div></div>
<!--@end-->
<div class="clear"></div>
</div>
{@ $_checked = false; }
<!--@foreach($tab_list as $key => $val)-->
<div class="tabContent <!--@if(!$_checked)-->show{@ $_checked = true;}<!--@else-->hide<!--@end-->" id="content_{$_id_prefix}_{$key}">
{@ $_thumbnail_checked = false; }
<table cellspacing="0">
<tr>
<!--@foreach($val->document_list as $k => $v)-->
<!--@if(!$_thumbnail_checked && $v->thumbnailExists($widget_info->thumbnail_width, $widget_info->thumbnail_height))-->
<td class="thumbnail" width="{$widget_info->thumbnail_width+12}">
<a href="{getUrl('','document_srl',$v->document_srl)}"><img src="{$v->getThumbnail($widget_info->thumbnail_width,$widget_info->thumbnail_height,$widget_info->thumbnail_type)}" border="0" alt="" /></a>
</td>
{@ $_thumbnail_checked = true; }
<!--@end-->
<!--@end-->
<td class="titleBox">
<!--@foreach($val->document_list as $k => $v)-->
<div class="title">
<!--@if($widget_info->display_regdate == 'Y')-->
<span class="regdate">[{$v->getRegdate("m-d")}]</span>
<!--@end-->
<a href="{$v->getPermanentUrl()}#{$v->getCommentCount()}">{$v->getTitleText($widget_info->subject_cut_size)}</a> {$v->printExtraImages($widget_info->duration_new)}
<!--@if($v->getCommentCount())--><span class="comment_cnt">*{$v->getCommentCount()}</span><!--@end-->
<!--@if($widget_info->display_author == 'Y')-->
<span class="author">by {$v->getNickName()}</span>
<!--@end-->
<!--@if($widget_info->display_readed_count == 'Y' || $widget_info->display_voted_count == 'Y' )-->
<span class="readAndVoted">
(<!--@if($widget_info->display_readed_count == 'Y')--><span class="readed">{$v->get('readed_count')}</span><!--@end--><!--@if($widget_info->display_voted_count == 'Y' && $v->get('voted_count')>0 )--><!--@if($widget_info->display_readed_count == 'Y')-->/ <!--@end--><span class="voted">{$v->get('voted_count')}</span><!--@end-->)
</span>
<!--@end-->
</div>
<!--@end-->
</td>
</tr>
</table>
<div class="clear"></div>
</div>
<div class="clear"></div>
<!--@end-->
</div>

View file

@ -0,0 +1,25 @@
<?xml version="1.0" encoding="utf-8"?>
<skin>
<title xml:lang="ko">웹진형 최근글 출력 기본 스킨</title>
<title xml:lang="jp">웹진형 최근글 출력 기본 스킨</title>
<title xml:lang="zh-CN">웹진형 최근글 출력 기본 스킨</title>
<title xml:lang="en">Display newest documents like webzine style</title>
<maker email_address="zero@zeroboard.com" link="http://www.zeroboard.com" date="2007. 11. 22">
<name xml:lang="ko">제로</name>
<name xml:lang="jp">Zero</name>
<name xml:lang="zh-CN">Zero</name>
<name xml:lang="en">Zero</name>
<description xml:lang="ko">글 목록과 이미지가 같이 출력되는 웹진형 스킨입니다. 이미지가 있는 글들만 노출이 됩니다.</description>
<description xml:lang="jp">글 목록과 이미지가 같이 출력되는 웹진형 스킨입니다. 이미지가 있는 글들만 노출이 됩니다.</description>
<description xml:lang="zh-CN">글 목록과 이미지가 같이 출력되는 웹진형 스킨입니다. 이미지가 있는 글들만 노출이 됩니다.</description>
<description xml:lang="en">글 목록과 이미지가 같이 출력되는 웹진형 스킨입니다. 이미지가 있는 글들만 노출이 됩니다.</description>
</maker>
<colorset>
<color name="normal">
<title xml:lang="ko">기본 컬러</title>
<title xml:lang="jp">デフォルトカラー</title>
<title xml:lang="zh-CN">默认颜色</title>
<title xml:lang="en">Default Color</title>
</color>
</colorset>
</skin>

View file

@ -0,0 +1,119 @@
<?php
/**
* @class tab_newest_document
* @author zero (zero@nzeo.com)
* @brief 다중 모듈 선택시 형식으로 표시
* @version 0.1
**/
class tab_newest_document extends WidgetHandler {
/**
* @brief 위젯의 실행 부분
*
* ./widgets/위젯/conf/info.xml 선언한 extra_vars를 args로 받는다
* 결과를 만든후 print가 아니라 return 해주어야 한다
**/
function proc($args) {
// 정렬 대상
$widget_info->order_target = $args->order_target;
if(!in_array($widget_info->order_target, array('list_order','update_order'))) $widget_info->order_target = 'list_order';
// 정렬 순서
$widget_info->order_type = $args->order_type;
if(!in_array($widget_info->order_type, array('asc','desc'))) $widget_info->order_type = 'asc';
// 글자 제목 길이
$widget_info->subject_cut_size = (int)$args->subject_cut_size;
// 목록 수
$widget_info->list_count = $args->list_count;
if(!$widget_info->list_count) $widget_info->list_count = 5;
// 썸네일 생성 방법
$widget_info->thumbnail_type = $args->thumbnail_type;
if(!$widget_info->thumbnail_type) $widget_info->thumbnail_type = 'crop';
// 썸네일 가로 크기
$widget_info->thumbnail_width = (int)$args->thumbnail_width;
if(!$widget_info->thumbnail_width) $widget_info->thumbnail_width = 100;
// 썸네일 세로 크기
$widget_info->thumbnail_height = (int)$args->thumbnail_height;
if(!$widget_info->thumbnail_height) $widget_info->thumbnail_height = 100;
// 노출 여부 체크
if($args->display_author!='Y') $widget_info->display_author = 'N';
else $widget_info->display_author = 'Y';
if($args->display_regdate!='Y') $widget_info->display_regdate = 'N';
else $widget_info->display_regdate = 'Y';
if($args->display_readed_count!='Y') $widget_info->display_readed_count = 'N';
else $widget_info->display_readed_count = 'Y';
if($args->display_voted_count!='Y') $widget_info->display_voted_count = 'N';
else $widget_info->display_voted_count = 'Y';
// 최근 글 표시 시간
$widget_info->duration_new = (int)$args->duration_new * 60 * 60;
if(!$widget_info->duration_new) $widget_info->duration_new = 12 * 60 * 60;
// 대상 모듈 정리
$mid_list = explode(",",$args->mid_list);
// 템플릿 파일에서 사용할 변수들을 세팅
if(count($mid_list)==1) $widget_info->module_name = $mid_list[0];
// mid에 해당하는 module_srl을 구함
$oModuleModel = &getModel('module');
$oDocumentModel = &getModel('document');
$module_srl_list = $oModuleModel->getModuleSrlByMid($mid_list);
if(is_array($module_srl_list)) $obj->module_srls = implode(",",$module_srl_list);
else $obj->module_srls = $module_srl_list;
// 모듈 목록을 구함
$tab_list = $oModuleModel->getMidList($obj);
if(!$tab_list || !count($tab_list)) return;
// 각 모듈에 해당하는 문서들을 구함
$obj = null;
$obj->list_count = $widget_info->list_count;
$obj->sort_index = $widget_info->order_target;
$obj->order_type = $widget_info->order_type=="desc"?"asc":"desc";
foreach($tab_list as $key => $value) {
$mid = $key;
$module_srl = $value->module_srl;
$browser_title = $value->browser_title;
$obj->module_srl = $module_srl;
$output = executeQuery("widgets.tab_newest_document.getNewestDocuments", $obj);
unset($data);
if($output->data && count($output->data)) {
foreach($output->data as $k => $v) {
$oDocument = null;
$oDocument = $oDocumentModel->getDocument();
$oDocument->setAttribute($v);
$data[$k] = $oDocument;
}
} else {
$data = array();
}
$tab_list[$key]->document_list = $data;
}
Context::set('widget_info', $widget_info);
Context::set('tab_list', $tab_list);
// 템플릿의 스킨 경로를 지정 (skin, colorset에 따른 값을 설정)
$tpl_path = sprintf('%sskins/%s', $this->widget_path, $args->skin);
Context::set('colorset', $args->colorset);
// 템플릿 파일을 지정
$tpl_file = 'list';
// 템플릿 컴파일
$oTemplate = &TemplateHandler::getInstance();
return $oTemplate->compile($tpl_path, $tpl_file);
}
}
?>