Особистий блог Blohher'a

Читай Blohher брат

Реклама Google
Популярність сайта і якісний пошук

Вывод в списке категорий, так называемый roster или lister

Для передачи данных используем функцию:

$D['materials'] = $this->data->getMaterialsByCategory($category, $neededMaterialsCount, $start);

Для вывода используем код по образцу:

<?php
$m = $materials;
if (is_array($m)) foreach ($m['idS'] as $id)
{
$image_properties = array(
    'src' => $m[$id]['imgSrc'],
    'alt' => $m[$id]['imgAlt'],
    'width' => '140',
    'height' => '140',
    'title' => $m[$id]['imgTitle']
);

echo'
<div class="mainBlockWrap">
<h1><a href="'.$m[$id][curDateInUrlSett()].'">
'.$m[$id]['title'].'
</a></h1>
<a href="'.$m[$id][curDateInUrlSett()].'">
'.img($image_properties).'
</a>
<div>
'.character_limiter(cleanText($m[$id]['body']),480).'
</div>
<div class="mainBlockReadFull">
<a href="'.$m[$id][curDateInUrlSett()].'">'.nbs(6).'Читать полностью</a>
</div>
</div>';
}
echo $paging;
?>

$paging выведет постраничную навигацию, согласно тем настройкам, которые в контроллере.

А теперь посмотрим более оптимизированный код, и выводящий зоны. Зоны это когда нужно допустим вывести список новостей в 2 разных блока, в каждый допустим по 15. В первый блок будем выводить с 0 элемента по 14, во второй с 14 по 29. Показан код только для второго блока:

$start = 14;
$end = 29;
$counter = 0;
if (is_array($m)) foreach ($m['idS'] as $id)
{
    $counter++;
    if (!(($counter > $start) AND ($counter < $end))) continue;
    $row = $m[$id];
    $image_properties = array(
        'src' => $row['bigImgSrc'],
        'alt' => $row['imgAlt'],
        'width' => '160',
        'height' => '120',
        'title' => $row['imgTitle']
    );
    $phpdate = strtotime($row['date']);
    $day = date('j', $phpdate); // day
    $mon = getRusDate(date('M', $phpdate)); // month
    $year = date('Y', $phpdate); //year 2011
    $tdate = "$day $mon, $year";
    echo '<div class="rold">
<h1><a class="mr" href="'.$row[curDateInUrlSett()].'">'.$row['title'].' </a><span class="htime">'.$tdate.'</span></h1>
</div>
<div class="rolda">'.character_limiter(cleanText($row['body']),480).'</div>';
    }
 

Залишити коментар

Нік
 
E-mail
 
Сайт
 
Текст
 

 
Blohher - Блог розробника сайтів