Подскажите
| ATCnik |
|
|---|---|
|
Привет всем, господа, какой код нужно использовать, что бы был автоматический подсчёт определённого слова в облаке тегов.
Вот к примеру тут, вы видете вверху картинки которые привязаны к облаку тегов, наводя на них, вы видете кол-во встречающихся тегов, вот как сделать что бы это кол-во подсчитывалось автоматически? |
| Trustmaster |
|
|---|---|
|
А он ведётся, просто вывод не организован. Скажем, берём нужный кусок кода плагина tags, который выводит облако. Например, в tags.index.php:
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' : '';
foreach($tc_styles as $key => $val)
{
if($cnt <= $key)
{
$dim = $val;
break;
}
}
$tc_html .= '<a href="'.sed_url('plug', 'e=tags&a='.$cfg['plugin']['tags']['index'].'&t='.$tag_u.$tl)
.'" class="'.$dim.'">'.htmlspecialchars($tag_t).'</a> ';
}May the Source be with you!
|
| Evil |
|
|---|---|
# Trustmaster : Вот здесь в $tc_html вполне можно использовать $cnt - счётчик для текущего тега.Так будет верна вставка? 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' : '';
foreach($tc_styles as $key => $val)
{
if($cnt <= $key)
{
$dim = $val;
break;
}
}
$tc_html .= '<a href="'.sed_url('plug', 'e=tags&a='.$cfg['plugin']['tags']['index'].'&t='.$tag_u.$tl)
.'" class="'.$dim.'">'.htmlspecialchars($tag_t).' ('$cnt')</a> ';
} |
| ATCnik |
|
|---|---|
# Trustmaster : А он ведётся, просто вывод не организован. Скажем, берём нужный кусок кода плагина tags, который выводит облако. Например, в tags.index.php:За это спасибо, но если бы ещё и описание было, что куда вставлять, вам бы цены не было. |
| Trustmaster |
|
|---|---|
|
$cnt - эта переменная содержит значение счётчика (число). Строчка с $tc_html формирует вывод каждого отдельного тега. Скажем мы хотим, чтобы счётчик показывался при наведении на ссылку, поэтому поместим счётчик в атрибут title:
$tc_html .= '<a title="'.$cnt.'" href="'.sed_url('plug', 'e=tags&a='.$cfg['plugin']['tags']['index'].'&t='.$tag_u.$tl)
.'" class="'.$dim.'">'.htmlspecialchars($tag_t).'</a> ';May the Source be with you!
|
| ATCnik |
|
|---|---|
|
Странно, я заменил как вы сказали, у меня не прозошло абсолютно никаких изменений.
Правдо я думал теги будут работать по другому принципу, например: <a href=http://sait.ru/plug.php?e=tags&a=pages&t=TEST&tl=1> 13 совпадений </a> |
| Trustmaster |
|
|---|---|
|
Вам не надо выводить сам тег, а только число совпадений? Тогда нечто вроде
$tc_html .= '<a href="'.sed_url('plug', 'e=tags&a='.$cfg['plugin']['tags']['index'].'&t='.$tag_u.$tl)
.'" class="'.$dim.'">'.$cnt.' совпадений</a> ';May the Source be with you!
|
| ATCnik |
|
|---|---|
|
По всей видимости мы друг друга не понимаем.
Вы немножко не поняли что мне требуется. Мне надо что бы число определённых тегов считалось автоматически, тоесть к примеру у меня на сайте страничек с тегом "Ухты" 7 штучек, и мне надо что бы число 7 отображалось в теге <title="">. Как показано тут, при наведении на картинки (при помощи тега title="", выскакивает некое описание, и тут как раз таки требуется число этих уникальных тегов). Вот я не знаю как это дело реализовать. |
| Trustmaster |
|
|---|---|
|
Почему-то в упор не вижу на той страничке облако тегов. Можно скриншот?
May the Source be with you!
|
| ATCnik |
|
|---|---|
|
Вот посмотрите:
На данный момент мой скрипт выглядит так: <a href=ссылка на тег(тоесть выделяю определённое слово тег и копирю ссылку на него, и при нажатие получается тоже самое что я бы в плагине таг набрал тоже самое ключевое слово.) title="Иван Иванович Евдокентий <br> 121 видео"><img src=></a> Вот более понятный скрин, что происходит при нажатии: Дак вот, и вот это число которое находится в титле (121 видео), это то самое число которое надо что бы изменялось автоматически, на количество этих ключевых слов (например слов Иван Иванович Евдокентий). Может есть более простой способ, и я пытаюсь придумать велосипед? ![]() |
| Trustmaster |
|
|---|---|
|
Ну так если речь об облаке тегов, то код из поста #5 должен сработать: при наведении на тег в облаке всплывает подсказка с количеством статей, отмеченных этим тегом. Если код в правильном месте отредактирован, конечно.
Или речь идёт о том, чтобы в произвольном месте (в шапке, скажем) узнать число вхождений для нужного тега? May the Source be with you!
|
| ATCnik |
|
|---|---|
|
Да, вы меня поняли, речь идёт о произвольном месте (иммено в шапке) узнать число/кол-во нужного тега.
После того как изменил всё что описано в 5-ом посте, при наведении ничего не произошло: Может я что то не то делаю, а может версия движка на это влияет? Добавлено 2 Минуты спустя: На всяий случай выкладую всё содержимое моего tags.index.php Вдруг у меня там ошибка, или что то не дописал, вообщем вам как профи веднее. if (!defined('SED_CODE')) { die('Wrong URL.'); }
if($cfg['plugin']['tags']['pages'])
{
require_once sed_langfile('tags');
require_once $cfg['plugins_dir'].'/tags/inc/config.php';
$limit = $cfg['plugin']['tags']['lim_index'] == 0 ? null : (int) $cfg['plugin']['tags']['lim_index'];
$tcloud = sed_tag_cloud('pages', $cfg['plugin']['tags']['order'], $limit);
$tc_html = '<div 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' : '';
foreach($tc_styles as $key => $val)
{
if($cnt <= $key)
{
$dim = $val;
break;
}
}
$tc_html .= '<a title="'.$cnt.'" href="'.sed_url('plug', 'e=tags&a='.$cfg['plugin']['tags']['index'].'&t='.$tag_u.$tl)
.'" class="'.$dim.'">'.htmlspecialchars($tag_t).'</a> ';
}
if($cfg['plugin']['tags']['more'] && $limit > 0)
{
$tc_html .= '<hr /><a class="more" href="'.sed_url('plug', 'e=tags&a=pages').'">'.$L['tags_All'].'</a>';
}
$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']
));
}
?>Добавлено 1 день спустя: Господа, неужели никто не знает как это сделать ? ![]()
This post was edited by ATCnik (2009-08-24 07:29, 16 years ago)
|
| Trustmaster |
|
|---|---|
|
Можно написать маленький плагинчик, который будет получать статистику по нужным тегам для шапки. А теги указать в конфигурации.
May the Source be with you!
|
| ATCnik |
|
|---|---|
|
Увы, новичку плагин написать будет не легко, ну что ж, не унываю, попытаюсь
Спасибо ![]() |