Skip to main content

Posts

TO Execute Multiple Raw Query In Magento 2

<?php         /*          *          * TO Execute Multiple Raw Query In Magento 2          *          * */ $objectManager = \Magento\Framework\App\ObjectManager::getInstance(); $resource = $objectManager->get('Magento\Framework\App\ResourceConnection'); $conn = $resource->getConnection('write'); $sqlScript = file($sqlFile); $query = ''; foreach ($sqlScript as $line) { $startWith = substr(trim($line), 0 ,2); $endWith = substr(trim($line), -1 ,1); if (empty($line) || $startWith == '--' || $startWith == '/*' || $startWith == '//') continue; $query = $query . $line; if ($endWith == ';') { $conn->query($query); $query= ''; } } echo '<div class="success-response sql-import-response">SQL file imported successfully</div>';

Magento Copy Base Image To Thumbnail Image

-------------------------------------------------------------------------------- Copy Base Image To Thumbnail Image -------------------------------------------------------------------------------- UPDATE catalog_product_entity_varchar AS ev,        catalog_product_entity_varchar AS ev2 SET    ev.value = ev2.value WHERE  ev.entity_id = ev2.entity_id AND    ev.attribute_id =        (               SELECT `attribute_id`               from   eav_attribute a               WHERE  attribute_code = 'thumbnail'                             AND    entity_type_id =                      (                       ...

Run Magento 2 commands programatically

<?php use Magento\Framework\App\Bootstrap; require __DIR__ . '/app/bootstrap.php' ; $bootstrap = Bootstrap:: create ( BP , $_SERVER ); $obj = $bootstrap ->getObjectManager(); $state = $obj ->get( 'Magento\Framework\App\State' ); $state ->setAreaCode( 'frontend' ); $k [ 0 ]= 'bin/magento' ; $k [ 1 ]= 'cache:flush' ; // write your proper command like setup:upgrade,cache:enable etc... $_SERVER [ 'argv' ]= $k ; try { $handler = new \Magento\Framework\App\ErrorHandler(); set_error_handler ([ $handler , 'handler' ]); $application = new Magento\Framework\Console\Cli( 'Magento CLI' ); $application ->run(); } catch (\Exception $e ) { while ( $e ) { echo $e ->getMessage(); echo $e ->getTraceAsString(); echo " \n\n " ; $e = $e ->getPrevious(); } } ?>

Php print backtrace (To see the from where code is coming)

echo "<pre>".print_r(debug_backtrace(2),true)."</pre>";

Magento 2 generate custom log

the custom log file created using below code for Magento 2.4.2 before version use this :  $writer = new \Zend\Log\Writer\Stream (BP . '/var/log/custom.log' ); $logger = new \Zend\Log\Logger (); $logger -> addWriter ( $writer ); $logger -> info ( 'Custom message' ); $logger -> info ( print_r ( $object -> getData (), true )); for Magento 2.4.2 or after version use this :  $writer = new \Laminas\Log\Writer\Stream (BP . '/var/log/custom.log' ); $logger = new \Laminas\Log\Logger (); $logger -> addWriter ( $writer ); $logger -> info ( 'text message' ); $logger -> info ( print_r ( $object -> getData (), true )); for Magento 2.4.3 version use this $writer = new \Zend_Log_Writer_Stream (BP . '/var/log/custom.log' ); $logger = new \Zend_Log (); $logger -> addWriter ( $writer ); $logger -> info ( 'text message' ); $logger -> info ( print_r ( $object -> getData (), true )); Or you can try this : f...