/** * Method to display the requested view */ public function display($tpl = null) { // Set which block to display $this->setBlock('content'); // Build the bridge right away, because we need data from Magento $block = $this->build(); // Determine which template to display if (MageBridgeTemplateHelper::isProductPage()) { $tpl = 'product'; } else { if (MageBridgeTemplateHelper::isCategoryPage()) { $tpl = 'category'; } } // Output component-only pages $bridge = MageBridge::getBridge(); if ($bridge->isAjax()) { print $block; JFactory::getApplication()->close(); } // Add controller information $mageConfig = $bridge->getMageConfig(); $this->mage_controller = isset($mageConfig['controller']) ? $mageConfig['controller'] : null; $this->mage_action = isset($mageConfig['action']) ? $mageConfig['action'] : null; // Assemble the page class $contentClass = array('magebridge-content'); if (!empty($mageController)) { $contentClass[] = 'magebridge-' . $mageController; } if (!empty($mageAction)) { $contentClass[] = 'magebridge-' . $mageController . '-' . $mageAction; } $this->content_class = $contentClass; parent::display($tpl); }
public function display($tpl = null) { // Set which block to display $this->setBlock('content'); // Build the bridge right away, because we need data from Magento $this->build(); // Determine which template to display if (MageBridgeTemplateHelper::isProductPage()) { $tpl = 'product'; } else { if (MageBridgeTemplateHelper::isCategoryPage()) { $tpl = 'category'; } } // Output component-only pages $bridge = MageBridge::getBridge(); if ($bridge->isAjax()) { print $this->block; JFactory::getApplication()->close(); } parent::display($tpl); }
public static function allowPosition($position) { // If the position is empty, default to true $position = trim($position); if (empty($position)) { return true; } // Check for a certain page if (MageBridgeTemplateHelper::isHomePage()) { $setting = 'flush_positions_home'; } else { if (MageBridgeTemplateHelper::isCustomerPage()) { $setting = 'flush_positions_customer'; } else { if (MageBridgeTemplateHelper::isProductPage()) { $setting = 'flush_positions_product'; } else { if (MageBridgeTemplateHelper::isCategoryPage()) { $setting = 'flush_positions_category'; } else { if (MageBridgeTemplateHelper::isCartPage()) { $setting = 'flush_positions_cart'; } else { if (MageBridgeTemplateHelper::isCheckoutPage()) { $setting = 'flush_positions_checkout'; } else { $setting = ''; } } } } } } // If the page-check returns empty, default to true if (empty($setting)) { return true; } // Check for flushing of positions within the MageBridge configuration $array = explode(',', MagebridgeModelConfig::load($setting)); if (!empty($array)) { foreach ($array as $a) { if ($position == trim($a)) { return false; } } } // Default to true return true; }
/** * Method to load the CSS headers * * @param null * @return null */ public function loadDefaultCss() { // Dot not load if this is not the right document-class $document = JFactory::getDocument(); if ($document->getType() != 'html') { return false; } // Check whether the bridge is offline $offline = MageBridge::getBridge()->isOffline(); if ($offline == true) { return false; } // Determine whether to load the default CSS or not if (MagebridgeModelConfig::load('disable_default_css') == 0) { // Load common stylesheets MageBridgeTemplateHelper::load('css', 'default.css'); MageBridgeTemplateHelper::load('css', 'custom.css'); // Load specific stylesheets per page if (MageBridgeTemplateHelper::isHomePage()) { MageBridgeTemplateHelper::load('css', 'homepage.css'); } if (MageBridgeTemplateHelper::isProductPage()) { MageBridgeTemplateHelper::load('css', 'product.css'); } if (MageBridgeTemplateHelper::isCategoryPage()) { MageBridgeTemplateHelper::load('css', 'category.css'); } // Determine browser-specific stylesheets jimport('joomla.environment.browser'); $browser = JBrowser::getInstance(); if ($browser->getBrowser() == 'msie') { MageBridgeTemplateHelper::load('css', 'default-ie.css'); } if ($browser->getBrowser() == 'msie' && $browser->getVersion() == '6.0') { MageBridgeTemplateHelper::load('css', 'default-ie6.css'); } if ($browser->getBrowser() == 'msie' && $browser->getVersion() == '7.0') { MageBridgeTemplateHelper::load('css', 'default-ie7.css'); } if ($browser->getBrowser() == 'msie' && $browser->getVersion() == '8.0') { MageBridgeTemplateHelper::load('css', 'default-ie8.css'); } } }
/** * Helper-method to set the debugging information * * @param null * @return null */ public static function addDebug() { // Do not add debugging information when posting or redirecting if (strtolower($_SERVER['REQUEST_METHOD']) == 'post') { return false; } // Only continue when debugging is enabled if (MageBridgeModelDebug::isDebug() && MagebridgeModelConfig::load('debug_bar')) { // Load variables $debug = MageBridgeModelDebug::getInstance(); $bridge = MageBridgeModelBridge::getInstance(); $register = MageBridgeModelRegister::getInstance(); $original_request = MageBridgeUrlHelper::getOriginalRequest(); $request = MageBridgeUrlHelper::getRequest(); // Debug the MageBridge request if (MagebridgeModelConfig::load('debug_bar_request')) { $url = $bridge->getMagentoUrl() . $request; if (empty($request)) { $request = '[empty]'; } $Itemid = JFactory::getApplication()->input->getInt('Itemid'); $root_item = MageBridgeUrlHelper::getRootItem(); $root_item_id = $root_item ? $root_item->id : false; $menu_message = 'Menu-Item: ' . $Itemid; if ($root_item_id == $Itemid) { $menu_message .= ' (Root Menu-Item)'; } JError::raiseNotice('notice', $menu_message); JError::raiseNotice('notice', JText::sprintf('Page request: %s', !empty($request) ? $request : '[empty]')); JError::raiseNotice('notice', JText::sprintf('Original request: %s', $bridge->getSessionData('request'))); JError::raiseNotice('notice', JText::sprintf('Received request: %s', $bridge->getSessionData('request'))); JError::raiseNotice('notice', JText::sprintf('Received referer: %s', $bridge->getSessionData('referer'))); JError::raiseNotice('notice', JText::sprintf('Current referer: %s', $bridge->getHttpReferer())); JError::raiseNotice('notice', JText::sprintf('Magento request: <a href="%s" target="_new">%s</a>', $url, $url)); JError::raiseNotice('notice', JText::sprintf('Magento session: %s', $bridge->getMageSession())); if (MageBridgeTemplateHelper::isCategoryPage()) { JError::raiseNotice('notice', JText::_('MageBridgeTemplateHelper::isCategoryPage() == TRUE')); } if (MageBridgeTemplateHelper::isProductPage()) { JError::raiseNotice('notice', JText::_('MageBridgeTemplateHelper::isProductPage() == TRUE')); } if (MageBridgeTemplateHelper::isCatalogPage()) { JError::raiseNotice('notice', JText::_('MageBridgeTemplateHelper::isCatalogPage() == TRUE')); } if (MageBridgeTemplateHelper::isCustomerPage()) { JError::raiseNotice('notice', JText::_('MageBridgeTemplateHelper::isCustomerPage() == TRUE')); } if (MageBridgeTemplateHelper::isCartPage()) { JError::raiseNotice('notice', JText::_('MageBridgeTemplateHelper::isCartPage() == TRUE')); } if (MageBridgeTemplateHelper::isCheckoutPage()) { JError::raiseNotice('notice', JText::_('MageBridgeTemplateHelper::isCheckoutPage() == TRUE')); } if (MageBridgeTemplateHelper::isSalesPage()) { JError::raiseNotice('notice', JText::_('MageBridgeTemplateHelper::isSalesPage() == TRUE')); } if (MageBridgeTemplateHelper::isHomePage()) { JError::raiseNotice('notice', JText::_('MageBridgeTemplateHelper::isHomePage() == TRUE')); } } // Add store information if (MagebridgeModelConfig::load('debug_bar_store')) { JError::raiseNotice('notice', JText::sprintf('Magento store loaded: %s (%s)', $bridge->getSessionData('store_name'), $bridge->getSessionData('store_code'))); } // Add category information $category_id = $bridge->getSessionData('current_category_id'); if ($category_id > 0) { JError::raiseNotice('notice', JText::sprintf('Magento category: %d', $category_id)); } // Add product information $product_id = $bridge->getSessionData('current_product_id'); if ($product_id > 0) { JError::raiseNotice('notice', JText::sprintf('Magento product: %d', $product_id)); } // Add information on bridge-segments if (MagebridgeModelConfig::load('debug_bar_parts')) { $i = 0; $segments = $register->getRegister(); foreach ($segments as $segment) { if (isset($segment['status']) && $segment['status'] == 1) { switch ($segment['type']) { case 'breadcrumbs': case 'meta': case 'debug': case 'headers': case 'events': JError::raiseNotice('notice', JText::sprintf('Magento [%d]: %s', $i, ucfirst($segment['type']))); break; case 'api': JError::raiseNotice('notice', JText::sprintf('Magento [%d]: API resource "%s"', $i, $segment['name'])); break; case 'block': JError::raiseNotice('notice', JText::sprintf('Magento [%d]: Block "%s"', $i, $segment['name'])); break; default: $name = isset($segment['name']) ? $segment['name'] : null; $type = isset($segment['type']) ? $segment['type'] : null; JError::raiseNotice('notice', JText::sprintf('Magento [%d]: type %s, name %s', $i, $type, $name)); break; } $i++; } } } } }
private function allowPosition($position) { // Don't do anything if MageBridge is not enabled if ($this->isEnabled() == false) { return true; } // If the position is empty, default to true $position = trim($position); if (empty($position)) { return true; } // Check for a certain page if (MageBridgeTemplateHelper::isHomePage()) { $setting = 'flush_positions_home'; } else { if (MageBridgeTemplateHelper::isCustomerPage()) { $setting = 'flush_positions_customer'; } else { if (MageBridgeTemplateHelper::isProductPage()) { $setting = 'flush_positions_product'; } else { if (MageBridgeTemplateHelper::isCategoryPage()) { $setting = 'flush_positions_category'; } else { if (MageBridgeTemplateHelper::isCartPage()) { $setting = 'flush_positions_cart'; } else { if (MageBridgeTemplateHelper::isCheckoutPage()) { $setting = 'flush_positions_checkout'; } else { $setting = null; } } } } } } // If the page-check returns empty, default to true if (empty($setting)) { return true; } // Check for flushing of positions within the MageBridge configuration $array = explode(',', $this->params->get($setting)); if (!empty($array)) { foreach ($array as $a) { if ($position == trim($a)) { return false; } } } // Default to true return true; }
public function addDebug() { if (MageBridgeModelDebug::isDebug() && MagebridgeModelConfig::load('debug_bar')) { $debug = MageBridgeModelDebug::getInstance(); $bridge = MageBridgeModelBridge::getInstance(); $register = MageBridgeModelRegister::getInstance(); $request = MageBridgeUrlHelper::getRequest(); if (MagebridgeModelConfig::load('debug_bar_request')) { $url = $bridge->getMagentoUrl() . $request; if (empty($request)) { $request = '[empty]'; } $Itemid = JRequest::getInt('Itemid'); $root_item = MageBridgeUrlHelper::getRootItem(); $root_item_id = $root_item ? $root_item->id : false; $menu_message = 'Menu-Item: ' . $Itemid; if ($root_item_id == $Itemid) { $menu_message .= ' (Root Menu-Item)'; } JError::raiseNotice('notice', $menu_message); JError::raiseNotice('notice', JText::sprintf('Page request: %s', !empty($request) ? $request : '[empty]')); JError::raiseNotice('notice', JText::sprintf('Received request: %s', $bridge->getMageConfig('request'))); JError::raiseNotice('notice', JText::sprintf('Received referer: %s', $bridge->getMageConfig('referer'))); JError::raiseNotice('notice', JText::sprintf('Current referer: %s', $bridge->getHttpReferer())); JError::raiseNotice('notice', JText::sprintf('Magento request: <a href="%s" target="_new">%s</a>', $url, $url)); JError::raiseNotice('notice', JText::sprintf('Magento session: %s', $bridge->getMageSession())); if (MageBridgeTemplateHelper::isCategoryPage()) { JError::raiseNotice('notice', JText::_('MageBridgeTemplateHelper::isCategoryPage() == TRUE')); } if (MageBridgeTemplateHelper::isProductPage()) { JError::raiseNotice('notice', JText::_('MageBridgeTemplateHelper::isProductPage() == TRUE')); } if (MageBridgeTemplateHelper::isCatalogPage()) { JError::raiseNotice('notice', JText::_('MageBridgeTemplateHelper::isCatalogPage() == TRUE')); } if (MageBridgeTemplateHelper::isCustomerPage()) { JError::raiseNotice('notice', JText::_('MageBridgeTemplateHelper::isCustomerPage() == TRUE')); } if (MageBridgeTemplateHelper::isCartPage()) { JError::raiseNotice('notice', JText::_('MageBridgeTemplateHelper::isCartPage() == TRUE')); } if (MageBridgeTemplateHelper::isCheckoutPage()) { JError::raiseNotice('notice', JText::_('MageBridgeTemplateHelper::isCheckoutPage() == TRUE')); } if (MageBridgeTemplateHelper::isSalesPage()) { JError::raiseNotice('notice', JText::_('MageBridgeTemplateHelper::isSalesPage() == TRUE')); } if (MageBridgeTemplateHelper::isHomePage()) { JError::raiseNotice('notice', JText::_('MageBridgeTemplateHelper::isHomePage() == TRUE')); } } if (MagebridgeModelConfig::load('debug_bar_store')) { JError::raiseNotice('notice', JText::sprintf('Magento store loaded: %s', $bridge->getMageConfig('store_name'))); } if (MagebridgeModelConfig::load('debug_bar_parts')) { $i = 0; foreach ($register->getRegister() as $segment) { if (isset($segment['status']) && $segment['status'] == 1) { switch ($segment['type']) { case 'breadcrumbs': case 'meta': case 'debug': case 'headers': case 'events': JError::raiseNotice('notice', JText::sprintf('Magento [%d]: %s', $i, ucfirst($segment['type']))); break; case 'api': JError::raiseNotice('notice', JText::sprintf('Magento [%d]: API resource "%s"', $i, $segment['name'])); break; case 'block': JError::raiseNotice('notice', JText::sprintf('Magento [%d]: Block "%s"', $i, $segment['name'])); break; default: $name = isset($segment['name']) ? $segment['name'] : null; $type = isset($segment['type']) ? $segment['type'] : null; JError::raiseNotice('notice', JText::sprintf('Magento [%d]: type %s, name %s', $i, $type, $name)); break; } $i++; } } } $this->assignRef('debug', $debug->getData()); } }