Browse Source

TAG生成显示平均数以上的

tags/6.0.0
tianya 3 years ago
parent
commit
a357e00144
3 changed files with 11 additions and 13 deletions
  1. +3
    -2
      src/dede/makehtml_taglist_action.php
  2. +3
    -1
      src/dede/templets/makehtml_taglist.htm
  3. +5
    -10
      src/include/taglib/tag.lib.php

+ 3
- 2
src/dede/makehtml_taglist_action.php View File

@@ -28,13 +28,14 @@ if ($tagid > 0) {
}
$allfinish = false; // 是否全部完成

$dd = $dsql->GetOne("SELECT ROUND(AVG(total)) as tt FROM `#@__tagindex`"); // 取一个平均

if ($upall == 1 && $ctagid == 0) {
$rr = $dsql->GetOne("SELECT * FROM `#@__tagindex` WHERE mktime <> uptime LIMIT 1");
$rr = $dsql->GetOne("SELECT * FROM `#@__tagindex` WHERE mktime <> uptime AND total > {$dd['tt']} LIMIT 1");
if (!empty($rr) && count($rr) > 0) {
$ctagid = $rr['id'];
} else {
$allfinish = true;

}
}



+ 3
- 1
src/dede/templets/makehtml_taglist.htm View File

@@ -25,7 +25,8 @@
<td width="300" valign="top" bgcolor="#FFFFFF">选择TAG:</td>
<td width="377" valign="top" bgcolor="#FFFFFF">
<?php
$sql="select * from #@__tagindex order by tag asc";
$dd = $dsql->GetOne("SELECT ROUND(AVG(total)) as tt FROM `#@__tagindex`"); // 取一个平均
$sql="select * from #@__tagindex where total > {$dd['tt']} order by tag asc";
$dsql->Execute('al',$sql);
echo "<select name='tagid' style='width:300px'>\r\n";
if($tid == 0) echo "<option value='0' selected='1'>更新所有TAG...</option>\r\n";
@@ -47,6 +48,7 @@
<tr>
<td height="20" valign="top" bgcolor="#FFFFFF">说明:</td>
<td height="20" valign="top" bgcolor="#FFFFFF">
仅更新文档数多于<?php echo $dd['tt'];?>的关键词<br>
更新所有TAG将会智能更新在[TAG标签管理]中重新获取更新的内容<br>
TAG首页模板文件:<?php echo $cfg_templets_dir;?>/<?php echo $cfg_df_style?>/tag.htm<br>
TAG列表页模板文件:<?php echo $cfg_templets_dir;?>/<?php echo $cfg_df_style?>/taglist.htm<br>


+ 5
- 10
src/include/taglib/tag.lib.php View File

@@ -43,6 +43,7 @@ function lib_tag(&$ctag, &$refObj)
$num = $row;
$addsql = '';
$dd = $dsql->GetOne("SELECT ROUND(AVG(total)) as tt FROM `#@__tagindex`"); // 取一个平均
if ($getall == 0 && isset($refObj->Fields['tags']) && !empty($refObj->Fields['aid'])) {
$dsql->SetQuery("SELECT tid FROM `#@__taglist` WHERE aid = '{$refObj->Fields['aid']}' ");
@@ -52,12 +53,12 @@ function lib_tag(&$ctag, &$refObj)
$ids .= ($ids == '' ? $row['tid'] : ',' . $row['tid']);
}
if ($ids != '') {
$addsql = " WHERE id IN($ids) ";
$addsql = " WHERE id IN($ids) AND total >= {$dd['tt']}";
}
if ($addsql == '') return '';
} else {
if (!empty($typeid)) {
$addsql = " WHERE typeid='$typeid' ";
$addsql = " WHERE typeid='$typeid' AND total >= {$dd['tt']}";
}
}
@@ -68,6 +69,7 @@ function lib_tag(&$ctag, &$refObj)
else if ($ltype == 'total') $orderby = ' total DESC ';
else $orderby = 'addtime DESC ';
$dsql->SetQuery("SELECT * FROM `#@__tagindex` $addsql ORDER BY $orderby LIMIT 0,$num");
$dsql->Execute();
@@ -83,14 +85,7 @@ function lib_tag(&$ctag, &$refObj)
$row['link'] = $cfg_cmsurl . "/tags.php?/" . urlencode($row['keyword']) . "/";
}
$row['highlight'] = 0;
if ($row['monthcc'] > 1000 || $row['weekcc'] > 300) {
$row['highlight'] = mt_rand(3, 4);
} else if ($row['count'] > 3000) {
$row['highlight'] = mt_rand(5, 6);
} else {
$row['highlight'] = mt_rand(1, 2);
}
$row['highlight'] = mt_rand(1, 10);
foreach ($ctp->CTags as $tagid => $ctag) {
if (isset($row[$ctag->GetName()])) {
$ctp->Assign($tagid, $row[$ctag->GetName()]);


Loading…
Cancel
Save