当我尝试从Catalog-> Attributes-> Manage Attributes创建新的产品属性时,它会显示错误"输入类型" text"在输入类型列表中找不到"。 "保存产品属性时出错。"
任何属性类型都会发生;文字,下拉,多选等...
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
答案 0 :(得分:3)
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
中的这个“常规”行覆盖了XML中的整个定义。
答案 1 :(得分:1)
转到数据库的core_congif_data
表并删除路径常规条目。试试这个肯定会有效的解决方案