在Magento 1.9上找不到属性“menutype”的源模型“megamenu / menutype”

时间:2017-05-02 13:45:43

标签: magento attributes categories megamenu

我们的网站以Magento 1为基础。

我们安装了从magestore团队购买的Mega菜单扩展。

但是,当我们点击后端管理设置中的目录/管理类别时,我们收到了此错误。

如何解决这个问题?

 **There has been an error processing your request**

 Source model "megamenu/menutype" not found for attribute "menutype"

 /app/code/core/Mage/Eav/Model/Entity/Attribute/Abstract.php(386): Mage::exception('Mage_Eav', 'Source model "m...')
 /app/code/core/Mage/Adminhtml/Block/Widget/Form.php(201): Mage_Eav_Model_Entity_Attribute_Abstract->getSource()
 app/code/core/Mage/Adminhtml/Block/Catalog/Category/Tab/Attributes.php(113): Mage_Adminhtml_Block_Widget_Form->_setFieldset(Array, Object(Varien_Data_Form_Element_Fieldset))
 ...

screenshot of error page

1 个答案:

答案 0 :(得分:1)

此问题已成功解决。 Menutype与旧的冲突。 我们在我们的网站上使用了Peerforest_Megamenu扩展。虽然我们禁用了旧的超级菜单扩展,但此属性仍保留在我们的数据库中。 因此,当我们安装名为Magestore mega菜单扩展名的新扩展程序时,发生了该问题。

此外。 Peerforest_Megamenu在类别表上创建了一些新的属性,如megamenu / menutype,这些属性需要一个模型源来显示选项。

当我们禁用Peerforest_Megamenu时,他们无法再找到他们的模型源。 我刚刚为这些属性创建了一些新的模型源文件。 这是新的菜单类型代码块。

<?php
  class Magestore_Megamenu_Model_Menutype extends 
      Mage_Eav_Model_Entity_Attribute_Source_Abstract
      {
          protected $_options = array();

       public function getAllOptions()
       {      
          $this->_options[] = array('value' => 'megamenu-horizontal','label' => 'Mega Menu');
          $this->_options[] = array('value' => 'megamenu-vertical','label' => 'Vertical');

          return $this->_options;
       }

   }

希望我的回答能帮助别人。 谢谢您的考虑。 问候。