コード例 #1
0
ファイル: Page.php プロジェクト: ngukho/ducbui-cms
 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));
 }
コード例 #2
0
ファイル: Page.php プロジェクト: robsta/brightfamecms
 public function getPageTitle($pageId)
 {
     $mdlMeta = new Model_MetaData();
     $metaData = $mdlMeta->asArray($pageId);
     if (!empty($metaData['page_title'])) {
         return $metaData['page_title'];
     } else {
         $page = $this->find($pageId)->current();
         return $page->name;
     }
 }
コード例 #3
0
 /**
  * Edit action
  *
  * @return void
  */
 public function editAction()
 {
     $page = new Model_Page();
     $pageId = $this->_request->getParam('id', 0);
     $language = $this->_request->getParam('language', $page->getDefaultLanguage());
     $currentPage = $page->open($pageId, $language);
     // load the template and form
     $template = $page->getTemplate($pageId);
     // @todo: refactor this into some sort of helper function
     $templateParts = explode('_', $template);
     $currentTemplate = $templateParts[0];
     $currentTemplatePage = $templateParts[1];
     $templatePath = BASE_PATH . '/templates/public/' . $currentTemplate;
     $templateConfig = new Zend_Config_Xml($templatePath . '/pages/' . $currentTemplatePage . '.xml');
     $pageTemplate = new Digitalus_Interface_Template();
     $form = $pageTemplate->getForm($templatePath . '/layouts/' . $templateConfig->layout);
     $form->setAction($this->baseUrl . '/admin/page/edit');
     $this->view->contentPanes = $form->modifyEditActionForm();
     $elmPageName = $form->getElement('name');
     $elmPageName->addValidators(array(array('PagenameExistsNot', true, array('exclude' => $currentPage->page->name))));
     if (!is_object($currentPage)) {
         $url = 'admin/page';
         $e = new Digitalus_View_Error();
         $e->add($this->view->getTranslation('Sorry, there was an error opening your page'));
         $this->_redirect($url);
     }
     //process the form if this is a post back
     if ($this->_request->isPost() && $form->isValid($_POST)) {
         $values = $form->getValues();
         unset($values['submit']);
         unset($values['form_instance']);
         $currentPage = $page->edit($values);
     } else {
         if ($currentPage->content) {
             $data = $currentPage->content;
         } else {
             $data = array();
         }
         $data['id'] = $pageId;
         $data['name'] = $currentPage->page->name;
         $data['language'] = $language;
         $form->populate($data);
     }
     $this->view->currentVersion = $language;
     $this->view->pageId = $pageId;
     //main content form
     $this->view->form = $form;
     $this->view->page = $currentPage;
     //meta data form
     $mdlMeta = new Model_MetaData();
     $metaData = $mdlMeta->asArray($pageId);
     $metaData['page_id'] = $pageId;
     $this->view->metaForm = $this->getMetaForm($metaData);
     //properties
     $mdlProperties = new Model_Properties();
     $this->view->properties = $mdlProperties->asArray($pageId);
     //related pages
     //        $this->view->relatedPages = $page->getRelatedPages($pageId);
     $label = $currentPage->page->name;
     if (isset($currentPage->page->label) && !empty($currentPage->page->label)) {
         $label = $currentPage->page->label;
     }
     $this->view->breadcrumbs[$this->view->getTranslation('Open') . ': ' . $label] = $this->baseUrl . '/admin/page/edit/id/' . $pageId;
     $this->view->toolbarLinks = array();
     $this->view->toolbarLinks['Add to my bookmarks'] = $this->baseUrl . '/admin/index/bookmark' . '/url/admin_page_edit_id_' . $pageId . '/label/' . $this->view->getTranslation('Page') . ':' . $currentPage->page->name;
     $this->view->toolbarLinks['Delete'] = $this->baseUrl . '/admin/page/delete/id/' . $pageId;
 }