ProfiPHPProfiPHP
Категория: Поддержка OUR-CMS

Вывод последних записей блога в OUR-CMS

Очень часто администраторы реализовывают в шаблоне специальный блок, в котором отображаются последние новости. Опишем реализацию вывода последних новостей или записей блога в OUR-CMS.

Создадим функцию show_last вывода последних записей:
function show_last( $base, $num )
{
$array_filedb = file( ROOT_PATH.'/content/infopagedb/'.$base.'.dat' );
$row = unserialize( $array_filedb[0] );
$count = count( $array_filedb );
for ( $i = $count, $start = 0; $i > $count - $start - $num; $i-- )
{
if ( $i > 1 )
{
if ( trim( $array_filedb[ $i - 1 ] ) == '' ) { $start++; continue; }
$messold = unserialize( $array_filedb[ $i - 1 ] );
if ( $row['url'] == '1' && isset( $messold['link'] ) ) {
$header = '<a href="/'.$base.'/'.( $i - 1 ).'-'.$messold['link'].'.html">'.$messold['head'].'</a>';
}
else {
$header = '<a href="/'.$base.'-'.( $i - 1 ).'.html">'.$messold['head'].'</a>';
}
$date = ( $row['date'] == '1' ? $messold['pubdate'] : '' );
$content = str_replace( array( "|slash|", "|quotes|" ), array( "\\", "\"" ), stripslashes( $messold['mess'] ) );
preg_match( '/<img.+src=[\'"](?P<src>.+?)[\'"].*>/i', $content, $image );
if ( isset( $image['src'] ) ) {
echo '<img src="'.$image['src'].'" width="100" /><h2>'.$header.'</h2><em>'.$date.'</em>';
}
}
}
}
Данную функцию необходимо добавить в файл functions.php, который находится в директории Engine.

Далее в шаблоне необходимо реализовать данную функцию:
<?php show_last( 'news', 5 ); ?>
Функция принимает 2 значения:

- Название базы данных (тот же URL).

- Количество записей для вывода.

Вывод можно визуально изменить в любой для вас необходимой форме. Просто отредактируйте результат функции show_last:
echo '<img src="'.$image['src'].'" width="100" /><h2>'.$header.'</h2><em>'.$date.'</em>';

Добавить комментарий

Имя:
Текст комментария: