| Ratibor |
|
|---|---|
# Sergeich : Не понимаю, почему нельзя делать сортировку?Прочитай еще раз мои посты и вникнись. Повторяю еще раз для любителей крупной бронитехники: Мне по барабану, нужны мои переделки кому то или нет, я их зделал для себя, и если они кому-то из числа вменяемых нужны, то они переделают и я буду рад тому что смог кому-то помочь, а кому не нужны, то на нет и суда нет. В общем еще внес некоторые поправки: В functions.php найти function sed_tag_cloud и заменить ее на эту: function sed_tag_cloud($area = 'pages', $order = 'tag', $limit = null)
{
global $db_tag_references;
$res = array();
$limit = is_null($limit) ? '' : ' LIMIT ' . $limit;
$sql = sed_sql_query("SELECT `tag`, COUNT(*) AS `cnt`
FROM $db_tag_references
WHERE tag_area = '$area'
GROUP BY `tag`
ORDER BY RAND() $limit");
while($row = sed_sql_fetchassoc($sql))
{
$res[$row['tag']] = $row['cnt'];
}
sed_sql_freeresult($sql);
return $res;
}
Далее tags.index.php заменить на этот: if (!defined('SED_CODE')) { die('Wrong URL.'); }
if($cfg['plugin']['tags']['pages'])
{
require_once(sed_langfile('tags'));
$tcloud = sed_tag_cloud('pages', $cfg['plugin']['tags']['order']);
$tc_html = '<div align="justify">';
foreach($tcloud as $tag => $cnt)
{
$tag_count++;
$tag_t = $cfg['plugin']['tags']['title'] ? sed_tag_title($tag) : $tag;
$tag_u = sed_urlencode($tag, $cfg['plugin']['tags']['translit']);
$tl = $lang != 'en' && $tag_u != urlencode($tag) ? '&tl=1' : '';
if ($cnt<=1) { $dim = "xs"; }
else if ($cnt<=5) { $dim = "s"; }
else if ($cnt<=20) { $dim = "m"; }
else if ($cnt<=50) { $dim = "l"; }
else { $dim = "xl"; }
$tc_html .= '<span style="padding: 0 2px;" class="'.$dim.'"><a href="'.sed_url('plug', 'e=tags&a=pages&t='.$tag_u.$tl).'">'.sed_cc($tag_t).'</a></span>';
}
$tc_html .= '</div>';
$tc_html = ($tag_count > 0) ? $tc_html : $L['tags_Tag_cloud_none'];
$t->assign(array(
'INDEX_TAG_CLOUD' => $tc_html,
'INDEX_TOP_TAG_CLOUD' => $L['tags_Tag_cloud']
));
}
далее в ваш *.css дописать: /* Tags */
.xs {font-size:12px;color:#c4c4c4;}
.xs:hover {font-size:12px;color:#000;}
.s{font-size:14px;color:#336699;}
.s:hover {font-size:14px;color:#000;}
.m {font-size:16px;color:#A0522D;}
.m:hover {font-size:16px;color:#000;}
.l {font-size:18px;color:#B0C4DE;}
.l:hover {font-size:18px;color:#000;}
.xl {font-size:20px;color:#aad815;}
.xl:hover {font-size:20px;color:#000;}
Теперь нет никакой жабы и можно гибко настраивать цвет и размер тэгов, а также идет случайная выборка тэгов. Кому нужна сортировка, то tags.index.php заменить на этот: if (!defined('SED_CODE')) { die('Wrong URL.'); }
if($cfg['plugin']['tags']['pages'])
{
require_once(sed_langfile('tags'));
$tcloud = sed_tag_cloud('pages', $cfg['plugin']['tags']['order']);
$tc_html = '<div align="justify" class="tag_cloud">';
foreach($tcloud as $tag => $cnt)
{
$tag_count++;
$tag_t = $cfg['plugin']['tags']['title'] ? sed_tag_title($tag) : $tag;
$tag_u = sed_urlencode($tag, $cfg['plugin']['tags']['translit']);
$tl = $lang != 'en' && $tag_u != urlencode($tag) ? '&tl=1' : '';
if ($cnt<=1) { $dim = "xs"; }
else if ($cnt<=5) { $dim = "s"; }
else if ($cnt<=20) { $dim = "m"; }
else if ($cnt<=50) { $dim = "l"; }
else { $dim = "xl"; }
$tc_html .= '<span style="padding: 0 2px;" class="'.$dim.'"><a href="'.sed_url('plug', 'e=tags&a=pages&t='.$tag_u.$tl).'">'.sed_cc($tag_t).'</a></span>';
}
$tc_html .= '</div><script type="text/javascript" src="'.$cfg['plugins_dir'].'/tags/js/jquery.tinysort.js"></script><script type="text/javascript" src="'.$cfg['plugins_dir'].'/tags/js/set.js"></script>';
$tc_html = ($tag_count > 0) ? $tc_html : $L['tags_Tag_cloud_none'];
$t->assign(array(
'INDEX_TAG_CLOUD' => $tc_html,
'INDEX_TOP_TAG_CLOUD' => $L['tags_Tag_cloud']
));
}
добавить из архива выше файл jquery.tinysort.js и заменить содержимое set.js на это: $(".tag_cloud").find("span").tsort({order:"asc"});
P.S. По этому же принципу можно переделать вывод тэгов и в других местах. P.P.S. Для ленивых ![]() Готовый плагин, теперь в настройках выбирается нужна или нет сортировка. Остается только внести изменения в functions.php и ваш *.css Переделан только tags.index.php, остальные можете переделать сами. Если кто не может сам, скажите, я переделаю. Не задавай глупых вопросов, не услышишь вранья.
Dieser Beitrag wurde von Ratibor (am 11. Februar 2009, 21:13, vor 16 Jahre) bearbeitet |