public function get($chronicleId) { try { $key = self::CHRONICE_PAGE . "_id_" . $chronicleId; $result = $this->getData($key); if ($result === false) { $result = new ChroniclePage(); $chronicle = ChronicleDao::getInstance()->get($chronicleId); if ($chronicle) { // Set chronicle $result->setChronicle($chronicle); // Set chronicleViewModel $chronicleAdapter = new ChronicleAdapter($chronicle); $chronicleViewModel = $chronicleAdapter->getAsChronicleViewModel(3, 5, 5, false); $result->setChronicleViewModel($chronicleViewModel); // Set press reviews $result->setPressReviews($chronicleViewModel->getPressReviews()); // Set same author chronicles $result->setSameAuthorChronicles($chronicleViewModel->getSameAuthorChronicles()); // Set similar chronicles $result->setSimilarChronicles($chronicleViewModel->getSimilarChronicles()); // Set user book reviews $result->setUserBooksReviews($this->getUserBooksReviews($chronicle)); // Set viedo press review $result->setVideoPressReview($this->getVideoPressReview($chronicle)); $this->setData($key, $result); } else { return null; } } return $result; } catch (\Exception $e) { $this->logException(get_class(), __FUNCTION__, $e); } }
/** * Get HeaderInformation object for chronicle detail page * @param ChroniclePage $chroniclePage * @return \Sb\Model\HeaderInformation */ public function getForChroniclePage(ChroniclePage $chroniclePage) { $result = new HeaderInformation(); $result->setTitle($chroniclePage->getChronicleViewModel()->getTitle()); $result->setDescription($chroniclePage->getChronicleViewModel()->getShortenText()); $result->setKeywords($chroniclePage->getChronicle()->getKeywords()); $result->setUrlCanonical($chroniclePage->getChronicleViewModel()->getDetailLink()); $result->setPageImage($chroniclePage->getChronicleViewModel()->getImage()); return $result; }