4

EDIT: It seems as though magento is passing the Attribute code as the Attribute Label.

I am in the process of rebuilding a website and I am using and inventory system (Linnworks) to push my listings to Magento.

Im fairly familiar with both of these platforms and have never had a problem before.

The problem I am reaching now, is Super Attributes.

The custom options dropdown is tied to an attribute with the CODE : nssbottlesize Attribute nssbottlesize is reflected through admin attribute LABELS as Select a Size.

This attribute label is reflected on the back end when viewing the product, but on the front end the Code is referenced (nssbottlesize) instead of (Select a Size).

I have a hunch that the inventory system i am using is causing some of this issue. But it doesnt make sense to me. The only place on the site or inventory system that says 'nssbottlesize' is the unique back end code for the attribute.

Even if the inventory system submitted this product with the incorrect Label/code, should I not be able to modify this under the associated products tab? The inventory system does not work in real time in this manner to update the attribute name should i change it, so I know that its not me changing it, and the inventory system immediately changing it back.

As the images reflect. The back end looks as it should, and so does the associated products tab, so im at a loss as to why this product label remains incorrect.

Thank you for reading my small book. enter image description here

4
  • Did you check the template catalog/product/view/type/options/configurable.phtml of your theme? Maybe it has echo $_attribute->getAttributeCode() instead of echo $_attribute->getLabel()
    – Marius
    May 23, 2014 at 14:24
  • Thank you Marius, Upon further Investigation, this file does not exist in my template file tree. My template ends at. /app/design/frontend/ultimo/default/template/catalog/product/view/type I added the options folder, and the configurable.phtml file as it is in default, and I have no changes, perhaps this file is referenced from a different location in my theme than the options folder? May 23, 2014 at 14:52
  • I moved the configurable.phtml file into .../type and it makes the options dissapear on the site, which makes me think im getting in the right neighborhood. The file has echo $_attribute->getLabel() ?></label></dt> correctly May 23, 2014 at 14:58
  • The problem seems to lie somewhere in here... <?php foreach($_attributes as $_attribute): ?> <dt><label class="required"><em>*</em><?php echo $_attribute->getLabel() ?></label></dt> <dd<?php if ($_attribute->decoratedIsLast){?> class="last"<?php }?>> But I can understand how magento is pulling the label. I can see in PHP myadmin that the labels are correct, but even so, it doesnt pull the label it references only the code. May 23, 2014 at 15:35

2 Answers 2

1

Nick, you can edit the label how you want it to look on Magento front end from within Linnlive, this then overrides the attribute code. It must be done before you push products to Magento though I think, can not be edited after. HTH

1

Following the getLabel() method back to the attribute.php file in the core folder I was able to find the cause of the problem, or rather, the solution.

In the File public_html/app/code/core/Mage/Catalog/Model/Product/Type/Configurable/Attribute.php

I added the line of code commented out below.

/**
 * Retrieve attribute label
 *
 * @return string
 */
public function getLabel()
{
   /*return $this->getProductAttribute()->getStoreLabel();*/
    if ($this->getData('use_default') && $this->getProductAttribute()) {
        return $this->getProductAttribute()->getStoreLabel();
    } 
    else if (is_null($this->getData('label')) && $this->getProductAttribute())  {
        $this->setData('label', $this->getProductAttribute()->getStoreLabel());
    }
    return $this->getData('label');
}

This is the only way ive been able to get the front end to reflect the correct values. However this is a core modification, which is frowned upon. It seems to be an issue with the way the inventory management system created the products in magento, specifically the defaulting of super attribute labels.

1
  • Thank you for providing this answer, it would have taken me a long time to get to the bottom of it. This doesn't seem like a common problem but definitely a thorn! Also, great image in the question, you're the next John Madden!
    – NotJay
    Oct 13, 2015 at 13:35

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.