/** * Renders CMS page * * Call from controller action * * @param Mage_Core_Controller_Front_Action $action * @param integer $pageId * @return boolean */ public function renderPage(Mage_Core_Controller_Front_Action $action, $identifier = null) { $page = Mage::getModel('blog/post'); if (!is_null($identifier) && $identifier !== $page->getId()) { $page->setStoreId(Mage::app()->getStore()->getId()); if (!$page->load($identifier)) { return false; } } if (!$page->getId()) { return false; } if ($page->getStatus() == 2) { return false; } $page_title = Mage::getSingleton('blog/post')->load($identifier)->getTitle(); $blog_title = Mage::getStoreConfig('blog/blog/title') . " - "; $action->loadLayout(); if ($storage = Mage::getSingleton('customer/session')) { $action->getLayout()->getMessagesBlock()->addMessages($storage->getMessages(true)); } $action->getLayout()->getBlock('head')->setTitle($blog_title . $page_title); $action->getLayout()->getBlock('root')->setTemplate(Mage::getStoreConfig('blog/blog/layout')); $action->renderLayout(); return true; }
public function renderPage(Mage_Core_Controller_Front_Action $action, $identifier = null, $data) { $page = Mage::getSingleton('blog/blog'); if (!is_null($identifier) && $identifier !== $page->getId()) { $page->setStoreId(Mage::app()->getStore()->getId()); if (!$page->load($identifier)) { return false; } } if (!$page->getId()) { return false; } if ($page->getStatus() == 2) { return false; } $page_title = Mage::getSingleton('blog/blog')->load($identifier)->getTitle(); $blog_title = Mage::getStoreConfig('blog/blog/title') . " - "; $action->loadLayout(); if ($storage = Mage::getSingleton('customer/session')) { $action->getLayout()->getMessagesBlock()->addMessages($storage->getMessages(true)); } /* if (Mage::getStoreConfig('blog/rss/enable')) { Mage::helper('blog')->addRss($action->getLayout()->getBlock('head'), Mage::getUrl(Mage::getStoreConfig('blog/blog/route')) . "rss"); } */ $action->getLayout()->getBlock('head')->setTitle($blog_title . $page_title); $action->getLayout()->getBlock('root')->setTemplate(Mage::getStoreConfig('blog/blog/layout')); $action->getLayout()->getBlock('post')->setCommentDetails($data['user'], $data['email'], $data['comment']); $action->renderLayout(); return true; }
/** * Inits layout for viewing product page * * @param Mage_Catalog_Model_Product $product * @param Mage_Core_Controller_Front_Action $controller * * @return Mage_Catalog_Helper_Product_View */ public function initProductLayout($product, $controller) { $design = Mage::getSingleton('catalog/design'); $settings = $design->getDesignSettings($product); if ($settings->getCustomDesign()) { $design->applyCustomDesign($settings->getCustomDesign()); } $update = $controller->getLayout()->getUpdate(); $update->addHandle('default'); $controller->addActionLayoutHandles(); $update->addHandle('PRODUCT_TYPE_' . $product->getTypeId()); $update->addHandle('PRODUCT_' . $product->getId()); if ($product->getAttributeSetId() == '9') { $categoryId = (int) Mage::app()->getStore()->getRootCategoryId(); $category = Mage::getModel('catalog/category')->setStoreId(Mage::app()->getStore()->getId())->load($categoryId); $layer = Mage::getSingleton('catalog/layer'); $productCollection = $layer->getProductCollection(); Mage::getModel('amfinder/finder')->getCompatibleCollection($product, $productCollection); if (Mage::registry('current_category')) { Mage::unregister('current_category'); } Mage::register('current_category', $category); Mage::getSingleton('catalog/session')->setLastVisitedCategoryId($category->getId()); Mage::register('finder_product', true); $update->removeHandle('catalog_product_view'); $update->addHandle('amfinder_index_index'); } $controller->loadLayoutUpdates(); // Apply custom layout update once layout is loaded $layoutUpdates = $settings->getLayoutUpdates(); if ($layoutUpdates) { if (is_array($layoutUpdates)) { foreach ($layoutUpdates as $layoutUpdate) { $update->addUpdate($layoutUpdate); } } } $controller->generateLayoutXml()->generateLayoutBlocks(); // Apply custom layout (page) template once the blocks are generated if ($settings->getPageLayout()) { $controller->getLayout()->helper('page/layout')->applyTemplate($settings->getPageLayout()); } $currentCategory = Mage::registry('current_category'); $root = $controller->getLayout()->getBlock('root'); if ($root) { $controllerClass = $controller->getFullActionName(); if ($controllerClass != 'catalog-product-view') { $root->addBodyClass('catalog-product-view'); } $root->addBodyClass('product-' . $product->getUrlKey()); if ($currentCategory instanceof Mage_Catalog_Model_Category) { $root->addBodyClass('categorypath-' . $currentCategory->getUrlPath())->addBodyClass('category-' . $currentCategory->getUrlKey()); } } return $this; }
/** * Renders CMS page * Call from controller action * * @param Mage_Core_Controller_Front_Action $action * @param integer $identifier * * @return bool */ public function renderPage(Mage_Core_Controller_Front_Action $action, $identifier = null) { if (!($catId = Mage::getSingleton('blog/cat')->load($identifier)->getCatId())) { return false; } $pageTitle = Mage::getSingleton('blog/cat')->load($identifier)->getTitle(); $blogTitle = Mage::getStoreConfig('blog/blog/title') . " - " . $pageTitle; $action->loadLayout(); if ($storage = Mage::getSingleton('customer/session')) { $action->getLayout()->getMessagesBlock()->addMessages($storage->getMessages(true)); } $action->getLayout()->getBlock('head')->setTitle($blogTitle); $action->getLayout()->getBlock('root')->setTemplate(Mage::getStoreConfig('blog/blog/layout')); $action->renderLayout(); return true; }
/** * Inits layout for viewing product page * * @param Mage_Catalog_Model_Product $product * @param Mage_Core_Controller_Front_Action $controller * * @return Mage_Catalog_Helper_Product_View */ public function initProductLayout($product, $controller) { $design = Mage::getSingleton('catalog/design'); $settings = $design->getDesignSettings($product); if ($settings->getCustomDesign()) { $design->applyCustomDesign($settings->getCustomDesign()); } $update = $controller->getLayout()->getUpdate(); $update->addHandle('default'); $controller->addActionLayoutHandles(); /* START OF CODE FOR CUSTOMIZATION OF PREMIUM PACKAGING */ /* $premium = false; $catIds = $product->getCategoryIds(); $premium = Mage::getModel('packaging/packaging')->bool_isPremiumPackaging($catIds, true); if($premium) { $update->addHandle('PRODUCT_TYPE_PREMIUM'); $update->addHandle('PRODUCT_' . $product->getId()); } else { */ $update->addHandle('PRODUCT_TYPE_' . $product->getTypeId()); $update->addHandle('PRODUCT_' . $product->getId()); /* } */ /* END OF CODE FOR CUSTOMIZATION OF PREMIUM PACKAGING */ $controller->loadLayoutUpdates(); // Apply custom layout update once layout is loaded $layoutUpdates = $settings->getLayoutUpdates(); if ($layoutUpdates) { if (is_array($layoutUpdates)) { foreach ($layoutUpdates as $layoutUpdate) { $update->addUpdate($layoutUpdate); } } } $controller->generateLayoutXml()->generateLayoutBlocks(); // Apply custom layout (page) template once the blocks are generated if ($settings->getPageLayout()) { $controller->getLayout()->helper('page/layout')->applyTemplate($settings->getPageLayout()); } $currentCategory = Mage::registry('current_category'); $root = $controller->getLayout()->getBlock('root'); if ($root) { $controllerClass = $controller->getFullActionName(); if ($controllerClass != 'catalog-product-view') { $root->addBodyClass('catalog-product-view'); } $root->addBodyClass('product-' . $product->getUrlKey()); if ($currentCategory instanceof Mage_Catalog_Model_Category) { $root->addBodyClass('categorypath-' . $currentCategory->getUrlPath())->addBodyClass('category-' . $currentCategory->getUrlKey()); } } return $this; }
/** * Inits layout for viewing product page * * @param Mage_Catalog_Model_Product $product * @param Mage_Core_Controller_Front_Action $controller * * @return Mage_Catalog_Helper_Product_View */ public function initProductLayout($product, $controller) { $design = Mage::getSingleton('catalog/design'); $settings = $design->getDesignSettings($product); if ($settings->getCustomDesign()) { $design->applyCustomDesign($settings->getCustomDesign()); } $update = $controller->getLayout()->getUpdate(); $update->addHandle('default'); $controller->addActionLayoutHandles(); $update->addHandle('PRODUCT_TYPE_' . $product->getTypeId()); $update->addHandle('PRODUCT_' . $product->getId()); $controller->loadLayoutUpdates(); // Apply custom layout update once layout is loaded $layoutUpdates = $settings->getLayoutUpdates(); if ($layoutUpdates) { if (is_array($layoutUpdates)) { foreach ($layoutUpdates as $layoutUpdate) { $update->addUpdate($layoutUpdate); } } } $controller->generateLayoutXml()->generateLayoutBlocks(); // Apply custom layout (page) template once the blocks are generated if ($settings->getPageLayout()) { $controller->getLayout()->helper('page/layout')->applyTemplate($settings->getPageLayout()); } else { if (Mage::getStoreConfig('mpanel/general/enabled') && Mage::getStoreConfig('mpanel/catalog/product_layout') != '') { $controller->getLayout()->helper('page/layout')->applyTemplate(Mage::getStoreConfig('mpanel/catalog/product_layout')); } } $currentCategory = Mage::registry('current_category'); $root = $controller->getLayout()->getBlock('root'); if ($root) { $controllerClass = $controller->getFullActionName(); if ($controllerClass != 'catalog-product-view') { $root->addBodyClass('catalog-product-view'); } $root->addBodyClass('product-' . $product->getUrlKey()); if ($currentCategory instanceof Mage_Catalog_Model_Category) { $root->addBodyClass('categorypath-' . $currentCategory->getUrlPath())->addBodyClass('category-' . $currentCategory->getUrlKey()); } } return $this; }
/** * Renders page * * Call from controller action * * @param Mage_Core_Controller_Front_Action $action * @param integer $pageId * @return boolean */ public function renderPage(Mage_Core_Controller_Front_Action $action, $id = null) { $model = Mage::getSingleton('manufacturer/manufacturer'); if (!is_null($id) && $id !== $model->getId()) { if (!$model->load($id)) { return false; } } if (!$model->getId() or $model->getStatus() != 1) { return false; } //print_r($page->getData());exit; /*if ($page->getCustomTheme()) { $apply = true; $today = Mage::app()->getLocale()->date()->toValue(); if (($from = $page->getCustomThemeFrom()) && strtotime($from)>$today) { $apply = false; } if ($apply && ($to = $page->getCustomThemeTo()) && strtotime($to)<$today) { $apply = false; } if ($apply) { list($package, $theme) = explode('/', $page->getCustomTheme()); Mage::getSingleton('core/design_package') ->setPackageName($package) ->setTheme($theme); } }*/ $action->loadLayout(array('default', 'manufacturer_view'), false, false); $action->getLayout()->getUpdate()->addUpdate($model->getLayoutUpdateXml()); $action->generateLayoutXml()->generateLayoutBlocks(); if ($storage = Mage::getSingleton('catalog/session')) { $action->getLayout()->getMessagesBlock()->addMessages($storage->getMessages(true)); } if ($storage = Mage::getSingleton('checkout/session')) { $action->getLayout()->getMessagesBlock()->addMessages($storage->getMessages(true)); } $action->renderLayout(); return true; }
/** * Renders CMS page * * Call from controller action * * @param Mage_Core_Controller_Front_Action $action * @param integer $pageId * @return boolean */ public function renderPage(Mage_Core_Controller_Front_Action $action, $identifier = null) { if (!($cat_id = Mage::getSingleton('blog/cat')->load($identifier)->getcatId())) { return false; } $page_title = Mage::getSingleton('blog/cat')->load($identifier)->getTitle(); $blog_title = Mage::getStoreConfig('blog/blog/title') . " - "; $action->loadLayout(); if ($storage = Mage::getSingleton('customer/session')) { $action->getLayout()->getMessagesBlock()->addMessages($storage->getMessages(true)); } $action->getLayout()->getBlock('head')->setTitle($page_title); /* if (Mage::getStoreConfig('blog/rss/enable')) { Mage::helper('blog')->addRss($action->getLayout()->getBlock('head'), Mage::getUrl(Mage::getStoreConfig('blog/blog/route') . "/cat/" .$identifier) . "rss"); } */ $action->getLayout()->getBlock('root')->setTemplate(Mage::getStoreConfig('blog/blog/layout')); $action->renderLayout(); return true; }
/** * Renders CMS page * * Call from controller action * * @param Mage_Core_Controller_Front_Action $action * @param integer $pageId * @return boolean */ public function renderPage(Mage_Core_Controller_Front_Action $action, $pageId = null) { $page = AO::getSingleton('cms/page'); if (!is_null($pageId) && $pageId !== $page->getId()) { $page->setStoreId(AO::app()->getStore()->getId()); if (!$page->load($pageId)) { return false; } } if (!$page->getId()) { return false; } if ($page->getCustomTheme()) { $apply = true; $today = AO::app()->getLocale()->date()->toValue(); if (($from = $page->getCustomThemeFrom()) && strtotime($from) > $today) { $apply = false; } if ($apply && ($to = $page->getCustomThemeTo()) && strtotime($to) < $today) { $apply = false; } if ($apply) { list($package, $theme) = explode('/', $page->getCustomTheme()); AO::getSingleton('core/design_package')->setPackageName($package)->setTheme($theme); } } $action->loadLayout(array('default', 'cms_page'), false, false); $action->getLayout()->getUpdate()->addUpdate($page->getLayoutUpdateXml()); $action->generateLayoutXml()->generateLayoutBlocks(); if ($storage = AO::getSingleton('catalog/session')) { $action->getLayout()->getMessagesBlock()->addMessages($storage->getMessages(true)); } if ($storage = AO::getSingleton('checkout/session')) { $action->getLayout()->getMessagesBlock()->addMessages($storage->getMessages(true)); } $action->renderLayout(); return true; }
/** * Renders CMS page * * Call from controller action * * @param Mage_Core_Controller_Front_Action $action * @param integer $pageId * @return boolean */ public function renderPage(Mage_Core_Controller_Front_Action $action, $identifier = null) { if (!($cat_id = Mage::getSingleton("blog/cat")->load($identifier)->getCatId())) { return false; } $action->loadLayout(); $layout = $action->getLayout(); if ($storage = Mage::getSingleton("customer/session")) { $layout->getMessagesBlock()->addMessages($storage->getMessages(true)); } $blogTitle = Mage::getStoreConfig("fontis_blog/blog/title"); $pageTitle = Mage::getSingleton("blog/cat")->load($identifier)->getTitle(); if ($head = $layout->getBlock("head")) { $head->setTitle($blogTitle . " - " . $pageTitle); if (Mage::getStoreConfig("fontis_blog/rss/enabled")) { $head->addItem("rss", Mage::getUrl(Mage::helper("blog")->getBlogRoute() . "/cat/" . $identifier) . "rss"); } } $layout->getBlock("root")->setTemplate(Mage::getStoreConfig("fontis_blog/blog/layout")); $action->renderLayout(); return true; }
/** * Inits layout for viewing product page * * @param Mage_Catalog_Model_Product $product * @param Mage_Core_Controller_Front_Action $controller * * @return Mage_Catalog_Helper_Product_View */ public function initProductLayout($product, $controller) { $design = Mage::getSingleton('Mage_Catalog_Model_Design'); $settings = $design->getDesignSettings($product); if ($settings->getCustomDesign()) { $design->applyCustomDesign($settings->getCustomDesign()); } $update = $controller->getLayout()->getUpdate(); $controller->addPageLayoutHandles(array('id' => $product->getId(), 'sku' => $product->getSku(), 'type' => $product->getTypeId())); $controller->loadLayoutUpdates(); // Apply custom layout update once layout is loaded $layoutUpdates = $settings->getLayoutUpdates(); if ($layoutUpdates) { if (is_array($layoutUpdates)) { foreach ($layoutUpdates as $layoutUpdate) { $update->addUpdate($layoutUpdate); } } } $controller->generateLayoutXml()->generateLayoutBlocks(); // Apply custom layout (page) template once the blocks are generated if ($settings->getPageLayout()) { $controller->getLayout()->helper('Mage_Page_Helper_Layout')->applyTemplate($settings->getPageLayout()); } $currentCategory = Mage::registry('current_category'); $root = $controller->getLayout()->getBlock('root'); if ($root) { $controllerClass = $controller->getFullActionName(); if ($controllerClass != 'catalog-product-view') { $root->addBodyClass('catalog-product-view'); } $root->addBodyClass('product-' . $product->getUrlKey()); if ($currentCategory instanceof Mage_Catalog_Model_Category) { $root->addBodyClass('categorypath-' . $currentCategory->getUrlPath())->addBodyClass('category-' . $currentCategory->getUrlKey()); } } return $this; }
/** * Renders CMS page * * Call from controller action * * @param Mage_Core_Controller_Front_Action $action * @param integer $pageId * @return boolean */ public function renderPage(Mage_Core_Controller_Front_Action $action, $pageId = null) { $page = Mage::getSingleton('cms/page'); if (!is_null($pageId) && $pageId !== $page->getId()) { $page->setStoreId(Mage::app()->getStore()->getId()); if (!$page->load($pageId)) { return false; } } if (!$page->getId()) { return false; } // $customerSession = Mage::getSingleton('customer/session'); // if (!$customerSession->authenticate($action)) { // $customerSession->setBeforeAuthUrl(Mage::getBaseUrl().$page->getIdentifier()); // return true; // } if ($page->getCustomTheme()) { $apply = true; $today = strtotime('today'); if (($from = $page->getCustomThemeFrom()) && strtotime($from) > $today) { $apply = false; } if ($apply && ($to = $page->getCustomThemeTo()) && strtotime($to) < $today) { $apply = false; } if ($apply) { list($package, $theme) = explode('/', $page->getCustomTheme()); Mage::getSingleton('core/design_package')->setPackageName($package)->setTheme($theme); } } $action->loadLayout(array('default', 'cms_page'), false, false); $action->getLayout()->getUpdate()->addUpdate($page->getLayoutUpdateXml()); $action->generateLayoutXml()->generateLayoutBlocks(); $action->renderLayout(); return true; }
/** * Renders CMS page * * Call from controller action * * @param Mage_Core_Controller_Front_Action $action * @param integer $pageId * @return boolean */ public function renderPage(Mage_Core_Controller_Front_Action $action, $pageId = null) { $page = Mage::getSingleton('cms/page'); if (!is_null($pageId) && $pageId !== $page->getId()) { $page->setStoreId(Mage::app()->getStore()->getId()); if (!$page->load($pageId)) { return false; } } if (!$page->getId()) { return false; } if ($page->getCustomTheme()) { if (Mage::app()->getLocale()->IsStoreDateInInterval(null, $page->getCustomThemeFrom(), $page->getCustomThemeTo())) { list($package, $theme) = explode('/', $page->getCustomTheme()); Mage::getSingleton('core/design_package')->setPackageName($package)->setTheme($theme); } } $action->getLayout()->getUpdate()->addHandle('default')->addHandle('cms_page'); $action->addActionLayoutHandles(); if ($page->getRootTemplate()) { $action->getLayout()->helper('page/layout')->applyHandle($page->getRootTemplate()); } $action->loadLayoutUpdates(); $action->getLayout()->getUpdate()->addUpdate($page->getLayoutUpdateXml()); $action->generateLayoutXml()->generateLayoutBlocks(); if ($page->getRootTemplate()) { $action->getLayout()->helper('page/layout')->applyTemplate($page->getRootTemplate()); } if ($storage = Mage::getSingleton('catalog/session')) { $action->getLayout()->getMessagesBlock()->addMessages($storage->getMessages(true)); } if ($storage = Mage::getSingleton('checkout/session')) { $action->getLayout()->getMessagesBlock()->addMessages($storage->getMessages(true)); } $action->renderLayout(); return true; }
/** * Get Breadcrumbs for current controller action * * @param Mage_Core_Controller_Front_Action $controller */ public function getBreadcrumbs($controller) { $breadcrumbs = $controller->getLayout()->getBlock('breadcrumbs'); $breadcrumbs->addCrumb('home', array('label' => Mage::helper('cms')->__('Home'), 'title' => Mage::helper('cms')->__('Go to Home Page'), 'link' => Mage::getBaseUrl())); $breadcrumbs->addCrumb('cms_page', array('label' => Mage::helper('sales')->__('Order Information'), 'title' => Mage::helper('sales')->__('Order Information'))); }
/** * Renders the attribute info page * Call from controller action * * @param Mage_Core_Controller_Front_Action $action */ public function renderAllAttributesPage(Mage_Core_Controller_Front_Action $action) { $action->getLayout()->getUpdate()->addHandle('default')->addHandle('dc_catalog_attributeinfo_all'); $action->addActionLayoutHandles(); $action->loadLayoutUpdates(); //$action->getLayout()->getUpdate()->addUpdate($attributeInfo->getLayoutUpdateXml()); $action->generateLayoutXml()->generateLayoutBlocks(); /*if (($attributeInfo->getRootTemplate()) && ('empty' != $attributeInfo->getRootTemplate())) { $action->getLayout()->helper('page/layout') ->applyTemplate($attributeInfo->getRootTemplate()); }*/ // show breadcrumbs if (Mage::getStoreConfig('web/default/show_cms_breadcrumbs') && ($breadcrumbs = $action->getLayout()->getBlock('breadcrumbs'))) { $breadcrumbs->addCrumb('home', array('label' => Mage::helper('dc_catalog')->__('Home'), 'title' => Mage::helper('dc_catalog')->__('Go to Home Page'), 'link' => Mage::getBaseUrl())); $attributeCode = Mage::registry('attribute_code'); $attribute = Mage::getSingleton('eav/config')->getAttribute('catalog_product', $attributeCode); if (is_array($labels = $attribute->getStoreLabels()) && isset($labels[Mage::app()->getStore()->getId()])) { $label = $labels[Mage::app()->getStore()->getId()]; } else { $label = $attribute->getFrontendLabel(); } $breadcrumbs->addCrumb('allvalues', array('label' => Mage::helper('dc_catalog')->__($label . 's'))); } if ($storage = Mage::getSingleton('catalog/session')) { $action->getLayout()->getMessagesBlock()->addMessages($storage->getMessages(true)); } if ($storage = Mage::getSingleton('checkout/session')) { $action->getLayout()->getMessagesBlock()->addMessages($storage->getMessages(true)); } $action->renderLayout(); return true; }
/** * Get Breadcrumbs for current controller action * * @param Mage_Core_Controller_Front_Action $controller */ public function getBreadcrumbs($controller) { $breadcrumbs = $controller->getLayout()->getBlock('breadcrumbs'); $breadcrumbs->addCrumb('home', array('label' => Mage::helper('cms')->__('Home'), 'title' => Mage::helper('cms')->__('Go to Home Page'), 'link' => Mage::getBaseUrl())); $breadcrumbs->addCrumb('cms_page', array('label' => 'Информация по заказу', 'title' => 'Информация по заказу')); }
/** * Is the observer applicable in this case? * * @param Mage_Core_Controller_Front_Action $action * @return boolean */ protected function _isApplicable($action) { return $action->getLayout()->getArea() == self::TARGET_AREA && $this->_helper->isEnabled() && $this->_helper->isObservingController(); }