How to change Magento admin url

By default Magento Admin Url is:
http://[your magento shop]/admin

But, what if you do not want to use admin in the URL? For example, you want your admin URL to look like this:
http://[your magento shop]/shopadmin

If, you check your files via FTP you will not see a folder called admin. So, how do you do it?
Open app/etc/local.xml – you will find a section like this:


The name that you enter in the “frontend” tag is the name that will be used to view the admin.
In this example, the Magento admin URL will be
http://[the magento shop]/mybiz

Magento controller, action and what happens when you browse a URL

Assuming you know how to create a custom module, consider a case where you need to create a URL for your module. Follow these steps:

In your module’s config.xml file:

		<schurl> --> name that will used in the URL
			<use>standard</use>  ---> standard means its a frontend url; admin will mean it is a backend url
				<module>Mage_Schogini</module>  ---> which is the module to be used
				<frontName>schurl</frontName>   ---> name that will used in the URL

Create a controller file TestController.php in your module’s controller folder like this (as you may have guessed, my modules name is Schogini):

class Mage_Schogini_TestController extends Mage_Core_Controller_Front_Action
	public function showmsgAction()
		echo 'Here';

This is what happens when you browse this URL

  • schurl tells that the controller to check is Mage_Schogini (the name that is specified in the config file in the section: args > module)
  • test tells that controllers/TestController.php file must be checked
  • showmsg tells that showmsgAction() method must be called.

Hence, it will look for the method showmsg() inside the Mage_Schogini_TestController class

Magento – Please enter a valid credit card verification number – message

If, you get a message like this:  “Please enter a valid credit card verification number.” every time you enable “CVV check” in your payment gateway, and you are sure that your payment module settings are correct and your card details are valid then, its most likely that the message is not coming from your payment module.

Instead it could be that the control is not reaching the payment module at all and the message is coming from this Magento file:
app/code/core/Mage/Payment/Model/Method/Cc.php line #150, validate credit card verification number section.

Why is this happening? Does this error occur for ‘Saved CC’ payment method too (it is the default card payment method got with Magento)?

Well, one reason that I found is – custom checkout module. Are you using any custom checkout module? If yes, then disable it and try the normal Magento one page checkout. The chances are all will work fine. I have noticed that some custom checkout modules fail to send the CVV number back to the code – hence, Magento will catch it and throw back the error – the payment module is nowhere in the picture yet.

So, before you panic that your card details are invalid or your Payment Gateway or payment module is not working, confirm that it is not your custom checkout module that is the culprit.

Intro to Themes

A theme is a combination of files which are responsible for the visual output.

What files form the theme ?

Magento themes are split into two directories.  The files are separated into “browser accessible” (such as image and Javascripts) and those that can be hidden from it for security reasons.

  • Directory 1: app/design/frontend/default/default/ — This directory contains the layout, translation (locale) and template materials.
  • Directory 2: skin/frontend/default/default/ — This directory contains the images, CSS and block-specific Javascripts.

So a theme consists of the following files :

Layout (located in app/design/frontend/your_interface/your_theme/layout/)
These are basic XML files that define block structure for different pages.

Templates (located in app/design/frontend/your_interface/your_theme/template/)
These are PHTML files that contain (X)HTML markups and any necessary PHP tags to create logic for visual presentation.

Locale (located in app/design/frontend/your_interface/your_theme/locale/)
Theses are simple text documents organized on a per language basis that contain translations for store copy.

Skins (located in skin/frontend/your_interface/your_theme/)
These are block-specific Javascript and CSS and image files that compliment your (X)HTML.

Hierarchy of themes:

Magento has a very powerful theme concept. For instance, you can use a default theme which comes with Magento and a new one of your own side by side. That new individual theme only contains files which differ from the default theme. Thus it forms a hierarchy of themes.

For example If you simply want to move the mini cart from the left sidebar to the right sidebar you just copy the required file from “default” to your new theme directory and adjust some code. Magento first loads all files from your new theme and then falls back to the next theme lower in hierarchy (in this case “default”) and requires all missing files from that theme.

Doing so, Magento conserves the ability to be upgraded. With every upgrade,  files in your default theme are getting overwritten. The original files are protected this way.

What are Blocks ?

