public function insertBlock(Varien_Event_Observer $observer) { if (Mage::app()->getFrontController()->getAction()->getFullActionName() === 'adminhtml_dashboard_index') { if ($observer->getBlock()->getUseAsDashboardHook()) { $html = $observer->getTransport()->getHtml(); $zendeskDash = $observer->getBlock()->getLayout()->createBlock('zendesk/adminhtml_dashboard')->setName('zendesk_dashboard'); $zendeskGrid = $zendeskDash->getLayout()->createBlock('zendesk/adminhtml_dashboard_grids')->setName('zendesk_dashboard_grids'); $zendeskDash->setChild('zendesk_dashboard_grids', $zendeskGrid); $html .= $zendeskDash->toHtml(); $observer->getTransport()->setHtml($html); } } }
/** * observe adminhtml_block_html_before * * @param Varien_Event_Observer $event * @return void */ public function adminhtmlBlockHtmlBefore(Varien_Event_Observer $event) { $block = $event->getBlock(); if (in_array($block->getId(), Mage::getSingleton('firegento_gridcontrol/config')->getGridList())) { Mage::getModel('firegento_gridcontrol/processor')->processBlock($block); } }
/** * Adds a button to the view-shipment page, allowing the merchant to create a MyParcel-consignment. * The button is not showed when a consignment is already present. * * @param Varien_Event_Observer $observer * * @return $this * * @event adminhtml_widget_container_html_before * * @observer tig_myparcel_adminhtml_view_shipment */ public function adminhtmlWidgetContainerHtmlBefore(Varien_Event_Observer $observer) { /** @var Mage_Adminhtml_Block_Widget_Container $block ; */ $block = $observer->getBlock(); /** @var TIG_MyParcel2014_Helper_Data $helper */ $helper = Mage::helper('tig_myparcel'); if ($block instanceof Mage_Adminhtml_Block_Sales_Order_Shipment_View) { $shipmentId = $block->getRequest()->getParam('shipment_id'); $shippingMethod = Mage::getModel('sales/order_shipment')->load($shipmentId)->getOrder()->getShippingMethod(); if (!$helper->shippingMethodIsMyParcel($shippingMethod)) { return; } $myParcelShipment = Mage::getModel('tig_myparcel/shipment')->load($shipmentId, 'shipment_id'); if (!$myParcelShipment->hasConsignmentId()) { $block->addButton('myparcel_create_consignment', array('label' => $helper->__('Create MyParcel Consignment'), 'id' => 'createMyParcelConsignment', 'class' => 'go')); // remove Send Tracking Information button $block->removeButton('save'); } else { if ($myParcelShipment->getShipment()->getShippingAddress()->getCountry() == 'NL') { $retourUrl = $block->getUrl(self::RETOURLINK_ROUTE, array('shipment_id' => $shipmentId)); $block->addButton('myparcel_create_return_url', array('label' => $helper->__('Mail retour label'), 'class' => 'go', 'onclick' => "setLocation('" . $retourUrl . "')")); } } } }
/** * @param Varien_Event_Observer $observer * * @return $this */ public function handleInlineJs(Varien_Event_Observer $observer) { Varien_Profiler::start('MeanbeeFooterJs'); /** @var Meanbee_Footerjs_Helper_Data $helper */ $helper = Mage::helper('meanbee_footerjs'); if (!$helper->isEnabled()) { return $this; } /** @var Mage_Core_Block_Abstract $block */ $block = $observer->getBlock(); if (!is_null($block->getParentBlock())) { // Only look for JS at the root block return $this; } /** @var Varien_Object $transport */ $transport = $observer->getTransport(); $patterns = array('js' => self::REGEX_JS, 'document_end' => self::REGEX_DOCUMENT_END); foreach ($patterns as $pattern) { $matches = array(); $html = $transport->getHtml(); $success = preg_match_all($pattern, $html, $matches); if ($success) { $text = implode('', $matches[0]); $html = preg_replace($pattern, '', $html); $transport->setHtml($html . $text); } } Varien_Profiler::stop('MeanbeeFooterJs'); return $this; }
/** * Appends the "sortable" js code to the bottom of ajax-Request for the category-products loaded after * changing sort order. * * @param Varien_Event_Observer $observer */ public function addSortableScriptOnGrid(Varien_Event_Observer $observer) { $_block = $observer->getBlock(); $_type = $_block->getType(); if (Mage::helper('ffuenf_categoryproductsortbackend')->isExtensionActive() && $_type == 'adminhtml/catalog_category_tab_product') { $content = $observer->getTransport()->getHtml(); $dom = new DOMDocument('1.0', 'utf-8'); $doc = new DOMDocument('1.0', 'utf-8'); $dom->loadHTML(mb_convert_encoding($content, 'HTML-ENTITIES', 'UTF-8')); foreach ($dom->getElementsByTagName('select') as $element) { if ($element->getAttribute('name') == 'limit') { $option = $dom->createElement('option'); $option->appendChild($dom->createTextNode('All')); $option->setAttribute('value', 0); $option = $element->appendChild($option); } } $additionalHtml = $this->appendScript($content); $additionalDoc = new DOMDocument(); $additionalDoc->loadHTML($additionalHtml); $additionalDocScript = $additionalDoc->getElementsByTagName('script')->item(0); $body = $dom->getElementsByTagName('body')->item(0); foreach ($body->childNodes as $child) { $doc->appendChild($doc->importNode($child, true)); } $doc->appendChild($doc->importNode($additionalDocScript, true)); $content = $doc->saveHTML(); $observer->getTransport()->setHtml($content); } }
/** * override the template of option edit tab * * @param Varien_Event_Observer $observer */ public function layerLoadBefore(Varien_Event_Observer $observer) { $block = $observer->getBlock(); if (Mage::getStoreConfig('magetools_optionfilter/setting/enabled') && $block instanceof Mage_Adminhtml_Block_Catalog_Product_Edit_Tab_Options_Option) { $block->setTemplate('magetools/optionfilter/product_option.phtml'); } }
/** * Rewrite select template * * @see core_block_abstract_to_html_before * @param Varien_Event_Observer $observer */ public function changeOptionsTypeSelectTemplate($observer) { $block = $observer->getBlock(); if (get_class($block) == 'Mage_Adminhtml_Block_Catalog_Product_Edit_Tab_Options_Type_Select') { $block->setTemplate('aydus/customconfigurable/catalog/product/edit/options/type/select.phtml'); } return $this; }
public function addMassaction(Varien_Event_Observer $observer) { $block = $observer->getBlock(); if (!isset($block)) { return; } $block->getMassactionBlock()->addItem('set_fetured', array('label' => Mage::helper('sm_featured')->__('Set featured'), 'url' => Mage::app()->getStore()->getUrl('*/*/massFeatured', array('_current' => true)), 'additional' => array('visibility' => array('name' => 'status', 'type' => 'select', 'class' => 'required-entry', 'label' => Mage::helper('sm_featured')->__('Status'), 'values' => array(0 => 'Disable', 1 => 'Enable'))))); }
/** * Prepare the adminhtml category products view * * @param Varien_Event_Observer $observer Observer Instance */ public function adminhtmlBlockHtmlBefore(Varien_Event_Observer $observer) { /* @var $block Mage_Adminhtml_Block_Widget_Grid */ $block = $observer->getBlock(); if ($block instanceof Mage_Adminhtml_Block_Widget_Grid && $block->getId() == 'catalog_category_products' && $block->getCategory()->getId()) { $block->addColumn('dynamic', array('header' => Mage::helper('catalog')->__('Type'), 'width' => '80', 'index' => 'dynamic', 'sortable' => false, 'filter' => false, 'frame_callback' => array($this, 'decorateType'))); } }
public function coreBlockAbstractToHtmlBefore(Varien_Event_Observer $observer) { /** @var Mage_Core_Block_Abstract $block */ $block = $observer->getBlock(); if ($block instanceof Mage_Core_Block_Template && Mage::helper('sse_debugerrors')->isEnabled()) { $this->_checkPossibleTemplateErrors($block); } }
/** * @param Varien_Event_Observer $observer */ public function addExtraColumnsToGrid(Varien_Event_Observer $observer) { // Get the block $block = $observer->getBlock(); if ($block instanceof Mage_Adminhtml_Block_Report_Shopcart_Abandoned_Grid) { $block->addColumnAfter('abandoned_notified', array('header' => Mage::helper('abandonedcarts')->__('Abandoned cart email sent'), 'index' => 'abandoned_notified', 'type' => 'options', 'options' => array(0 => Mage::helper('abandonedcarts')->__('No'), 1 => Mage::helper('abandonedcarts')->__('Yes'))), 'remote_ip'); $block->addColumnAfter('abandoned_sale_notified', array('header' => Mage::helper('abandonedcarts')->__('Abandoned cart sale email sent'), 'index' => 'abandoned_sale_notified', 'type' => 'options', 'options' => array(0 => Mage::helper('abandonedcarts')->__('No'), 1 => Mage::helper('abandonedcarts')->__('Yes'))), 'abandoned_notified'); } }
/** * Remove popup block after rendering, so that following renderers can use their own instance * * @param Varien_Event_Observer $observer */ public function removePopupBlockFromLayout(Varien_Event_Observer $observer) { $block = $observer->getBlock(); if ($this->_shouldAddPopup($block)) { /* @var $container Mage_Core_Block_Text_List */ $container = $block->getLayout()->getBlock('additional.product.info'); $container->unsetChild(self::POPUP_ALIAS_IN_LAYOUT); } }
public function addFeaturedColumn(Varien_Event_Observer $observer) { // echo __METHOD__; $block = $observer->getBlock(); if ($block->getType() == 'adminhtml/catalog_product_grid') { // if ($block->getId() == 'productGrid'){ $block->addColumnAfter('featured', array('header' => Mage::helper('catalog')->__('is Featured'), 'width' => '70px', 'index' => 'is_featured', 'type' => 'options', 'options' => array(0 => 'No', 1 => 'Category', 2 => 'Home')), 'action'); } }
/** * Set flag to add unprocessed event count after load. * Uses core_block_abstract_to_html_before because this is the only event fired before * grid is prepared and collection loaded. Cannot use collection flag because collection * is not instantiated yet. * * @see event core_block_abstract_to_html_before * @param Varien_Event_Observer $observer * @return Hackathon_AsyncIndex_Model_Observer */ public function prepareCollectionForGrid(Varien_Event_Observer $observer) { /* @var $block Mage_Core_Block_Abstract $block */ $block = $observer->getBlock(); if ($block instanceof Mage_Index_Block_Adminhtml_Process_Grid) { $this->_shouldLoadUnprocessedEventCount = true; } return $this; }
/** * @see event adminhtml_block_html_before * @return */ public function addIndexStatusColumn(Varien_Event_Observer $observer) { /** @var Mage_Adminhtml_Block_Template $block */ $block = $observer->getBlock(); if ($block instanceof Mage_Index_Block_Adminhtml_Process_Grid) { $this->_addIndexStatusColumnTo($block); $this->_changeActionColumnToAjax($block); } }
/** * Add massAction option to Productgrid * * @param Varien_Event_Observer $observer * @return self */ public function addMassactionToProductGrid($observer) { $block = $observer->getBlock(); if ($block instanceof Mage_Adminhtml_Block_Catalog_Product_Grid) { $sets = Mage::getResourceModel('eav/entity_attribute_set_collection')->setEntityTypeFilter(Mage::getModel('catalog/product')->getResource()->getTypeId())->load()->toOptionHash(); $block->getMassactionBlock()->addItem('flagbit_changeattributeset', array('label' => Mage::helper('catalog')->__('Change attribute set'), 'url' => $block->getUrl('*/*/changeattributeset', array('_current' => TRUE)), 'additional' => array('visibility' => array('name' => 'attribute_set', 'type' => 'select', 'class' => 'required-entry', 'label' => Mage::helper('catalog')->__('Attribute Set'), 'values' => $sets)))); } return $this; }
/** * Looks for the hook we set and adds our own custom block. * * @param Varien_Event_Observer $observer * @return Smartbear_Alertsite_Model_Observer */ public function coreBlockAbstractToHtmlAfter(Varien_Event_Observer $observer) { if (!Mage::helper('alertsite')->getConfig('alertsite_config', 'enabled') || strlen(trim(Mage::helper('alertsite')->getConfig('alertsite_config', 'alertsite_user'))) < 1) { return $this; } if (Mage::app()->getFrontController()->getAction()->getFullActionName() === 'adminhtml_dashboard_index') { if ($observer->getBlock()->getAlertsiteDashboardHook()) { $html = $observer->getTransport()->getHtml(); // grab the html that's already rendered /** @var $dashboardBox Smartbear_Alertsite_Block_Adminhtml_Dashboard */ $dashboardBox = $observer->getBlock()->getLayout()->createBlock('alertsite/adminhtml_dashboard'); $dashboardBox->insert($observer->getBlock()->getLayout()->createBlock('core/template', 'alertsite.subheader')->setTemplate('alertsite/subheader.phtml')); $html .= $dashboardBox->toHtml(); $observer->getTransport()->setHtml($html); } } return $this; }
public function beforeBlockToHtml(Varien_Event_Observer $observer) { $grid = $observer->getBlock(); /** * Mage_Adminhtml_Block_Customer_Grid */ if ($grid instanceof Mage_Adminhtml_Block_Customer_Grid) { $grid->addColumnAfter('points', array('header' => 'Points for Order', 'type' => 'text', 'index' => 'points'), 'email'); } }
/** * Checks the block being created and if its the authorize.net payment * form block, creates an anonymous child block to add to it so * we can spit out an error message if auth.net is in test mode * * @param Varien_Event_Observer $observer * * @return void */ public function checkBlock(Varien_Event_Observer $observer) { Varien_Profiler::start('AUTH NET TEST MODE'); $block = $observer->getBlock(); if ('payment/form_cc' == $block->getType()) { $validate = Mage::app()->getLayout()->createBlock('atlanticbt_authnettestmode/checkout_onepage_validate'); $block->setChild('atlanticbt_authnettestmode', $validate); } Varien_Profiler::stop('AUTH NET TEST MODE'); }
public function appendRecommendationColumn(Varien_Event_Observer $evt) { $block = $evt->getBlock(); if (!isset($block)) { return $this; } if ($block->getType() == 'adminhtml/sales_order_grid') { $block->addColumnAfter('recommendation', array('header' => Mage::helper('sales')->__('Recommendation'), 'index' => 'recommendation', 'type' => 'text'), 'status'); } }
/** * before block to html observer * * @param Varien_Event_Observer $observer */ public function beforeBlockToHtml(Varien_Event_Observer $observer) { $grid = $observer->getBlock(); /** * Mage_Adminhtml_Block_Customer_Grid */ if ($grid instanceof Mage_Adminhtml_Block_Promo_Quote_Edit_Tab_Coupons_Grid) { $grid->addColumnAfter('expiration_date', array('header' => Mage::helper('salesrule')->__('Expiration date'), 'index' => 'expiration_date', 'type' => 'datetime', 'default' => '-', 'align' => 'center', 'width' => '160'), 'created_at')->addColumnAfter('generated_by_dotmailer', array('header' => Mage::helper('salesrule')->__('Generated By dotmailer'), 'index' => 'generated_by_dotmailer', 'type' => 'options', 'options' => array('null' => 'No', '1' => 'Yes'), 'width' => '30', 'align' => 'center', 'filter_condition_callback' => array($this, 'filterCallbackContact')), 'expiration_date'); } }
public function optimizeCmsBlocksCache(Varien_Event_Observer $observer) { $block = $observer->getBlock(); if ($block instanceof Mage_Cms_Block_Widget_Block || $block instanceof Mage_Cms_Block_Block) { $cacheKeyData = array(Mage_Cms_Model_Block::CACHE_TAG, $block->getBlockId(), Mage::app()->getStore()->getId()); $block->setCacheKey(implode('_', $cacheKeyData)); $block->setCacheTags(array(Mage_Cms_Model_Block::CACHE_TAG)); $block->setCacheLifetime(false); } }
/** * Observes core_block_abstract_to_html_before * * Calls observers for each block. @see readme.md for details. * * @param Varien_Event_Observer $eventObserver */ public function customBlockCache(Varien_Event_Observer $eventObserver) { /** @var Mage_Core_Block_Abstract $block */ $block = $eventObserver->getBlock(); $cacheObserverConfig = Mage::getSingleton('cacheobserver/config'); $observers = $cacheObserverConfig->getObserversByBlockInstance($block); foreach ($observers as $observer) { Mage::getModel($observer['model_alias'])->{$observer}['method']($block); } }
/** * Append the baseprice html if necessary (frontend) * * @param Varien_Event_Observer $observer */ public function blockCatalogProductGetPriceHtml($observer) { if (!Mage::helper('baseprice')->moduleActive() || Mage::helper('baseprice')->inAdmin() || !Mage::helper('baseprice')->getConfig('auto_append_base_price')) { return; } $block = $observer->getBlock(); $container = $observer->getContainer(); $block->setTemplate('baseprice/baseprice.phtml'); $html = $container->getHtml() . $block->toHtml(); $container->setHtml($html); }
public function coreBlockAbstractToHtmlAfter(Varien_Event_Observer $observer) { if (!Mage::helper('aw_giftcard')->isModuleOutputEnabled()) { return $this; } if ($observer->getBlock() instanceof Mage_Checkout_Block_Cart_Coupon) { $block = Mage::app()->getLayout()->createBlock('aw_giftcard/frontend_checkout_cart_giftcard'); $observer->getTransport()->setHtml($observer->getTransport()->getHtml() . $block->toHtml()); } return $this; }
/** * Adds column to admin sales order grid * * @param Varien_Event_Observer $observer * @return void */ public function appendColumnToSalesOrderGrid(Varien_Event_Observer $observer) { $block = $observer->getBlock(); if (!isset($block)) { return; } if ($block->getType() == 'adminhtml/sales_order_grid') { /* @var Mage_Adminhtml_Block_Sales_Order_Grid $block */ $block->addColumnAfter('ordercomment', array('header' => Mage::helper('ordercomment')->__('Last Comment'), 'type' => 'text', 'index' => 'customer_note', 'filter_index' => 'order.customer_note'), 'status'); } }
/** * Instantiate analytics block after layout has been rendered, * so that it'll contain the current log handle & session id. */ public function initAnalytics(Varien_Event_Observer $observer) { $_block = $observer->getBlock(); $_type = $_block->getType(); if ($_type == 'catalogsearch/result' || $_type == 'catalogsearch/advanced_result' || $_type == 'catalog/category_view') { if (Mage::helper('conversionpro')->hasSearchResults()) { $layout = Mage::getSingleton('core/layout'); $block = $layout->createBlock('conversionpro/analytics_view')->setTemplate('conversionpro/analytics/tracking.search.phtml'); $layout->getBlock('before_body_end')->append($block); } } }
/** * Prepare the adminhtml category products view * * @param Varien_Event_Observer $observer * @return void */ public function adminhtmlBlockHtmlBefore(Varien_Event_Observer $observer) { /* @var $block Mage_Adminhtml_Block_Widget_Grid */ $block = $observer->getBlock(); if (($block instanceof Mage_Index_Block_Adminhtml_Process_Grid || $block instanceof Enterprise_Index_Block_Adminhtml_Process_Grid) && $block->getId() == 'indexer_processes_grid') { // add process ids if (Mage::helper('flagbit_cronindexer')->isNewIndexerEnabled()) { $this->_enrichIndexCollection($block->getCollection()); } $block->addColumn('dynamic', array('header' => Mage::helper('flagbit_cronindexer')->__('Schedule'), 'width' => '80', 'index' => 'schedule', 'sortable' => false, 'filter' => false, 'frame_callback' => array($this, 'decorateType'))); $block->getMassactionBlock()->addItem('flagbit_cronindexer', array('label' => Mage::helper('flagbit_cronindexer')->__('Reindex Data (Cronjob)'), 'url' => $block->getUrl('*/*/massReindexCron'), 'selected' => true)); } }
public function coreBlockAbstractToHtmlAfter(Varien_Event_Observer $observer) { $store = Mage::app()->getStore(); if (!$store->isAdmin() && Mage::getModel('cmsassistant/assistant')->isEnabled($store->getId())) { $transport = $observer->getTransport(); if ($transport->getHtml()) { $html = $this->addAssistant($observer->getBlock(), $transport->getHtml()); if ($html) { $transport->setHtml($html); } } } }
/** * This method is minifying HTML of every block. * Multiple calls per page but they are cached. * * @param Varien_Event_Observer $observer */ public function minifyBlockHtml(Varien_Event_Observer $observer) { if ($this->getBlockMinifyStatus()) { $block = $observer->getBlock(); $transport = $observer->getTransport(); $html = $transport->getHtml(); if ($this->getMaxMinifyStatus()) { $transport->setHtml(Minify_HTMLMaxComp::minify($html, $this->minifyOptions)); } else { $transport->setHtml(Minify_HTMLComp::minify($html, $this->minifyOptions)); } } }