Posts

Showing posts with the label Magento

Magento: Do some action after magento form validation

In Magento, we are having default validation function called VarienForm , if we pass our form id it will validate the input fields based on the class we specified into it. Ex. required-entry, validate-email . If we want to do some action before submitting form, follow below code to catch the success action. var dataForm = new VarienForm('reach-form-validate'); $('reach_us_submit').observe('click', function(){ if(dataForm.validator.validate()){ jQuery('#reach_us_submit').attr('disabled','disabled'); dataForm.form.submit(); } else { jQuery('#reach_us_submit').removeAttr('disabled'); } }.bind(dataForm));

Get current page handler list magento

$this->getLayout()->getUpdate()->getHandles();

Avoid merging old cart items in customer session magento

In this post we will see how to avoid merging old cart items to the current checkout session. Scenario: It will be happen when we login to store and adds some products into cart and leaves store without purchasing. Then coming back to the store after sometime and adds some product into cart without login and proceeds to checkout. In checkout page we will be requested to login, after login we can see some additional products are added into the cart which we are added in previous session. In this case what we have to do is we need to clear old cart items( It was requested by one of my client ) and allow customers to show with the current session items.

Magento file validation - prototype

Add file extension validation in magento form by using below code. Validation.add('validate-jpg-png','Please upload only jpg/png file format!',function(the_field_value){ //console.log(the_field_value); if(the_field_value == '') return true; var extension = the_field_value.replace(/^.*\./, ''); if (extension == the_field_value) { extension = ''; } else { extension = extension.toLowerCase(); } switch (extension) { case 'jpg': return true; case 'png': return true; //you can add more case for valid extension. default: return false; } }); To make it work add validate-jpg-png class to input file type.

Fixed - Quantity defaults to 0 in product view page magento

We might come across the problem, when we go to product view page in magento qty box will show 0 qty as default. We can change the default value by following below steps. Steps to change default qty in product view page 1. Goto Admin page -> System -> Configuration -> Inventory -> Product Stock Options. 2. Click Add Minimum Qty button. 3. Now add your minimum Qty (ex: 1) that you want to display in product view page in text box then click ‘Save config’. That’s it, now 0 qty in product view page will be replaced by the number that you have mentioned in Minimum Qty text box.

Adding cusom options automatically to magento products

Hello friends in this post i'm going to give you a nice code to add custom options to your product when it is saved. After searching long time got good resources with that i have created an event to add custom options. Magento having lot of feature to customize the product

Modify item price in cart after placing order using sales_quote_add_item

We can easily modify product price after placing order in magento using the event sales_quote_add_item . We can see this hook registered in app/code/core/Mage/Sales/Model/Quote.php line:874. This is the event created by magento. Mage::dispatchEvent('sales_quote_add_item', array('quote_item' => $item)); We can access $item values using its registered event name sales_quote_add_item and we can modify the price with our logic.

Override magento controller

Modifying magento core file is not at all good idea. All core files that we have modified will be smashed while magento upgrade. Magento have a feature to keep our custom code in local(app/code/local) folder. Inside that folder we can keep our custom codes safely.

Delete single order in magento using SQL query

Here is the query to delete single order in magento. All we need to do is just replace 'xxxxxxxxx' with your order_id and run it in phpMyAdmin. It works fine in Magento 1.4.x and 1.7.x version. SET @orderId = 'XXXXXXXXX'; #replace this WITH your ORDER NUMBER SET FOREIGN_KEY_CHECKS = 1; DELETE FROM sales_flat_order WHERE increment_id = @orderId; DELETE FROM sales_flat_quote WHERE reserved_order_id = @orderId;

Add tinyMCE editor in magento custom module

If we have created a custom module using Magento Module creator means, it will not contain 'wysiwyg(tinyMCE)' editor feature. We can add the 'wysiwyg' editor in custom module within 2 steps.

Add success or error message using magento session

Error message Set error message for front page. $message = $this->__('Got an error'); Mage::getSingleton('core/session')->addError($message); Set error message for admin page. $message = $this->__('Got an error'); Mage::getSingleton('adminhtml/session')->addError($message); Success message Set success message for front page. $message = $this->__('Got an error'); Mage::getSingleton('core/session')->addSuccess($message); Set success message for admin page. $message = $this->__('Got an error'); Mage::getSingleton('adminhtml/session')->addSuccess($message); If you are unable to view the error/success message, add the function session_write_close() after setting message. I got such problem while using with redirect method. Nitroware solved this problem.Now the new snippet will look like below, $message = $this->__('Got an error'); Mage::getSingleton('adminhtml/session')->addError(...

Update order status programmatically in magento

We can update order status of product in magento by using this below code. setState() function will do this for us, all we need is just pass the required arguments like state to be updated, status of the state, comment for the status change. $order = Mage::getModel('sales/order')->loadByIncrementId($orderId); $state = 'new'; $status = 'label_generated_by_user'; $comment = 'You have generated you shipping label'; $isCustomerNotified = true; $order->setState($state, $status, $comment, $isCustomerNotified); $order->save(); $order->sendOrderUpdateEmail(true, $comment);//Sending email notification to customer. After updating order we can send notification to customer by using sendOrderUpdateEmail() .

Fix magento admin login failing in chrome browser

Login failure in chrome even though you have given correct username and password? Just follow to code to access admin page in chrome browser.

Magento shopping cart total items quantity

If you want to get cart total items quantity from magento shopping cart, you can use the below snippet. function getCartQty(){ $cartcollection = Mage::getModel('checkout/cart')->getQuote()->getData(); if (isset($cartcollection['items_qty'])) return (int)$cartcollection['items_qty']; else return 0; } With the help of the above function we can get cart total items quantity by putting echo getCartQty();

Remove all products from shopping cart in magento

If you want to remove all products from the shopping cart, use the snippet given below. $cart = Mage::getSingleton('checkout/cart'); foreach( Mage::getSingleton('checkout/session')->getQuote()->getItemsCollection() as $item ){ $cart->removeItem( $item->getId() ); } $cart->save();