In Magento we work with structural blocks and content blocks. Structural blocks represent the basic structure of a page. Usually we have structural blocks like header, left sidebar, middle content, right sidebar and footer. We can assign content blocks like category list, navigation, search bar, callout etc. to a certain structural block.


Content blocks are assigned to structural blocks with the help of layout. Layout is build with XML files and can be found under app/design/frontend/default/default/layout. This way you can reuse earlier created templates, such as the mini cart module on the sidebar, on different pages by simply calling them within a layout xml file.


In this case we are adding the content block ‘cart_sidebar’ (shopping cart) to the structural block ‘left’.

Template Path Hints:

You can see info about the template that a block uses by turning on Template Path Hints. Here are the steps to turn on template path hints. Make sure you disable your cache by going to System->Cache Management.

Open admin page and go to System->Configuration. Then Select Developer on the left sidebar. Also select Main Website from the Current Config Scope Drop Down.  Next Open the debug drop down and set template hints to yes.


The result will be as follows. Each content block will be outlined and labeled with the location of template file which is used to design that block.


Change best selling products

Default Magento installtion homepage has a section ’Best Selling Products’. You want to put your products to appear instead…follow these steps:

  1. Login as Admin -> CMS -> Manage Pages
  2. Edit the ’Homepage’ page
  3. In the ’Content’ textarea you will find the ’Best Selling Products’ section like this
    Technorati Tags: ,,

    The bold section is

    <div class="box best-selling">
      <h3>Best Selling Products</h3>
      <table border="0" cellspacing="0">
          <tr class="odd">
            <td><a href="{{store url=""}}furniture/living-room/gayatri-test1.html"><img class="product-img" src="{{skin url=’images/media/vishi.jpg’}}" border="0" width="95" /></a>
              <div class="product-description">
                <><a href="{{store url=""}}furniture/living-room/gayatri-test1.html">Gayatri Test Product</a></>
                <> See all <a href="{{store url=""}}furniture/living-room/">Living Room</a> </>
            <td><a href="{{store url=""}}nine-west-women--lucero-pump.html"><img class="product-img" src="{{skin url=’images/media/best_selling_img02.jpg’}}" border="0" width="95" /></a>
              <div class="product-description">
                <><a href="{{store url=""}}nine-west-women--lucero-pump.html">Nine West Women’s Lucero Pump</a></>
                <> See all <a href="{{store url=""}}apparel/shoes">Shoes</a> </>
          <tr class="even">
            <td><a href="{{store url=""}}olympus-stylus-750-7-1mp-digital-camera.html"><img class="product-img" src="{{skin url=’images/media/best_selling_img03.jpg’}}" border="0" width="95" /></a>
              <div class="product-description">
                <> <a href="{{store url=""}}olympus-stylus-750-7-1mp-digital-camera.html">Olympus Stylus 750 7.1MP Digital Camera</a> </>
                <> See all <a href="{{store url=""}}electronics/cameras/digital-cameras">Digital Cameras</a> </>
            <td><a href="{{store url=""}}acer-ferrari-3200-notebook-computer-pc.html"><img class="product-img" src="{{skin url=’images/media/best_selling_img04.jpg’}}" border="0" width="95" /></a>
              <div class="product-description">
                <> <a href="{{store url=""}}acer-ferrari-3200-notebook-computer-pc.html">Acer Ferrari 3200 Notebook Computer PC</a> </>
                <> See all <a href="{{store url=""}}electronics/computers/laptops">Laptops</a> </>
          <tr class="odd">
            <td><a href="{{store url=""}}asics-men--gel-kayano-xii.html"><img class="product-img" src="{{skin url=’images/media/best_selling_img05.jpg’}}" border="0" width="95" /></a>
              <div class="product-description">
                <><a href="{{store url=""}}asics-men--gel-kayano-xii.html">ASICS® Men’s GEL-Kayano® XII</a></>
                <>See all <a href="{{store url=""}}apparel/shoes">Shoes</a></>
            <td><a href="{{store url=""}}coalesce-functioning-on-impatience-t-shirt.html"><img class="product-img" src="{{skin url=’images/media/best_selling_img06.jpg’}}" border="0" width="95" /></a>
              <div class="product-description">
                <> <a href="{{store url=""}}coalesce-functioning-on-impatience-t-shirt.html">Coalesce: Functioning On Impatience T-Shirt</a> </>
                <> See all <a href="{{store url=""}}apparel/shirts">Shirts</a> </>

