cancel
Showing results for 
Search instead for 
Did you mean: 

Plugin class doesn't exist

Plugin class doesn't exist

Hi Guys, 

 

I have created a very simple plugin but at the time of compile code (run bin/magento setup:di:compile command)  it show Plugin class doesn't exist.  Below is my module code

 

Module structure:

Webkeon\DynamicProduct

registration.php code

<?php
\Magento\Framework\Component\ComponentRegistrar::register(
	\Magento\Framework\Component\ComponentRegistrar::MODULE,
	'Webkeon_DynamicProduct',
	__DIR__
);

Webkeon\DynamicProduct\etc

module.xml  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="Webkeon_DynamicProduct" setup_version="0.0.2">
</module>
</config>

di.xml code 

<?xml version="1.0" encoding="UTF-8"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">

<type name="Magento\Quote\Model\Quote\Item">
    <plugin name="Wekeon_DynamicProduct_Plugin_Magento_Quote_Model_Quote_Item" 
              type="Wekeon\DynamicProduct\Plugin\ItemPlugin" sortOrder="1" disabled="false" />
</type>

</config>

Webkeon\DynamicProduct\Plugin

ItemPlugin.php code

<?php
namespace Webkeon\DynamicProduct\Plugin;

class ItemPlugin
{
	
    public function afterSetProduct(\Magento\Quote\Model\Quote\Item $subject,$result){
		
		
		$writer = new \Zend\Log\Writer\Stream(BP . '/var/log/productplugin.log');
		$logger = new \Zend\Log\Logger();
		$logger->addWriter($writer);
		
		$logger->debug('product name plugin <br>');
		
        $subject->setName('New Name');
    }

}

Any one let me know where i am doing wrong it is very simple plugin that are overwriting public function.

 

Thanks

Sanjeev 

 

1 REPLY 1

Re: Plugin class doesn't exist

your vendor/component name is not correct please change it in di.xml file 

<?xml version="1.0" encoding="UTF-8"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:frameworkSmiley SurprisedbjectManager/etc/config.xsd">

<type name="Magento\Quote\Model\Quote\Item">
<plugin name="Wekeon_DynamicProduct_Plugin_Magento_Quote_Model_Quote_Item"
type="Webkeon\DynamicProduct\Plugin\ItemPlugin" sortOrder="1" disabled="false" />
</type>
</config>
 
thanks