首页 文章

Magento:在输入类型列表中找不到输入类型“text”

提问于
浏览
1

当我尝试从Catalog-> Attributes-> Manage Attributes创建新的产品属性时,它显示错误“输入类型”文本“在输入类型列表中找不到” . “保存产品属性时出错 . ”

它适用于任何属性类型;文字,下拉,多选等...

system.log中也有一些错误:

ERR (3): Recoverable Error: Argument 1 passed to Zend_Validate_InArray::setHaystack() must be of the type array, null given, called in lib/Zend/Validate/InArray.php on line 96 and defined in lib/Zend/Validate/InArray.php on line 122
ERR (3): Warning: in_array() expects parameter 2 to be array, null given  in lib/Zend/Validate/InArray.php on line 196

2 回答

  • 1

    您可以在 core_config_data 表中为 path="general" 添加条目 . general/validator_data/input_types 的定义来自 app/code/core/Mage/Eav/etc/config.xml ,但数据库配置条目将覆盖它 .

    这是一个查找它的查询: SELECT * FROM core_config_data WHERE path="general";

    这是一个删除(修复)它的查询: DELETE FROM core_config_data WHERE path="general";

    问题是此代码返回 $haystack 的空值,因此您将收到错误 Input type "%value%" not found in the input types list. 任何输入类型都会发生错误 .

    $helper = Mage::helper('eav');
    $haystack = $helper->getInputTypesValidatorData();
    
    const XML_PATH_VALIDATOR_DATA_INPUT_TYPES = 'general/validator_data/input_types';
    
    public function getInputTypesValidatorData()
    {
        return Mage::getStoreConfig(self::XML_PATH_VALIDATOR_DATA_INPUT_TYPES);
    }
    

    那是因为 Mage::getStoreConfig('general/validator_data/input_types'); 返回null . 它正在发生,因为 core_config_data 中的"general"行正在覆盖XML中的整个定义 .

  • 3

    转到数据库的 core_congif_data 表并删除路径一般的条目 . 尝试这个解决方案肯定会起作用

相关问题