${'tab' . $item} = $layout->startTab(array('title' => $portalTitle, 'portalLayoutType' => $portalLayoutType, 'portalWidgets' => array(array('title' => 'Some widgets', 'widgets' => array('/loganalysis/logSearch', '/appliance_system/editEmail'))))); /** * 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);*/