[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Нуждаюсь в помощи с переработкой кусочка скрипта
medvedeva
Приветствую, форумчане! user posted image

Нуждаюсь в вашей помощи с переработкой кусочка скрипта, если быть точнее - CMS DLE. Опишу вкратце, это обычный новостной движок, есть шаблон для вывода коротких новостей, в него можно вставить {link-category} (ссылка на категорию, которая присвоена новости). Но вот беда, функционал позволяет присвоить несколько категорий новости, соответственно тогда все присвоенные новости категории выводятся в {link-category}, а мне бы как-то нужно сделать, чтобы выводилась только одна, первая.

Покопавшись, нашла в файле /engine/module/show.short.php (отвечает за вывод кратких новостей) следующий код:

		$i ++;

if( ! $row['category'] ) {
$my_cat = "---";
$my_cat_link = "---";
} else {

$my_cat = array ();
$my_cat_link = array ();
$cat_list = explode( ',', $row['category'] );

if( count( $cat_list ) == 1 OR ($view_template == "rss" AND $config['rss_format'] == 2)) {

$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( $config['allow_alt_url'] == "yes" ) $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>";
}
}


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

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

if( strpos( $tpl->copy_template, "[catlist=" ) !== false ) {
$tpl->copy_template = preg_replace( "#\\[catlist=(.+?)\\](.*?)\\[/catlist\\]#ies", "check_category('\\1', '\\2', '{$row['category']}')", $tpl->copy_template );
}

if( strpos( $tpl->copy_template, "[not-catlist=" ) !== false ) {
$tpl->copy_template = preg_replace( "#\\[not-catlist=(.+?)\\](.*?)\\[/not-catlist\\]#ies", "check_category('\\1', '\\2', '{$row['category']}', false)", $tpl->copy_template );
}

$row['category'] = intval( $row['category'] );

$news_find = array ('{comments-num}' => $row['comm_num'], '{views}' => $row['news_read'], '{category}' => $my_cat, '{link-category}' => $my_cat_link, '{news-id}' => $row['id'], '{PAGEBREAK}' => '' );

$tpl->set( '', $news_find );

if( $cat_info[$row['category']]['icon'] ) {

$tpl->set( '{category-icon}', $cat_info[$row['category']]['icon'] );

} else {

$tpl->set( '{category-icon}', "{THEME}/dleimages/no_icon.gif" );

}

if ( $row['category'] )
$tpl->set( '{category-url}', $config['http_home_url'] . get_url( $row['category'] ) . "/" );
else
$tpl->set( '{category-url}', "#" );

if( date( 'Ymd', $row['date'] ) == date( 'Ymd', $_TIME ) ) {

$tpl->set( '{date}', $lang['time_heute'] . langdate( ", H:i", $row['date'] ) );

} elseif( date( 'Ymd', $row['date'] ) == date( 'Ymd', ($_TIME - 86400) ) ) {

$tpl->set( '{date}', $lang['time_gestern'] . langdate( ", H:i", $row['date'] ) );

} else {

$tpl->set( '{date}', langdate( $config['timestamp_active'], $row['date'] ) );

}


Интуитивно понимаю, что подправить нужно совсем чуток и именно здесь, но что именно и как - не знаю :ph34r:

Структура поля category в базе данных стандартная:
user posted image

Будьте добры, помогите, пожалуйста :rolleyes:

Благодарю за внимание.
С уважением, Анастасия.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.