Don't clear children if tabs attribute not provided

This commit is contained in:
Ralf Becker 2014-07-23 09:15:00 +00:00
parent 0abcd5e68f
commit 6a7258e98e

View File

@ -39,19 +39,23 @@ class etemplate_widget_tabbox extends etemplate_widget
*/ */
public function run($method_name, $params=array(''), $respect_disabled=false) public function run($method_name, $params=array(''), $respect_disabled=false)
{ {
// add_tabs toggles replacing or adding to existing tabs
if(!$this->attrs['add_tabs'])
{
$this->children[1]->children = array();
}
// Make sure additional tabs are processed for any method // Make sure additional tabs are processed for any method
foreach($this->attrs['tabs'] as $tab) if($this->attrs['tabs'])
{ {
$template= clone etemplate_widget_template::instance($tab['template']); // add_tabs toggles replacing or adding to existing tabs
if($tab['id']) $template->attrs['content'] = $tab['id']; if(!$this->attrs['add_tabs'])
$this->children[1]->children[] = $template; {
unset($template); $this->children[1]->children = array();
}
foreach($this->attrs['tabs'] as $tab)
{
$template= clone etemplate_widget_template::instance($tab['template']);
if($tab['id']) $template->attrs['content'] = $tab['id'];
$this->children[1]->children[] = $template;
unset($template);
}
} }
// Check for disabled tabs set via readonly, and set them as disabled // Check for disabled tabs set via readonly, and set them as disabled