DataLife Engine > Версия для печати > Вывод категорий в последних комментариях

Хак позволит вывести на странице последних комментариев (/?do=lastcomments) названия категорий к которым эти комментарии принадлежат.

Установка:

1. Открыть файл 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[] = "{$cat_info[$element]['name']}";
                                else $my_cat_link[] = "{$cat_info[$element]['name']}";
                            }
                        }

                        $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

2. В шаблоне comments.tpl использовать теги:

{news_cats} — Категория, к которой относится статья
{news_cats_link} — Ссылка на все категории в которой присутствует новость

Готово!

Версия DLE: 9.x-10.x

Автор: Vitnet Вернуться назад