public function render() { //print count($this->elements)."<br/>"; $num_elements = count($this->elements); if (!$this->reArranged) { $elements_per_col = ceil(count($this->elements) / $this->num_columns); for ($j = 0, $k = 0; $j < $this->num_columns; $j++) { for ($i = 0; $i < $elements_per_col; $i++, $k++) { if ($k < $num_elements) { $this->elements[$k]->parent = null; parent::add($this->elements[$k], 0, $j); } else { break; } } } $this->reArranged = true; } return parent::render(); }