How to Set Shipping Options For Customers during Checkout

First,Login as admin and in the admin Home Page select  System ->Configuration.

Under the Configuration tab on the left Side Select Shipping Settings.Here you can Find two options Origin and Options.From that you Can Change Settings Such as Country,Regional,etc.

Now Select Shipping Methods next to Shipping Settings.Under that you can find Flat rate,Table rate,Free Shipping,UPS etc.Let us see One by One.

1) Flat rate:

Fill the necessary field  in the Flat rate as specified above.

2)Table rates:

Here in the table rate select Enabled as Yes for displaying table rate in front end.Fill the remaining field as Specified above and Select Yes for the option Show method if not applicable which is not shown in the above Figure.Then in Export option.Click on Export CSV.This will export a empty tablerate.csv a file with Spread Sheet and Edit Your Data.Here is the Sample Spread Sheet.

Here I enter the data for the different field such as Country,Region,Zip/Postal,Weight,Shipping Price.In Region and Zip/Postal Filed,I enter as * which denotes all regions and all Postal Codes.Here Weight and Shipping Price denotes that if the weight of the Product is between $0 and $49.99 then the shipping Charge would be $15.If it is between $50 and $99.99 then the shipping charge would be $10 and so on.

3)Free Shipping

Fill the required field in Free Shipping Tab as Specified above.Here You Can set Minimum Order amount.So that the Product Which exceeds this Minimum order amount will have Free Shipping.

Then For the remaining Option You can choose  Courier Service as your wish and Fill the Specified Fields.After that click on Save Configuration to save your configurations.

Then Come to Front End and Reload the Page.Add any Product into Your Cart and Proceed Check Out.In the CheckOut Page you have enter your details and in the Shipping Information You can see the Flat Rate,Table rate, Shipping Value For the Product.Here You can see the Shipping rate as $0 because we have added the Product in the cart which exceeds $100.

That’s it!!!

Magento write custom log messages

A quick debugging tip for developers. You can write custom messages into Magento’s system log  or exception log – helpful for knowing the current variable or object state etc.

How to enable log

Admin > System > Configuration > Developer > Log Settings
Set “Enabled” to “Yes”

Code to write into the log

Mage::log("Hello Again");

Where to check?

Your custom message should most probably be in the var/log/system.log file but, in case you do not find it there, you can also check the var/log/exception.log file.

New log messages are found at the bottom of the log file.
Ensure that your log folder and files have enough permissions to write.

The log message will look like this:

2010-04-14T13:40:24+00:00 DEBUG (7): Hello
2010-04-14T13:41:31+00:00 DEBUG (7): Hello Again

How to give Custom Options for a Product in Magento

In this article I want to give some custom options to my product named “Linux

Select Product from Catalog -> Manage Products

On the Left side you can take “Custom Options” inside “Product Information

Click on the button “Add New Option

You can give as follows:

Title : Company

Input Type : Drop Down

Is Required : Yes

Sort Order : 1

After that you will get an option below like “Add New Row“. Click that Button

Input the fields as below:

Title: Red Hat
Price: 2000
Price Type: Fixed
SKU: rh123
SortOrder: 1

Add a New Row and give data as below:

Title: Suse
Price: 900
Price Type: Fixed
SKU: suse123
SortOrder: 2

Here one more option is being given. So click on the “Add New Option” again.

You can give as follows:

Title : Edition

Input Type : Radio Button

Is Required : Yes

Sort Order : 1

Click “Add New Row” and input the fields as below:

Title: Home
Price: 500
Price Type: Fixed
SKU: home123
SortOrder: 1

Give one more “Add New Row” and input as below:

Title: Office
Price: 750
Price Type: Fixed
SKU: office123
SortOrder: 2

It looks like the picture shown below:

Custom Options

You can add any number of rows as you want.

The Front End will show options like this:

Custom Options

Similarly you can also use Text Area, Text Field, Radio Button, Multiple Select and Check boxes. Try with new values and have a look.