* associations are only to be used in this example * in real life example, just use the idxml from the added widget */ $associations = array('interface/somepanel' => $panel, 'interface/someform' => $form, 'interface/somegrid' => $grid); foreach ($portalColumns as $k => $widgets) { //instanciate a column ${'column' . $k} = ${'tab' . $item}->startColumn(array('columnWidth' => $portalColumnsSize[$k] / 100)); foreach ($widgets as $widget) { ${'column' . $k}->addItem($associations[$widget->idxml]); } //end the instanciation of a column ${'tab' . $item}->endColumn(${'column' . $k}); } $layout->endTab(${'tab' . $item}); } /** * the old code for constructing the columns */ /*$column1=$layout->startColumn(array('columnWidth'=>'0.50')); $column1->addItem($grid); $layout->endColumn($column1); $column2=$layout->startColumn(array('columnWidth'=>'0.25')); $column2->addItem($form); $layout->endColumn($column2); $column3=$layout->startColumn(array('columnWidth'=>'0.25')); $column3->addItem($panel); $layout->endColumn($column3);*/ $layout->end();