public function setMetaData() { $view = $this->_page->getView(); $pageId = $this->_page->getId(); //start the meta description and keywords with the site name $mdlSettings = new Model_SiteSettings(); $siteName = $mdlSettings->get('name'); $metaDescription[] = $siteName; $metaKeywords[] = $siteName; //add the base settings $metaDescription[] = $mdlSettings->get('meta_description'); $metaKeywords[] = $mdlSettings->get('meta_keywords'); //next add all of the page titles $mdlPage = new Model_Page(); $title = $mdlPage->getTitle($pageId); if (is_array($title)) { $metaDescription[] = implode(',', $title); $metaKeywords[] = implode(',', $title); } //now add the page specific settings $mdlMeta = new Model_MetaData(); $metaData = $mdlMeta->asArray($pageId); if (!empty($metaData['meta_description'])) { $metaDescription[] = (string) $metaData['meta_description']; } if (!empty($metaData['keywords'])) { $metaKeywords[] = (string) $metaData['keywords']; } //now set the view placeholder $view->headMeta()->appendName('description', implode(',', $metaDescription)); $view->headMeta()->appendName('keywords', implode(',', $metaKeywords)); }