Подскажите
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 день спустя: Господа, неужели никто не знает как это сделать ? ![]() |
|
Dieser Beitrag wurde von ATCnik (am 24. August 2009, 07:29, vor 15 Jahre) bearbeitet |
Trustmaster |
|
---|---|
Можно написать маленький плагинчик, который будет получать статистику по нужным тегам для шапки. А теги указать в конфигурации.
May the Source be with you!
|
ATCnik |
|
---|---|
Увы, новичку плагин написать будет не легко, ну что ж, не унываю, попытаюсь
![]() Спасибо ![]() |