Index: branches/unlabeled/unlabeled-1.54.2/core/kernel/db/db_tag_processor.php =================================================================== diff -u -N -r4948 -r4962 --- branches/unlabeled/unlabeled-1.54.2/core/kernel/db/db_tag_processor.php (.../db_tag_processor.php) (revision 4948) +++ branches/unlabeled/unlabeled-1.54.2/core/kernel/db/db_tag_processor.php (.../db_tag_processor.php) (revision 4962) @@ -335,28 +335,35 @@ $column_number = 1; $o.= $block_start_row_params['name'] ? $this->Application->ParseBlock($block_start_row_params, 1) : ''; } - - if (!$list->getCurrentRecord()){ - // doesn't add empty cell, by the fact it should add that much empty cells, - // how much elements are missing in last row, but not on cell as for now - $o.= $block_empty_cell_params['name'] ? $this->Application->ParseBlock($block_empty_cell_params, 1) : ' '; - } else { + $column_number++; + } + $block_params['column_number'] = $column_number; $o.= $this->Application->ParseBlock($block_params, 1); - $column_number++; array_push($displayed, $list->GetDBField($id_field)); - } if (($i+1) % $columns == 0) { // record in next iteration is first in row too, then close this row $o.= $block_end_row_params['name'] ? $this->Application->ParseBlock($block_end_row_params, 1) : ''; } $list->GoNext(); - $i++; } + + // append empty cells in place of missing cells in last row + while ($i % $columns != 0) { + // until next cell will be in new row append empty cells + $o .= $block_empty_cell_params['name'] ? $this->Application->ParseBlock($block_empty_cell_params, 1) : ' '; + + if (($i+1) % $columns == 0) { + // record in next iteration is first in row too, then close this row + $o .= $block_end_row_params['name'] ? $this->Application->ParseBlock($block_end_row_params, 1) : ''; + } + $i++; + } + $cur_displayed = $this->Application->GetVar($this->Prefix.'_displayed_ids'); if (!$cur_displayed) { $cur_displayed = Array();