Thursday, 5 April 2012

Magento 1.6.2.0 Syntax error or access violation: 1067 Invalid default value for ‘period‘

When I am trying to install magento 1.6.2.0 I getting error in app/code/core/Mage/SalesRule/sql/salesrule_setup/upgrade-1.6.0.0-1.6.0.1.php SQLSTATE[42000]: Syntax error or access violation: 1067 Invalid default value for 'period'. after long time I finding solution for that. Just fire below query in your database and continue setup just remove error link from url. I hope it work for you.
ALTER TABLE `coupon_aggregated` CHANGE COLUMN `period` `period` DATE NOT NULL DEFAULT ‘0000-00-00’ 

Wednesday, 29 February 2012

magento "No shipping information available" in orders

I have problem of shipping description not display in order and order email. After search for that and nothing found and finally i have do that. Its because i have code changed in file app\code\core\Mage\Sales\Model\Quote\Address\Total\Shipping.php in line no 168. i have put something like that.

$shippingDescription = ""; // $rate->getCarrierTitle() . ' - ' . $rate->getMethodTitle();

Than I have remove this do as it default see below.

$shippingDescription = $rate->getCarrierTitle() . ' - ' . $rate->getMethodTitle();

I have do this stuff because i want remove shipping info display in cart page total box where i want only display "Shipping & Handling".

And goto above file around line no 189 and i comment out below code and its hide info of shipping in cart page total box.

//if ($address->getShippingDescription()) {
//      $title .= ' (' . $address->getShippingDescription() . ')';
//}

Friday, 24 February 2012

How To Change Order Status in Magento1.6

I searched all around to find this solution. In Magento Commerce, there is no provision for manually changing order status from the admin panel. I have also try to change in Magento\app\code\core\Mage\Sales\etc\config.xml file but i cant change in magento1.6. so finally i got below solution i hope this work for you.

Open file app\design\adminhtml\default\default\template\sales\order\view\history.phtml in this file.

Also replace the code.

<?php foreach ($this->getStatuses() as $_code=>$_label): ?>
                
            <?php endforeach; ?>

with

                <?php 
                $selected = "";
                foreach (Mage::getSingleton('sales/order_config')->getStatuses() as $_code=>$_label): 
                    if($_code==$this->getOrder()->getStatus())
                            $selected = 'selected="selected"';
                    echo "";
                endforeach;?>

Its works perfectly for me i hope its work for you.

Monday, 20 February 2012

Magento Fatal error: Call to a member function is Shipping Labels Available() on a non-object

When I click the Ship button, I get this error in the lower right corner, where there should be a button:

Fatal error: Call to a member function isShippingLabelsAvailable() on a non-object in /var/www/limp/app/code/core/Mage/Adminhtml/Block/Sales/Order/Shipment/Create/Items.php on line 132

Here i got solution for it just replace text shown in below.

change line 1214 of app/code/core/Mage/Sales/Model/Order.php from

$shippingMethod = parent::getShippingMethod(); 

to

$shippingMethod = $this->getData('shipping_method'); 

I hope this work for you.

Thursday, 16 February 2012

Sort a category and subcategory list array alphabetically in Magento

If you are dealing with magento category i am very sure that you’ll face this problem .Magento category fetching is not an issue its a child play but sorting thse categories is little tricky. see below code for category sort in alphabetic order.
<?php
$cats = Mage::getModel('catalog/category')->load(2)->getChildren();
$catIds = explode(',', $cats);

$categories = array();
$subCategories = array();
foreach ($catIds as $catId) {
    $category = Mage::getModel('catalog/category')->load($catId);
    $categories[$category->getName()] = $category->getUrl();

    $subcats = Mage::getModel('catalog/category')->load($catId)->getChildren();
    $subcatIds = explode(',', $subcats);
    if ($subcats) {
        foreach ($subcatIds as $subcatId) {
            $subCategory = Mage::getModel('catalog/category')->load($subcatId);
            $subCategories[$category->getName()][$subCategory->getName()] = $subCategory->getUrl();
        }
        ksort($subCategories[$category->getName()], SORT_STRING);
    }
}

ksort($categories, SORT_STRING);
?>                                
    <?php foreach ($categories as $name => $url): ?>
  • <?php echo $name; ?> <?php foreach ($subCategories as $key => $values) { if($name == $key) { echo '"; } } ?>
  • <?php endforeach; ?>

Tuesday, 24 January 2012

Magento An error occurred while saving the URL rewrite

Fix An error occurred while saving the URL rewrite, quick and easy fix for this problem. We always recommend making FULL site backups before commencing. This error normally shows up on a Magento 1.4x installation, the fix we found was to simply to re-index the site: Admin -> System -> Index Management -> Select All and Reindex

The line I commented out to actually get the indexer to work and finish was line 285 in app/code/core/Mage/Catalog/Model/Resource/URL.php

Before
Mage::logException($e);
Mage::throwException(Mage::helper('catalog')->__('An error occurred while saving the URL rewrite'));
After
//Mage::logException($e);
//Mage::throwException(Mage::helper('catalog')->__('An error occurred while saving the URL rewrite'));
I hope its work for you.

Monday, 28 November 2011

Add Date field with Datepicker in Magento Contact Form

Magento has a built in library for calendar functionalities. However the calendar library is available only on Admin pages like Custom Module, Customer Account view page, etc. We can extend the prototype Javascript library's calendar functions to frontend.

Edit the page.xml file in your current theme in the directory app/design/frontend/default/your-theme/layout/page.xml Around line 61 add the below lines in between

 
js_csscalendar/calendar-win2k-1.css
jscalendar/calendar.js
jscalendar/calendar-setup.js

This will include the calendar library functions in the page head of all front end pages.

Now add Date Field to your contact form

Next step would be to add Javascript code at bottom of contact form template file. The id of the date input field and calendar image should be the same. The javascript code shown below should be added below the contact form coding.