• Автор:

    Flesha
  • Добавлено:

    июн 25, 2014
  • Комментариев:

    0
  • Просмотров:

    1 288

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

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

Хак позволит вывести на странице последних комментариев (https://flesha.ru/?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[] = "<a href=\\"" . $config['https_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


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


Версия DLE: 9.x-10.x
Автор: Vitnet
Источник: dle-faq.ru dle
Вернуться
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.