protected function _getRssEntries() { $select = $this->_getSelect(); if (!$select) { return array(); } $select->limit(10); if (!$select->hasPart('group')) { $select->group('id'); } $itemDirectory = $this->getData()->parent->getComponent()->getItemDirectory(); if (is_string($itemDirectory)) { $c = Kwc_Abstract::getComponentClassByParentClass($itemDirectory); $generator = Kwf_Component_Generator_Abstract::getInstance($c, 'detail'); $items = $generator->getChildData(null, $select); //TODO: callModifyItemData aufrufen } else { $items = $itemDirectory->getChildComponents($select); foreach ($items as $item) { $itemDirectory->getComponent()->callModifyItemData($item); } } $ret = array(); foreach ($items as $item) { $ret[] = $this->_getRssEntryByItem($item); } return $ret; }
public function getSelect() { $itemDirectory = $this->getItemDirectory(); if (!$itemDirectory) { return null; } if (is_string($itemDirectory)) { if ($this->_getSetting('useDirectorySelect')) { throw new Kwf_Exception("If itemDirectory is a ComponentClass you can't use 'useDirectorySelect' setting"); } $c = Kwc_Abstract::getComponentClassByParentClass($itemDirectory); $ret = Kwf_Component_Generator_Abstract::getInstance($c, 'detail')->select(null); } else { if ($this->_getSetting('useDirectorySelect')) { $ret = $itemDirectory->getComponent()->getSelect(); } else { $ret = $itemDirectory->getGenerator('detail')->select($this->getItemDirectory()); } } if (Kwc_Abstract::hasSetting($this->getData()->componentClass, 'order')) { throw new Kwf_Exception("Setting 'order' (" . get_class($this) . ") doesn't exist anymore - overwrite getSelect for a custom order"); } return $ret; }
public function getPagingCount($select = null) { if (!$select) { $select = $this->_getSelect(); } if (!$select) { return 0; } $dir = $this->getData()->parent->getComponent()->getItemDirectory(); if (is_string($dir)) { $c = Kwc_Abstract::getComponentClassByParentClass($dir); $generator = Kwf_Component_Generator_Abstract::getInstance($c, 'detail'); $ret = $generator->countChildData(null, $select); } else { $ret = $dir->countChildComponents($select); } if ($select->hasPart(Kwf_Model_Select::LIMIT_COUNT)) { $limitCount = $select->getPart(Kwf_Model_Select::LIMIT_COUNT); if ($ret > $limitCount) { $ret = $limitCount; } } return $ret; }