mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-04-15 00:12:43 +09:00
XE tag_list 위젯의 태그를 4개의 단계로 rank를 부여하도록 기능을 변경하고 위젯의 모듈 선택 대상을 1개 이상 가능하도록 하여 1개 선택시 해당 mid로 그렇지 않으면 통합검색을 이용하도록 코드 변경
git-svn-id: http://xe-core.googlecode.com/svn/sandbox@5211 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
parent
31542a73a4
commit
8dade33f8f
3 changed files with 45 additions and 35 deletions
|
|
@ -387,7 +387,7 @@
|
|||
* tail -f ./files/_debug_message.php 하여 계속 살펴 볼 수 있다
|
||||
**/
|
||||
function debugPrint($buff = null, $display_line = true) {
|
||||
if(__DEBUG__ != 0 && __DEBUG_OUTPUT__ === 1) {
|
||||
if(__DEBUG__ != 0 && __DEBUG_OUTPUT__ !== 1) {
|
||||
$debug_file = _XE_PATH_."files/_debug_message.php";
|
||||
$bt = debug_backtrace();
|
||||
if(is_array($bt)) $first = array_shift($bt);
|
||||
|
|
|
|||
|
|
@ -62,22 +62,22 @@
|
|||
<description xml:lang="ru">Вы можете сконфигурировать число тегов для показа. (стандарт: 20)</description>
|
||||
<description xml:lang="zh-TW">可設置要顯示的標籤數。(預設是 20個)</description>
|
||||
</var>
|
||||
<var id="mid">
|
||||
<type>mid</type>
|
||||
<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>
|
||||
<name xml:lang="ru">Модуль назначения</name>
|
||||
<name xml:lang="zh-TW">目標模組</name>
|
||||
<description xml:lang="ko">선택하신 모듈에 등록된 꼬리표를 대상으로 합니다.</description>
|
||||
<description xml:lang="zh-CN">将把被选模块当中的标签作为对象。</description>
|
||||
<description xml:lang="jp">チェックされたモジュールに登録されたタグを対象とします。</description>
|
||||
<description xml:lang="en">Tag list will be shown based on this target module.</description>
|
||||
<description xml:lang="es">Objetivo de la lista de etiquetas será la del módulo seleccionado.</description>
|
||||
<description xml:lang="ru">Список тегов будет показан на основании этого модуля назначения.</description>
|
||||
<description xml:lang="zh-TW">把所選擇的模組作為目標。</description>
|
||||
</var>
|
||||
<var id="mid_list">
|
||||
<type>mid_list</type>
|
||||
<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>
|
||||
<name xml:lang="ru">Модуль назначения</name>
|
||||
<name xml:lang="zh-TW">目標模組</name>
|
||||
<description xml:lang="ko">선택하신 모듈에 등록된 글을 대상으로 합니다.</description>
|
||||
<description xml:lang="zh-CN">将把被选模块当中的主题作为对象。</description>
|
||||
<description xml:lang="jp">チェックされたモジュールに登録されたコンテンツ(書き込み)を対象とします。</description>
|
||||
<description xml:lang="en">The target articles for the newest comments will be the ones submitted in the selected module.</description>
|
||||
<description xml:lang="es">El objetivo de los comentarios recientes serán los comentarios agragados en el módulo selccionado.</description>
|
||||
<description xml:lang="ru">Статьи назначения для последних комментариев будут теми, что были размещены в выбранном модуле.</description>
|
||||
<description xml:lang="zh-TW">將所選擇的模組作為目標。</description>
|
||||
</var>
|
||||
</extra_vars>
|
||||
</widget>
|
||||
</widget>
|
||||
|
|
|
|||
|
|
@ -19,15 +19,9 @@
|
|||
$title = $args->title;
|
||||
$list_count = (int)$args->list_count;
|
||||
if(!$list_count) $list_count = 20;
|
||||
if($args->mid_list) {
|
||||
$tmp_mid = explode(",",$args->mid_list);
|
||||
$mid = $tmp_mid[0];
|
||||
} else {
|
||||
$mid = $args->mid;
|
||||
}
|
||||
|
||||
// TagModel::getTagList()를 이용하기 위한 변수 정리
|
||||
$obj->mid = $mid;
|
||||
$obj->mid = $args->mid_list;
|
||||
$obj->list_count = $list_count;
|
||||
|
||||
// tag 모듈의 model 객체를 받아서 getTagList() method를 실행
|
||||
|
|
@ -35,21 +29,37 @@
|
|||
$output = $oTagModel->getTagList($obj);
|
||||
|
||||
// 템플릿 파일에서 사용할 변수들을 세팅
|
||||
$widget_info->module_name = $mid;
|
||||
|
||||
if(preg_match('/^([0-9a-z\_]+)$/i', $args->mid_list)) $widget_info->mid = $widget_info->module_name = $args->mid_list;
|
||||
$widget_info->title = $title;
|
||||
$widget_info->mid = $mid;
|
||||
|
||||
if(count($output->data)) {
|
||||
|
||||
// 내용을 랜던으로 정렬
|
||||
$numbers = array_keys($output->data);
|
||||
shuffle($numbers);
|
||||
|
||||
foreach($numbers as $k => $v) {
|
||||
$widget_info->tag_list[] = $output->data[$v];
|
||||
$tags = array();
|
||||
$max = 0;
|
||||
$min = 99999999;
|
||||
foreach($output->data as $key => $val) {
|
||||
$tag = trim($val->tag);
|
||||
if(!$tag) continue;
|
||||
$count = $val->count;
|
||||
if($max < $count) $max = $count;
|
||||
if($min > $count) $min = $count;
|
||||
$tags[] = $val;
|
||||
}
|
||||
|
||||
$mid2 = $min+(int)(($max-$min)/2);
|
||||
$mid1 = $mid2+(int)(($max-$mid2)/2);
|
||||
$mid3 = $min+(int)(($mid2-$min)/2);
|
||||
|
||||
foreach($tags as $key => $item) {
|
||||
if($item->count > $mid1) $rank = 1;
|
||||
elseif($item->count > $mid2) $rank = 2;
|
||||
elseif($item->count > $mid3) $rank = 3;
|
||||
else $rank= 4;
|
||||
$tags[$key]->rank = $rank;
|
||||
}
|
||||
shuffle($tags);
|
||||
}
|
||||
$widget_info->tag_list = $tags;
|
||||
|
||||
Context::set('widget_info', $widget_info);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue