Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Общие вопросы по PHP » Название категории откуда комментарий

Название категории откуда комментарий


     20.06.2014    Все вопросы » Общие вопросы по PHP    2856

вопрос
Можно ли вывести название категории откуда комментарий по адресу сайт.ру/?do=lastcomments где показаны все комментарии или комментарии пользователей??

У меня возникла такая проблема потому что есть несколько новостей с одинаковыми названиями но разными категориями и поэтому при просмотре всех комментарий непонятно из какой именно категории...

Ответил: vitnet


Открыть файл engine/classes/comments.class.php
Найти
                $row['category'] = intval( $row['category'] );

Заменить на
                $category = $row['category'];
                
                $row['category'] = intval( $row['category'] );

Найти
            } else $tpl->set( '{news_title}', "" );

Заменить на
                // category in lastcomments
                $cat_info = get_vars( "category" );

                if( !is_array( $cat_info ) ) {
                    $cat_info = array ();
    
                    $db->query( "SELECT * FROM " . PREFIX . "_category ORDER BY posi ASC" );
                    while ( $row = $db->get_row() ) {
        
                        $cat_info[$row['id']] = array ();
        
                        foreach ( $row as $key => $value ) {
                            $cat_info[$row['id']][$key] = stripslashes( $value );
                        }
    
                    }
                    set_vars( "category", $cat_info );
                    $db->free();
                }

                $allow_alt_url = ($config['version_id'] < '10.2') ? $config['allow_alt_url'] == "yes" : $config['allow_alt_url'];
                
                if( !$category ) {
                    $my_cat = "---";
                    $my_cat_link = "---";
                } else {
                    $my_cat = array ();
                    $my_cat_link = array ();
                    $cat_list = explode( ',', $category );

                    if( count( $cat_list ) == 1 ) {
                        $my_cat[] = $cat_info[$cat_list[0]]['name'];
                        $my_cat_link = get_categories( $cat_list[0] );
                    } else {
                        foreach ( $cat_list as $element ) {
                            if( $element ) {
                                $my_cat[] = $cat_info[$element]['name'];
                    
                                if( $allow_alt_url ) $my_cat_link[] = "<a href=\"" . $config['http_home_url'] . get_url( $element ) . "/\">{$cat_info[$element]['name']}</a>";
                                else $my_cat_link[] = "<a href=\"$PHP_SELF?do=cat&amp;category={$cat_info[$element]['alt_name']}\">{$cat_info[$element]['name']}</a>";
                            }
                        }

                        $my_cat_link = implode( ', ', $my_cat_link );
                    }

                    $my_cat = implode( ', ', $my_cat );
                }
                
                $tpl->set( '{news_cats}', $my_cat );
                $tpl->set( '{news_cats_link}', $my_cat_link );

            } else {
                $tpl->set( '{news_cats}', "" );
                $tpl->set( '{news_cats_link}', "" );
                $tpl->set( '{news_title}', "" );
            }
            // category in lastcomments

В шаблоне comments.tpl использовать теги:
{news_cats} - Категория, к которой относится статья
{news_cats_link} - Ссылка на все категории в которой присутствует новость

Готово!

5 комментариев

crow6viktor
Юзер

crow6viktor - 21 июня 2014 00:20 -

Отличное добавление но только у меня ошибка в версии 10.0 вот в этих строках
if( $allow_alt_url ) $my_cat_link[] = "<a href=\"" . $config['http_home_url'] . get_url( $element ) . "\">{$cat_info[$element]['name']}</a>";
                                else $my_cat_link[] = "<a href=\"$PHP_SELF?do=cat&category={$cat_info[$element]['alt_name']}\">{$cat_info[$element]['name']}</a>";

fh79655l123
Юзер

fh79655l123 - 21 июня 2014 10:15 -

***Комментарий удален***

Sander
PHP-developer

Sander - 21 июня 2014 12:30 -

on line 301

Эта ошибка не означает что проблема в 301 строке. Она информирует о том, что не получается корректно обработать код на 301 строке. А зачастую в 90% случаев это является следствием незакрытой скобки или кавычки в коде на предыдущей строке.

Да и вообще учитесь полностью цитировать код ошибки. Там же не абракадабра пишется, а именно сама неисправность.

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

Telegram: @sandev
Skype: Sander8804

MAPKOBKA
Юзер

MAPKOBKA - 21 июня 2014 12:25 -

На 10.1 все встало. Ошибок нет.

fh79655l123
Юзер

fh79655l123 - 21 июня 2014 15:13 -

Спасибо на 10.1 все заработало. Извините за мои кривые руки =)

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

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

наверх