Working with MySql Indexes

MySql

Indexes are needed to improve the performance of SELECT queries. They can be defined with table creation and also created after table creation with CREATE INDEX and ALTER TABLE statements. If during optimization you find that an index is not useful then you can DROP them using DROP INDEX or ALTER TABLE statements.

Continue reading »

Understanding MySql Indexes and their types

MySql

Indexes are needed to improve the performance of SELECT queries. Indexes in Mysql are just like the indexes available in books. Without indexes if we have to look for a topic in a book then we will have to go through each page content but luckily we have an index, we find the page number from the index and then open that page directly. Similarly in MySql if we have to find row(s) have a particular column value then without index on that column MySql will have to scan each row of the table to find the matching rows.

It is highly recommended that you create indices on columns of a table from which you often query the data.

Continue reading »

#1452 – Cannot add or update a child row: a foreign key constraint fails…

MySql

Are you trying to import a MySql dump file and getting the following error: “#1452 – Cannot add or update a child row: a foreign key constraint fails”? Its because of the foreign key validation checks.

You can run the following statement to get detailed error information:

SHOW ENGINE INNODB STATUS;

Continue reading »

How to get low stock product notifications in Magento?

Magento

Magento provides RSS feed for low inventory alerts. Lets us discuss how to subscribe to the feed.

First we need to set up the inventory level of a product at which it will be considered as low stock.

  1. Login to admin and navigate to System >> Configuration
  2. Scroll down to the Catalog tab and click the Inventory section to open it. Now expand the ‘Product Stock Options’ section.
  3. Set Manage Stock as ‘Yes’ and add a value for ‘Notify for Quantity Below’, save the configuration. Note that you do not set ‘Notify for Quantity Below’ as 0 as it disables the RSS feed.

Continue reading »

JSON – An Overview

JSON

JSON stands for JavaScript Object Notation. It is a format for storing and exchanging data. It is based on a subset of the JavaScript Programming Language.

The file type for JSON files is “.json” and MIME type for JSON text is “application/json“.

Here are the characteristics of JSON:

  1. It is a lightweight data-interchange format.
  2. It is easy for humans to understand.
  3. It uses Javascript format but it is a text which makes it is completly language independent as text can be read and parsed by any programmng language.

Continue reading »

How to get the child block object in .phtml file in Magento

Magento

In one of our projects, the requirement was to have a different layout for some category pages. So, we decided to use a different template file for these categories. We added the following code in the “Custom Layout Update” field for these categories in admin.

 <reference name="category.products">
    <action method="setTemplate">
        <template>catalog/category/custom-category.phtml</template>
    </action>
</reference>

These category pages need to show the products in a different layout.

Continue reading »

How to display the CMS static blocks on a page in Magento

Magento

In Magento you can create CMS static block from Admin by following the path: Admin >> CMS >> Static Blocks.

Lets see how we can display them on the frontend.

1. Using Layout updates

You can add layout updates in local.xml file for a page as shown below:


<reference name="right">
     <block type="cms/block" name="your_block_name" before="-">
         <action method="setBlockId">
             <block_id>your_block_identifier</block_id>
         </action>
     </block>
</reference>

You can enter these layout updates in Magento admin also – Categories, Products, CMS Pages provide a field for “Custom Layout Update”.

Continue reading »

How to find the position of a product in a Magento category

Magento

In Magento you can set the position of the products in a category from Magento admin by following the path Admin >> Catalog >> Categories >> Manage Categories >> Edit a category >> Set the position of the products in the “Category Products” tab.

Let see how we can find the position of a product on the product detail page:


$catId = Mage::registry('current_product')->getCategoryId();
$category = Mage::getModel('catalog/category')->load($catId);
$productPositions = Mage::getResourceModel('catalog/category')->getProductsPosition($category); // This returns all product ids with their position
echo $productPositions[$_product->getId()]; //Print the product postion

Continue reading »

How to set data in Magento Layout Update XML to make it available for use in templates

Magento

If you need to set data in a block so that you can use it in the block view file then you can do it in the layout xml files or in Magento admin using the Layout Update XML/Custom Layout Update XML field.

Suppose you want to differentiate a category based on a variable “category_type”, if the value of “category_type” is “sale” then you will display category image else not on the category landing page.

Navigate to Admin >> Catalog >> Categories >> Manage Categories. Click on the category that you want to mark as a “sale” category to edit it. We assume that “Is Anchor” is set as “Yes” for the category in the “Display Settings” tab.

Continue reading »

Magento Enterprise Edition vs Magento Community Edition – Which one to use?

Magento

Magento is one of the most popular Open Source e-commerce software. It was initially released in March 31, 2008 by Varien Inc. It is a PHP based software, uses Zend Framework and the proprietary “Varien” libraray.

Magento is a free as well as a paid software – How? It depends upon which Magento verision you are using – Magento Community Edition (CE) or the Magento Enterprise Edition (EE). But now the question comes – Why will I pay if I can get it for free? The answer is “Great things come for a fee”. Actuallay Magneto CE is as good as Magento EE. It all depends on you needs, business size and how much are you ready to invest.

Continue reading »

Back to top