Exemple #1
0
 public static function renderMenuTemplate($pages, $template, $parentCategoryPage = null)
 {
     $entityParser = new Tools_Content_EntityParser();
     $website = Zend_Controller_Action_HelperBroker::getStaticHelper('website');
     $dictionary = array();
     if ($parentCategoryPage === null) {
         $menuHtml = '<ul class="main_menu" >';
     } else {
         $menuHtml = '<ul>';
     }
     $i = 1;
     foreach ($pages as $k => $page) {
         $menuItemTemplate = $template;
         $dictionary['$page:preview'] = '<img class="page-teaser-image" src="' . Tools_Page_Tools::getPreview(intval($page['id'])) . '" alt="index">';
         if ($parentCategoryPage === true) {
             $dictionary['$page:category:name'] = $parentCategoryPage['h1'];
         }
         foreach ($page as $prop => $item) {
             if ($prop === 'url') {
                 $item = $website->getUrl() . $item;
             }
             $dictionary['$page:' . $prop] = $item;
         }
         if (!empty($page['subPages'])) {
             $menuItemTemplate = preg_replace_callback('~{submenu}(.*){/submenu}~siuU', function ($match) use($page) {
                 return Widgets_Menu_Menu::renderMenuTemplate($page['subPages'], $match[1], $page);
             }, $template);
             $menuItemTemplate = preg_replace('~{ifpages}(.*){/ifpages}~siuU', '$1', $menuItemTemplate);
         } else {
             $menuItemTemplate = preg_replace('~{(submenu|ifpages)}.*{/(submenu|ifpages)}~siuU', '', $template);
         }
         $menuHtml .= '<li class="' . ($parentCategoryPage === null ? 'category cat-' . $i++ : 'page') . '">';
         $menuHtml .= $entityParser->setDictionary($dictionary)->parse($menuItemTemplate);
         $menuHtml .= '</li>';
     }
     $menuHtml .= '</ul>';
     return $menuHtml;
 }
Exemple #2
0
 /**
  * Sets the name of the mail template to use
  *
  * If secont parameter set to true then instance of template object
  * Will be created and mailer body will be filled with template content.
  *
  * @param string $bodyTemplateName
  * @param boolean $initBody
  * @return Tools_Mail_Mailer
  */
 public function setMailTemplateName($bodyTemplateName, $initBody = false)
 {
     $this->_mailTemplateName = $bodyTemplateName;
     if ($initBody) {
         $entityParser = new Tools_Content_EntityParser();
         $entityParser->setDictionary($this->_dictonary);
         $bodyTemplate = Application_Model_Mappers_TemplateMapper::getInstance()->find($this->_mailTemplateName);
         $this->_body = $entityParser->parse($bodyTemplate->getContent());
     }
     return $this;
 }