/** * Fetches the layout. * * @return vBCms_Item_Layout */ public function getLayout() { //Layouts are assigned for sections only. if (!$this->layout) { // ensure parent info is loaded $this->Load(self::INFO_PARENTS); //See if we have a layoutid. $this->layout = new vBCms_Item_Layout($this->getLayoutId()); $this->layout->requireInfo(vBCms_Item_Layout::INFO_CONFIG | vBCms_Item_Layout::INFO_WIDGETS); if (!$this->layout->isValid()) { throw (new vB_Exception_Model('Layout item object not valid for node item')); } } return $this->layout; }