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

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

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

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

$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’

‘;
}
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 ‘

‘.character_limiter(cleanText($row[‘body’]),480).’

‘;
}

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься.

Я spam бот