/** * Carrega todas as págians a partir de uma categoria * @param int|Categoria $categoria * @return array */ public function getPaginasLista($limit = "") { if (empty($this->pags)) { $cat = new PaginaCategoria(); $cat->getDao()->setAtributes("pagina"); $pags = array(); $p = new Pagina(); $p->getDao()->setAtributes("id", "cleanTitulo", "titulo", "subTitulo"); $whereStr = "categoria=" . $this->getId(); foreach ($this->getCatFilhas() as $catItem) { $whereStr .= " OR categoria=" . $catItem; } foreach ($cat->getDao()->loadArrayList($whereStr, '', $limit) as $c) { if ($c->getPagina() instanceof Pagina) { if ($c->getPagina()->getStatus() == Pagina::STATUS_PUBLICADO) { $pags[] = $c->getPagina(); } } } if (!empty($order)) { DAO::orderBy($pags, $orderPropertyName, $desc); } $p->getDao()->clearAtributes(); $this->pags = $pags; } return $this->pags; }
/** * Carrega todas as págians a partir de uma categoria * @param int|Categoria $categoria * @return array */ public function loadFromCategoria($categoria, $limit = "", $orderPropertyName = "", $desc = false) { $cat = new PaginaCategoria(); $cat->getDao()->setAtributes("pagina"); $pags = array(); $categoria = new Categoria((int) $categoria); $whereStr = "categoria={$categoria}"; foreach ($categoria->getCatFilhas() as $catItem) { $whereStr .= " OR categoria=" . $catItem; } foreach ($cat->getDao()->loadArrayList($whereStr, '', $limit) as $c) { if ($c->getPagina() instanceof Pagina) { $pags[$c->getPagina()->getId()] = $c->getPagina(); } } if (!empty($order)) { DAO::orderBy($pags, $orderPropertyName, $desc); } return $pags; }