Magento reload top mini cart programatically
Magento reload/refresh top mini cart programatically. This can be useful when you are using ajax to add/remove product to cart and want to reflect that item changes in the top cart immediately. Simply put below code where you are modifying cart programatically and it will start working.
Right now it’s only coded for simple and configurable products, but you can add bundle, group, virtual and downloader product item renderers too if you are using them in your website.
$b = $this->getLayout() | |
->createBlock('checkout/cart_sidebar') | |
->addItemRender('simple', 'checkout/cart_item_renderer', 'checkout/cart/sidebar/default.phtml') | |
->addItemRender('configurable', 'checkout/cart_item_renderer_configurable', 'checkout/cart/sidebar/default.phtml') | |
->setTemplate('checkout/cart/cartheader.phtml') | |
->toHtml(); |
Magento auto remove out of stock items from shopping cart
Magento automatically remove product items from shopping cart page which are out of stock. You may need this feature when the situation aries where product goes out of stock and that particular product is already there in other customer’s cart who have not yet checked it out. With this script Magento will auto-check if all the items in the cart are available and in-stock before proceeding for checkout page.
In config.xml file:
<events> | |
<controller_action_predispatch_checkout_cart_index> | |
<observers> | |
<namespace_module_autoremove_outofstock> | |
<type>singleton</type> | |
<class>namespace_module/observer</class> | |
<method>autoRemoveOutOfStockItems</method> | |
</namespace_module_autoremove_outofstock> | |
</observers> | |
</controller_action_predispatch_checkout_cart_index> | |
</events> |
In Observer.php file:
public function autoRemoveOutOfStockItems($observer) { | |
$quote = Mage::getModel('checkout/session')->getQuote(); | |
$cartItems = $quote->getAllItems(); | |
foreach ($cartItems as $item) | |
{ | |
//$productType = $item->getProduct()->getTypeId(); | |
//if($productType!='configurable') { | |
$productId = $item->getProductId(); | |
$product = Mage::getModel('catalog/product')->load($productId); | |
$stockItem = $product->getStockItem(); | |
if(!$stockItem->getIsInStock()) | |
{ | |
Mage::helper('checkout/cart')->getCart()->removeItem($item->getId())->save(); | |
} | |
//} | |
} | |
} |
Magento get CMS page content without header/footer
Magento get CMS page content anywhere on the site without header and footer using below script. You may need to do this for displaying CMS page on part of the page, like popup or sidebar of the page without using header and footer of the CMS page that generally comes when loading the page from the CMS URL.
$page = Mage::getModel('cms/page'); | |
$page->setStoreId(Mage::app()->getStore()->getId()); | |
$page->load('CMS-IDENTIFIER-HERE','identifier'); //EDIT IN THIS LINE | |
$helper = Mage::helper('cms'); | |
$processor = $helper->getPageTemplateProcessor(); | |
echo $html = $processor->filter($page->getContent()); |
Magento event to check if customer have subscribed to newsletter
Check if the customer has subscribed to the newsletter from registration page or checkout page by using event observer. You may need to take some action programatically if customer subscribes to newsletter, below code will help you exactly in that.
Code to put in your config.xml
<newsletter_subscriber_save_after> | |
<observers> | |
<namespace_module_model_observer> | |
<class>Namespace_Module_Model_Observer</class> | |
<method>subscribedToNewsletter</method> | |
</namespace_module_model_observer> | |
</observers> | |
</newsletter_subscriber_save_after> |
Code to put in your Observer.php file
class Namespace_Module_Model_Observer { | |
public function subscribedToNewsletter(Varien_Event_Observer $observer) | |
{ | |
$event = $observer->getEvent(); | |
$subscriber = $event->getDataObject(); | |
$data = $subscriber->getData(); | |
$email = $data['subscriber_email']; | |
$statusChange = $subscriber->getIsStatusChanged(); | |
if ($data['subscriber_status'] == "1" && $statusChange == true) { | |
//code to handle if customer is just subscribed... | |
} | |
} | |
} |
Magento event observer for customer registration success
If you are looking for how to execute some code when customer successfully sign up in your website, you can use below code to check if the registration was successful. Note, this will NOT check if customer was registered from checkout page, if you are looking for that please go to this post.
In your xml file:
<events> | |
<customer_register_success> | |
<observers> | |
<namespace_module_customer_register_success> | |
<type>singleton</type> | |
<class>Namespace_Module_Model_Observer</class> | |
<method>customerRegisterSuccess</method> | |
</namespace_module_customer_register_success> | |
</observers> | |
</customer_register_success> | |
</events> |
And in your Observer.php file:
class Namespace_Module_Model_Observer { | |
public function customerRegisterSuccess(Varien_Event_Observer $observer) { | |
$event = $observer->getEvent(); | |
$customer = $event->getCustomer(); | |
$email = $customer->getEmail(); | |
if($email) { | |
//code to handle if customer is successfully registered | |
} | |
} | |
} |
Welcome to my Blog
Certifications
Honor
Recognition
Contributions
Categories
- Apache (2)
- ChatGPT (1)
- Domain name (2)
- eCommerce (2)
- htaccess (1)
- Humor (3)
- Instagram API (1)
- jQuery (4)
- JSON (1)
- Linux (10)
- Magento (142)
- Magento admin (58)
- Magento Certification (5)
- Magento error (13)
- Magento frontend (68)
- Magento Imagine (2)
- Magento Interview (5)
- Magento Master (2)
- Magento2 (10)
- Mobile (1)
- MySQL (7)
- OpenAI (1)
- OroCRM (2)
- Performance (2)
- PHP (8)
- Prototype JS (3)
- Security (4)
- Wordpress (3)
- XML (2)