Skip to main content

Magento2

Power your online business with the most flexible and scalable ecommerce platform

How to fix the «Invalid template file» / «require_js.phtml» failure of Magento 2.3.x in Windows?

go to this file


/Magento/Framework/View/Element/Template/File/Validator.php

replace this part


foreach ($directories as $directory) {
    if (0 === strpos($realPath, $directory)) {

with the following one:

$isWin = 'WIN' === strtoupper(substr(PHP_OS, 0, 3)); 

/** @var bool $isWin */ 
foreach ($directories as $directory) { 
    if (0 === strpos($realPath, !$isWin ? $directory : $this->fileDriver->getRealPath($directory)) ) {

 

Original article 

How do I clear the cache in Magento 2 for a single product_id

the best way to do do this is using the below method


$objectManager =   \Magento\Framework\App\ObjectManager::getInstance();
$productR =      $objectManager ->create('\Magento\Catalog\Api\ProductRepositoryInterface');
$product = $productR->get('product_sku');
$product->cleanCache();
$this->_eventManager->dispatch('clean_cache_by_tags', ['object' => $product]);


you need of course to follow the DI to implement this code, I just used this quick way to make it easy to understand

 

Programmatically update customer data in Magento 2

Using Object Manager

$storeManager = $objectManager->get('\Magento\Store\Model\StoreManagerInterface');
$websiteId = $storeManager->getStore()->getWebsiteId();
 
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$customerRepository = $objectManager->create('Magento\Customer\Api\CustomerRepositoryInterface');
 
// load customer info by email
$customer = $customerRepository->get('[email protected]', $websiteId);
 
// load customer info by id    
$customer = $customerRepository->getById(1);
 
// Update customer Info
$cust

How to enable Magento 2 profiler?

Magento profiler can help you with the store performance tuning before the store release or during the exploitation.
The old UI for enabling/disabling the profiler is not available in Magento 2 and the profiler is disabled by default.
To enable one of the profiler formats mentioned above, you can edit .htaccess (a configuration file for Apache Web Server software):

    Choose one of the next expressions:

Some important command in Magento2 after you change the mode to production

From the Magento root directory, switch to production mode:

 bin/magento deploy:mode:set production

Enable JavaScript bundling:

 bin/magento config:set dev/js/enable_js_bundling 1

Optimize bundling by minifying JavaScript files:

 bin/magento config:set dev/js/minify_files 1

Enable cache busting on static file URLs. This ensures users get the latest version of the assets anytime they update: