We sacrifice by not doing any other technology, so that you get the best of Magento.

We sacrifice by not doing any other technology, so that you get the best of Magento.

When you get error like: Item (MagentoCatalogModelProductInterceptor) with the same ID “<id>” already exists.

Then you can use below module to resolve above error.

1. Create new folders Magemonkey/DuplicateEntry in app/code magento folder.
2. add new file registration.php in DuplicateEntry folder and put below code.

<?php

MagentoFrameworkComponentComponentRegistrar::register(
 MagentoFrameworkComponentComponentRegistrar::MODULE,
 'Magemonkey_DuplicateEntry',
 __DIR__
);

3. add new file etc/module.xml in DuplicateEntry folder and put below code.

<?xml version="1.0"?>

<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Module/etc/module.xsd">
 <module name="Magemonkey_DuplicateEntry" setup_version="1.0.1"></module>
</config>

4. add new file etc/di.xml in DuplicateEntry folder and put below code.

<?xml version="1.0"?>

<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
 <type name="MagentoEavModelEntityCollectionAbstractCollection">
    <plugin name="find_duplicate_entry" type="MagemonkeyDuplicateEntrypluginCollection" sortOrder="20"/>
 </type>
</config>

5. add new file plugin/Collection.php in DuplicateEntry folder and put below code.

<?php
/**
 * Copyright © Magento, Inc. All rights reserved.
 */
namespace MagemonkeyDuplicateEntryplugin;
use MagentoFrameworkDataCollectionEntityFactoryInterface;
use MagentoFrameworkOptionArrayInterface;

class Collection
{
    /**
     * @param MagentoEavModelEntityCollectionAbstractCollection $subject
     * @param Closure $process
     * @param MagentoFrameworkDataObject $dataObject
     * @return $this
     */
    public function aroundAddItem(MagentoEavModelEntityCollectionAbstractCollection $subject, Closure $process, MagentoFrameworkDataObject $dataObject)
    {
        try{
            return $process($dataObject);
        }catch ( Exception $e){
            return $this;
        }
    }
}
field_5bfb909c5ccae

    Recent Articles
    Get a Free Quote

      Full Name

      Email Address

      Mobile Number

      Message

      Let’s initiate a discussion!!

      With Only Agency that provides a 24/7 emergency support.

        Full Name

        Email Address

        Mobile Number

        Message