Skip to content

Missing attribute name when attribute is sortable (Backend) #61

Description

@phizab

If I choose a condition by a product attribute, which is part of the sortable attributes under "Display Settings" > "Available Product Listing Sort by", I do not see the attribute's name after I saved the category (e.g. the attribute "name" in default Magento installation).

This is caused by the core method Mage_Catalog_Model_Config::getAttributesUsedForSortBy(), because the sortable attributes will not loaded completely and are missing fields like "is_visible". Nevertheless they will be cached in Mage_Eav_Model_Config and the rule conditions use this singleton with the incomplete data.

I've added the following line at the beginning of method FireGento_DynamicCategory_Model_Rule::loadPost(), but I know that this method is deprecated so please use this at your own risk. A better solution is needed here!

/**
 * Initialize the rule model data from the given array.
 *
 * @param  array $rule Rule data
 * @return FireGento_DynamicCategory_Model_Rule Self.
 */
public function loadPost(array $rule)
{
    // reset attributes cache to get all attributes loaded completely
    Mage::getSingleton('eav/config')->clear();

    $arr = $this->_convertFlatToRecursive($rule);

    [..]

    return $this;
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions