Hey, after the migration from Magento 1.6.1 to 2.1.7 i am not able to edit the customer via backend. I only get this error message:
a:4:{i:0;s:87:"Missing required argument $options of Magento\Eav\Model\Entity\Attribute\Source\Config.";i:1;s:9644:"#0 /var/www/html/vendor/magento/framework/ObjectManager/Factory/Dynamic/Developer.php(82): Magento\Framework\ObjectManager\Factory\Dynamic\Developer->_resolveArguments('Magento\Eav\Mod...', Array, Array)
hi @FutureDragon
Did you get any errors on the way of migration?
Hey,
no there was no error on the way of migration.
Check your eav_attribute_label, eav_attribute_option, eav_attribute_option_value tables. Looks like they are empty or not fully migrated
I checked the tables and they are not empty and it looks like everything is there.
You can change your \Magento\Eav\Model\Entity\Attribute\Source\Config
from
public function __construct(array $options)
to
public function __construct(array $options = null)
and make a breackpoint at line
$this->_optionsData = $options;
to catch the case when $options is not set. So you would find the corresponding attribute and fix it.
Hi @victor-v-rad ,
We are facing the same issues after we migrated the data's from M1.7 to M2.1.6.
and also unable to view the customers in back office and unable to register the new users in front end.
We are getting the below error and we got the message successfully migrated.
Fatal error: Uncaught Error: Call to undefined method Magento\Eav\Model\Entity\Attribute\Backend\ArrayBackend\Interceptor::getAllOptions() in D:\xampp\htdocs\magento21\vendor\magento\module-customer\Model\AttributeMetadataConverter.php:66 Stack trace: #0 D:\xampp\htdocs\magento21\vendor\magento\module-customer\Model\Metadata\CustomerMetadata.php(77): Magento\Customer\Model\AttributeMetadataConverter->createMetadataAttribute(Object(Magento\Customer\Model\Attribute)) #1 D:\xampp\htdocs\magento21\vendor\magento\module-customer\Model\Metadata\CustomerMetadata.php(109): Magento\Customer\Model\Metadata\CustomerMetadata->getAttributeMetadata('default_blog_ca...') #2 D:\xampp\htdocs\magento21\vendor\magento\module-customer\Model\Metadata\CachedMetadata.php(82): Magento\Customer\Model\Metadata\CustomerMetadata->getAllAttributesMetadata() #3 D:\xampp\htdocs\magento21\vendor\magento\module-customer\Ui\Component\Listing\AttributeRepository.php(66): Magento\Customer\Model\Metadata\CachedMetadata->getAllAttributesMetadata() #4 D:\xampp in D:\xampp\htdocs\magento21\vendor\magento\module-customer\Model\AttributeMetadataConverter.php on line 66
We dont know how to fix the above issues.
Kindly suggest what is the issues here.
Thanks
Hi @victor-v-rad ,
Is there any updates ??
Hi @prestashoppay @FutureDragon
Please consider creating migration related issues for https://github.com/magento/data-migration-tool project.
Thank you
@FutureDragon , Thanks for your reply , i am already migrate m1.7 to m2.1 , i have issues on after migration process i mention above comment please check and let me any solutions .
@prestashoppay
Issue description is not clear enough for us to identify and verify the problem.
If you think that this is a specifically Magento 2 problem please follow reporting guidelines to report an issue. Please, edit issue description and include the preconditions, the steps required to reproduce, the actual result, and the expected result.
Please, add the following information:
@FutureDragon ,
After migration m1.7 to m2.1, m2.1 Admin area click sales > order view getting below error,
Issues Lilsted ,
When I open the orders they show up but when I want to view an order I see this on a blank page:
Order View
Information Changes have been made to this section that have not been saved. This tab contains inval...
Please check and let me any solutions.
@FutureDragon ,
After migration m1.7 to m2.1 , m2.1 Admin area click Customers > All Customers view getting below error,
In frontend and backend when trying to create a new account I get a below error:
Fatal error: Uncaught Error: Call to undefined method Magento\Eav\Model\Entity\Attribute\Backend\ArrayBackend\Interceptor::getAllOptions() in D:\xampp\htdocs\magento21\vendor\magento\module-customer\Model\AttributeMetadataConverter.php:66 Stack trace: #0 D:\xampp\htdocs\magento21\vendor\magento\module-customer\Model\Metadata\CustomerMetadata.php(77): Magento\Customer\Model\AttributeMetadataConverter->createMetadataAttribute(Object(Magento\Customer\Model\Attribute)) #1 D:\xampp\htdocs\magento21\vendor\magento\module-customer\Model\Metadata\CustomerMetadata.php(109): Magento\Customer\Model\Metadata\CustomerMetadata->getAttributeMetadata('default_blog_ca...') #2 D:\xampp\htdocs\magento21\vendor\magento\module-customer\Model\Metadata\CachedMetadata.php(82): Magento\Customer\Model\Metadata\CustomerMetadata->getAllAttributesMetadata() #3 D:\xampp\htdocs\magento21\vendor\magento\module-customer\Ui\Component\Listing\AttributeRepository.php(66): Magento\Customer\Model\Metadata\CachedMetadata->getAllAttributesMetadata() #4 D:\xampp in D:\xampp\htdocs\magento21\vendor\magento\module-customer\Model\AttributeMetadataConverter.php on line 66
Please check and let me any solutions.
Hi @victor-v-rad ,
Any process on this issues ??
editing this file:
vendor/magento/module-eav/Model/Entity/Attribute/Backend/arrayBackend.php
/**
* @return array
*/
public function getAllOptions()
{
$arr = $this->getAttribute();
//$arr=array();
$ret = [];
foreach ($arr as $key => $value) {
$ret[] = [
'value' => $key,
'label' => $value
];
}
return $ret;
This solution is not good becouse, the function return a void array, but i solve for now the problem.... How we can solve definitively the problem?
@ferraramax ,
Thanks a lot . I'ts Working fine .
Great..
Thanks ,
@prestashoppay, i have modified the function in previous post. Please update it. i think this version is better!
@ferrarmax , Please update your modified function put it here .
Thanks ,
@prestashoppay
public function getAllOptions()
{
$arr = $this->getAttribute();
//$arr=array();
$ret = [];
foreach ($arr as $key => $value) {
$ret[] = [
'value' => $key,
'label' => $value
];
}
return $ret;
}
$attribute = $objectManager->create('\Magento\Catalog\Model\ResourceModel\Eav\Attribute');
$attributeInfo = $attribute->getCollection()
->addFieldToFilter('attribute_code', ['eq' => "city"])
->getFirstItem();
$id = $attributeInfo->getSource()->getOptionId($data['city']);
i'm also getting same issue
now i created with attribute 'citi' .now its working fine.
Most helpful comment
editing this file:
vendor/magento/module-eav/Model/Entity/Attribute/Backend/arrayBackend.php
adding this method:
/**
* @return array
*/
public function getAllOptions()
{
$arr = $this->getAttribute();
//$arr=array();
$ret = [];
}
This solution is not good becouse, the function return a void array, but i solve for now the problem.... How we can solve definitively the problem?