Не нравятся результаты поиска? Попробуйте другой поиск!
dle-faq.ru FAQ (все вопросы) Общие вопросы Изменить вывод тегов

Изменить вывод тегов


     04.05.2013    Общие вопросы, Общие вопросы по PHP, Хаки    7113

вопрос
Подскажи, как можно отредактировать вывод "Облака тегов"?
Для примера привожу, то что должно получиться
Изменить вывод тегов

Сейчас это выводится, как слова расположенные в алфавитном порядке друг за другом.

Ответил: Sander


Открыть файл engine/modules/tagscloud.php
Во второй половине файла найти строку:
if (trim($value['tag']) != "" ) {

Сразу после нее вставить:
$last_symb = strtoupper(substr($value['tag'],0,1));

Для UTF-8:
$last_symb = mb_strtoupper(mb_substr($value['tag'],0,1,$config['charset']),$config['charset']);


Чуть ниже найти код, 2 шт:
$tags[] = "<a href

Оба заменить на
$tags[$last_symb][] = "<a href


И еще ниже, после цикла, найти строку:
$tags = implode(", ", $tags);

Заменить на:
        $list = "";
        foreach($tags as $k=>$v){
            $list .= "\n<h3>{$k}</h3>\n\n".implode(", ", $v);
        }
        $tags = $list;

Пример полученного:
https://dle-faq.ru/?do=tags

Комментарии пользователей (16)

rashpil
33

232 | 182

rashpil - 6 мая 2013 09:45 - Эксперт

Я в подобной ситуации из запроса к БД создавал массив. Ключами к которому были номера букв в таблице аски, а элементами массивы с данными. И получалось у меня 2 цикла. Могу написать такое тебе, но за денежку 419694531

nowheremany
192

1659 | 1292

nowheremany - 6 мая 2013 10:51 - Эксперт

Запрос лишний, а цикл -да, по любому ещё один делать по первым символам

Благодарность принимаю тут Связь

snake2010
2

snake2010 - 6 мая 2013 16:26 - Юзер

Sander спасибо большое за ответ. В связи с этим появился новый вопрос по теме. На сколько сильно этот Хак нагружает сервер? Я заметил по Вашей ссылке, уж очень сильно тормозит страница. Если бы был выбор сделать так как предлагаете Вы или усложнить себе задачу и сделать такую же страницу вручную, то чему отдать предпочтение?

Sander
1125

1637 | 1202

Sander - 6 мая 2013 17:04 - Эксперт

Именно этот хак вообще не нагружает страницу.

SanDev.pro - мой блог.

ICQ: 404-037-556
Skype: Sander8804

snake2010
2

snake2010 - 6 мая 2013 17:40 - Юзер

Sander - это здорово, но все же Ваша страница заметно тормозит. Надеюсь это никак не связано с данным Хаком. Проверю на себе :) В заключении к Вам есть еще два маленьких вопроса по теме.
1. Возможно ли слова "Облако тегов" поменять на свои? - пробывал менять, то что возможно, не получилось.
2. Как убрать всплывающее окошко с количеством тегов?
Заранее благодарен.

Sander
1125

1637 | 1202

Sander - 6 мая 2013 18:46 - Эксперт

Моя страница - это которая? Наибольшую нагрузку данный хак создает на мозг администратора в процессе установки. Все остальные торможения - это лишь остаточные колебания.
1. Откройте файл шаблона tagscloud.tpl и там меняйте. После изменений нужно очистить кеш.
2. в коде удалить
 title=\"".$lang['tags_count']." ".$value['count']."\"

SanDev.pro - мой блог.

ICQ: 404-037-556
Skype: Sander8804

Gopr
10

494 | 164

Gopr - 8 января 2014 22:32 - Юзер

Поправьте ответ!
В самом низу после Заменить на: пусто а должно быть:
$list = "";
        foreach($tags as $k=>$v){
            $list .= "\n<h3>{$k}</h3>\n\n".implode(", ", $v);
        }
        $tags = $list;
которое почему то выше..
Глюк, после обновления страницы все стало как надо (-_-')

psarovskiy
37 | 13

psarovskiy - 21 января 2014 05:35 - Юзер

подскажите, почему {$k} на странице всех тегов выводится знаком вопроса в ромбе?

psarovskiy
37 | 13

psarovskiy - 21 января 2014 07:11 - Юзер

вопрос решен

Dr.Parlament
2

17 | 12

Dr.Parlament - 1 февраля 2014 10:56 - Юзер

Мне это тоже интересно. Как исправили?

psarovskiy
37 | 13

psarovskiy - 1 февраля 2014 13:48 - Юзер

привет, мне такое решение помогло

$last_symb = strtoupper(mb_substr($value['tag'],0,1), "UTF-8");

Димка_87
25 | 1

Димка_87 - 7 сентября 2015 19:22 - Юзер

отправьте пожалуйста готовый отредактированный файл tagscloud.php, сделал все по инструкции но работь отказывается

Димка_87
25 | 1

Димка_87 - 7 сентября 2015 20:23 - Юзер

ссори все работает, хотя что то кодировка гонит но думаю разберусь

Neostaf
8

Neostaf - 2 октября 2015 19:13 - Юзер

Все сделал по инструкции но теперь пропали теги и вместо них числа от 1 до 5000 тыщ в чем может быть проблема?

king
2

75 | 13

king - 27 сентября 2016 09:54 - Юзер

Neostaf, у меня тоже самое.
Как решили проблему?

Puma08
3

Puma08 - 5 марта 2016 09:35 - Юзер

Здравствуйте... При просмотре всех тегов работает а как сделать чтоб оно работало на главной странице сайта...

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы