Posts

Magento Checkout redirects to “Shopping cart is empty”

This is because of cookies. In Magento, by default cookie’s lifetime is set to 3600 (1 hour). But if the end users computer time runs ahead of server’s time, cookies will not get set for magento frontend as well as backend. To solve this, set cookie’s lifetime to 86400 (1 day) instead of 1 hour and everything will work as expected. You can also set cookie lifetime to 0, so that cookie will only expire when the user’s browser is closed. Go to: Magento backend -> Sytem -> Configuration -> Web -> Session and Cookie Management

Validate Date PHP

For date validation in PHP Try this and enjoy :) <?php function isValid($date) { $date_format = ' d F Y '; $input =$date;   //say ' 11 February 2013'; $input = trim ($input); $time = strtotime ($input); $is_valid = date ($date_format, $time) == $input; return $is_valid ? 'yes' : 'no'; }

Enable/Disable dates in jQuery Datepicker

// //Block certain days in jQuery Datepicker // // // Holiday List var unavailableDates = [ "9-3-2012" , "14-3-2012" , "15-3-2012" ]; // Exeptions if some Weekends are Working days var enableDay = [ "3-3-2012" , "10-3-2012" , "17-3-2012" ]; // Weekend Days Sunday = 0 ... Sat =6 var weekend = [ 0 , 6 ]; function nationalDays(date) { // get date dmy = date.getDate() + "-" + (date.getMonth() + 1 ) + "-" + date.getFullYear(); // if Holiday then block it if ($.inArray(dmy, unavailableDates) > - 1 ) { return [ false , "" , "Unavailable" ]; } // if Exception then Enable it if ($.inArray(dmy, enableDay) > - 1 ) { return [ true , "" ]; } //if Weekend then block it if ($.inArray(date.getDay(), weekend) > - 1 ) { return [ false , "" , "Unavailable" ];...

Add unit price to order email template

Image
In the email sent to customer for order confirmation, product unit price does not show by default. It requires a little knowledge of Magento to make the customization. In this article, I will try to show you an easy way to do it. Here is the result you will get after this customization: There are 3 files you have to change, you should copy these files to the folder of your using theme. 1) app/design/frontend/base/default/template/email/order/items.phtml Around line 32, find the following code: <tr> <th align="left" bgcolor="#EAEAEA" style="font-size:13px; padding:3px 9px"><?php echo $this->__('Item') ?></th> <th align="left" bgcolor="#EAEAEA" style="font-size:13px; padding:3px 9px"><?php echo $this->__('Sku') ?></th> <th align="center" bgcolor="#EAEAEA" style="font-size:13px; padding:3px 9px"><?php echo $t...

Latest product by creation date in magento

<?php $todayDate = Mage :: app () -> getLocale () -> date () -> toString (Varien_Date :: DATETIME_INTERNAL_FORMAT ); $collection = Mage :: getModel ( 'catalog/product' ) -> getCollection () -> addAttributeToFilter ( 'news_from_date' , array ( 'date' => true , 'to' => $todayDate )) -> addAttributeToFilter ( 'news_to_date' , array ( 'or' => array ( 0 => array ( 'date' => true , 'from' => $todayDate ), 1 => array ( 'is' => new Zend_Db_Expr( 'null' ))) ), 'left' ) -> addAttributeToSort ( 'news_from_date' , 'desc' ) -> addAttributeToSort ( 'created_at' , 'desc' );

Set limit on Magento Collections

<?php $limit = 5; $starting_from = 2; $product_collection = Mage::getModel( 'catalog/product' )->getCollection()->setOrder( 'name' , 'asc' ); //getting the product collection, results are ordered by product name $product_collection ->getSelect()->limit( $limit , $starting_from );   //where $limit will be the number of results we want, $starting_from will be the index of the result set to be considered as starting point (note 0 is the index of first row) //this will ouptput 5 records starting from 3rd record foreach ( $product_collection as $_product ) {      echo $_product ->getName(). '<br/>' ; } ?>

Category Name with Products in Cart Page Magento

Modify Your Cart.phtml <div class="cart">     <div class="page-title title-buttons">         <h1><?php echo $this->__('Shopping Cart') ?></h1>         <?php if(!$this->hasError()): ?>         <ul class="checkout-types">         <?php foreach ($this->getMethods('top_methods') as $method): ?>             <?php if ($methodHtml = $this->getMethodHtml($method)): ?>             <li><?php echo $methodHtml; ?></li>             <?php endif; ?>         <?php endforeach; ?>         </ul>         <?php endif; ?>     </div>     <?php echo $this->getMessagesBlock()->getGroupedHtml() ?>   ...