Magento makes it really easy to expand the usual product attributes through the Admin Panel. While these can be added to the product page in the standard attribute list table, you may want your attribute to appear differently or use it for another feature. This post explains how.

In this example we’ll be adding an attribute to tell the customer how long they might have to wait on a product to arrive.

Create a new Attribute

Click into Catalog > Attributes > Manage Attributes. Click on Add New Attribute

  • Attribute Code:  delivery_lead_time
  • Scope: Global (this means the value of the attribute will be shared across store views if applicable)
  • Catalog Input Type for Store Owner: Dropdown

The other values can be left as default. Next click into the Manage Label/Options tab

Set the value for “admin” to be the human readable form or the attribute name “Delivery Lead Time”, then below add the options that you want to display…

Update the attribute set

In Catalog > Attributes > Manage Attribute Sets click into the attribute set (oftentimes the one labelled “Default”).

The new attribute will be listed in the “Unassigned Attributes” section on the right hand side of the page. Drag and drop your attribute into the Groups column in the middle of the page. These groups are the tabbed sections that appear on the product edit view. Once you have placed and ordered your new attribute click Save Attribute.

Update the product

Your new attribute will now appear in the product edit view, depending on where it was placed in the attribute set.

It will also be available to update through the batch product editor.

Add the new attribute to the front end

The attribute can then be loaded onto the product page using the following code. First check if the attribute has been set, if it has add the value into a container.

<?php if  ($_product->getAttributeText('delivery_lead_time')): ?>
    <div class="lead-time"><?php echo $_product->getAttributeText('delivery_lead_time'); ?><div>
<?php endif; ?>