CoderFunda
  • Home
  • About us
    • Contact Us
    • Disclaimer
    • Privacy Policy
    • About us
  • Home
  • Php
  • HTML
  • CSS
  • JavaScript
    • JavaScript
    • Jquery
    • JqueryUI
    • Stock
  • SQL
  • Vue.Js
  • Python
  • Wordpress
  • C++
    • C++
    • C
  • Laravel
    • Laravel
      • Overview
      • Namespaces
      • Middleware
      • Routing
      • Configuration
      • Application Structure
      • Installation
    • Overview
  • DBMS
    • DBMS
      • PL/SQL
      • SQLite
      • MongoDB
      • Cassandra
      • MySQL
      • Oracle
      • CouchDB
      • Neo4j
      • DB2
      • Quiz
    • Overview
  • Entertainment
    • TV Series Update
    • Movie Review
    • Movie Review
  • More
    • Vue. Js
    • Php Question
    • Php Interview Question
    • Laravel Interview Question
    • SQL Interview Question
    • IAS Interview Question
    • PCS Interview Question
    • Technology
    • Other

30 March, 2022

Magento 2 Recent Order not showing in Sales Order Grid

 Programing Coderfunda     March 30, 2022     Magento, Magento 2     No comments   

You vicinity an order from frontend and anticipate it to be displayed inside the Sales -> Orders grid in the Magento backend. But, you don’t see your latest order inside the sales order grid.
x






Cause

This is because Magento uses Scheduled Grid Updates. The order related grids (order, invoice, shipment, credit memo) are updated via scheduled cron job. This feature is enabled to avoid locks and reduce processing time.

Solution

1) The best solution would be to run the cron job at regular intervals.

You can also run cron manually from the terminal with the following command:

bin/magento cron:run

2) The other solution (not recommended) is to disable asynchronous indexing of the grid.

You can enable/disable it by going to:

STORES -> Settings -> Configuration -> Advanced > Developer > Grid Settings > Asynchronous indexing

Or, from the command line:

Show value of the setting:

bin/magento config:show dev/grid/async_indexing

Enable Async Grid Indexing:

bin/magento config:set dev/grid/async_indexing 1

Disable Async Grid Indexing:

bin/magento config:set dev/grid/async_indexing 0

Refresh Cache

After the settings change, you have to refresh cache:
– either by going to SYSTEM -> Tools -> Cache Management
– or running the command bin/magento cache:flush.

Finally

Refresh the sales order grid page in Magento admin.

Finally, you should be able to see your recently added order in the sales order grid.

Hope this helps. Thanks.

Read More
  • Share This:  
  •  Facebook
  •  Twitter
  •  Google+
  •  Stumble
  •  Digg

Magento 2 Media Gallery doesn't show any images

 Programing Coderfunda     March 30, 2022     Magento, Magento 2     No comments   

The new/more suitable media gallery changed into introduced with the release of Adobe Commerce and Magento Open Source 2.Four.


Enable New Media Gallery

STORES > Settings > Configuration > ADVANCED > System > Media Gallery

Set
Enable Old Media Gallery = No

This will then enable the new media gallery.

Access New Media gallery

CONTENT > Media Gallery

Problem:

Images of old image gallery not showing in the new media gallery (CONTENT > Media Gallery)

Solution:

The Magento doc says that:

Full functionality for new Media Gallery requires media.gallery.synchronization and media.content.synchronization queue consumers to be started for initial synchronization

1) Run the following media sync commands

Synchronize content with assets

bin/magento media-content:sync

Synchronize media storage and media assets in the database

bin/magento media-gallery:sync

Note: If you have a large number of images, then the media-gallery:sync can take some time to complete.

2) Start the following message queue consumers

bin/magento queue:consumers:start media.content.synchronization
bin/magento queue:consumers:start media.gallery.synchronization

If there is a large gallery item to sync, then it might take some time.

In such a case, you can run the commands in the background by appending “&” at the end of the command.

bin/magento queue:consumers:start media.content.synchronization &
bin/magento queue:consumers:start media.gallery.synchronization &

Bonus:

Some references on managing message queues:

List all consumers

bin/magento queue:consumers:list

Start message queue consumers

bin/magento queue:consumers:start [--max-messages=<value>] [--batch-size=<value>] [--single-thread][--area-code=<value>] <consumer_name>

To run message queue in the background, you can append & at the end:

bin/magento queue:consumers:start <consumer_name> &
Read More
  • Share This:  
  •  Facebook
  •  Twitter
  •  Google+
  •  Stumble
  •  Digg

How to check if customer is logged in or not

 Programing Coderfunda     March 30, 2022     Magento, Magento 2     No comments   

 This article indicates one of a kind ways to test if a consumer is logged in or no longer in Magento 2.

1) Using \Magento\Customer\Model\Session class

  • The main issue with this way is that it will not work when page cache is enabled.
  • When page cache is enabled and you use this code, it will not be able to get the logged-in customer ID or get the boolean value of isLoggedIn.
/**
 * @var Magento\Customer\Model\Session
 */
protected $customerSession;

/**
 * ...
 * @param \Magento\Customer\Model\Session $customerSession
 */
public function __construct(
    ...
    \Magento\Customer\Model\Session $customerSession
) {
    ...
    $this->customerSession = $customerSession;
}

/**
 * @return int
 */
public function getCustomerId()
{
    return $this->customerSession->getCustomer()->getId();
}

/**
 * @return bool
 */
public function isCustomerLoggedIn()
{
    return $this->customerSession->isLoggedIn();
}

2) Using Factory Class Magento\Customer\Model\SessionFactory

  • Using Factory class will solve the issue with page cache.
  • We will be able to run this code even if the page cache is enabled.
/**
 * @var Magento\Customer\Model\SessionFactory
 */
protected $customerSessionFactory;

/**
 * ...
 * @param \Magento\Customer\Model\SessionFactory $customerSession
 */
public function __construct(
    ...
    \Magento\Customer\Model\SessionFactory $customerSessionFactory
) {
    ...
    $this->customerSessionFactory = $customerSessionFactory;
}

/**
 * @return int
 */
public function getCustomerId()
{
    $customerSession = $this->customerSessionFactory->create();
    return $customerSession->getCustomer()->getId();
}

/**
 * @return bool
 */
public function isCustomerLoggedIn()
{
    $customerSession = $this->customerSessionFactory->create();
    return $customerSession->isLoggedIn();
}

3) Using HTTP Context class Magento\Framework\App\Http\Context

  • This is useful if we just need to check if the user is logged in or not.
  • Using HTTP Context will work on both cacheable and non-cacheable pages.
  • We also don’t have to work directly with the customer session.
/**
 * @var Magento\Framework\App\Http\Context
 */
protected $httpContext;

/**
 * ...
 * @param \Magento\Framework\App\Http\Context $httpContext
 */
public function __construct(
    ...
    \Magento\Framework\App\Http\Context $httpContext
) {
    ...
    $this->httpContext = $httpContext;
}

/**
 * @return bool
 */
public function isCustomerLoggedIn()
{
    return (bool)$this->httpContext->getValue(\Magento\Customer\Model\Context::CONTEXT_AUTH);
}
Read More
  • Share This:  
  •  Facebook
  •  Twitter
  •  Google+
  •  Stumble
  •  Digg

Remove Block Programmatically in Magento2

 Programing Coderfunda     March 30, 2022     Magento, Magento 2     No comments   

This article indicates how you may eliminate layout blocks through the PHP Program instead of working within the format.Xml report in Magento 2.


I will be using event observer.


app/code/Company/Module/etc/frontend/events.xml

<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Event/etc/events.xsd">
    <event name="layout_generate_blocks_after">
        <observer name="remove_block" instance="Company\Module\Model\Observer\RemoveBlock" />
    </event>
</config>

app/code/Company/Module/Observer/RemoveBlock.php

Here, I am checking if a customer is logged in or not & removing the layout block if the customer is not logged in.

<?php

namespace Company\Module\Model\Observer;

use Magento\Framework\Event\Observer;
use Magento\Framework\Event\ObserverInterface;
use Magento\Framework\App\Http\Context as HttpContext;

class RemoveBlock implements ObserverInterface
{
    /**
     * @var HttpContext
     */
    protected $httpContext;

    public function __construct(
        HttpContext $httpContext
    ) {
        $this->httpContext = $httpContext;
    }

    public function execute(Observer $observer)
    {
        /** @var \Magento\Framework\View\Layout $layout */
        $layout = $observer->getLayout();

        $isCustomerLoggedIn = (bool)$this->httpContext->getValue(\Magento\Customer\Model\Context::CONTEXT_AUTH);
        
        if (!$isCustomerLoggedIn) {
            $blockName = 'your-block-to-remove';
            $block = $layout->getBlock($blockName);
            if ($block) {
                $layout->unsetElement($blockName);
            }
        }
    }
}

Hope this helps. Thanks.

Read More
  • Share This:  
  •  Facebook
  •  Twitter
  •  Google+
  •  Stumble
  •  Digg

Magento 2 Programmatically Create Custom Layout XML

 Programing Coderfunda     March 30, 2022     Magento, Magento 2     No comments   

 This article shows how you can create a custom layout XML handle programmatically in your custom module in Magento 2.

I will be using event observer for this.

app/code/Company/Module/etc/frontend/events.xml

<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Event/etc/events.xsd">
    <event name="layout_load_before">
        <observer name="mycompany_custom_layout" instance="Company\Module\Model\Observer\CustomLayout" />
    </event>
</config>

app/code/Company/Module/Observer/CustomLayout.php

Here, I am checking if a customer is logged in or not & adding the custom layout handle only if the customer is not logged in.

<?php

namespace Company\Module\Model\Observer;

use Magento\Framework\Event\Observer;
use Magento\Framework\Event\ObserverInterface;
use Magento\Framework\App\Http\Context as HttpContext;

class CustomLayout implements ObserverInterface
{
    /**
     * @var HttpContext
     */
    protected $httpContext;

    public function __construct(
        HttpContext $httpContext
    ) {
        $this->httpContext = $httpContext;
    }

    public function execute(Observer $observer)
    {
        /** @var \Magento\Framework\View\Layout $layout */
        $layout = $observer->getLayout();

        $isCustomerLoggedIn = (bool)$this->httpContext->getValue(\Magento\Customer\Model\Context::CONTEXT_AUTH);
        
        if (!$isCustomerLoggedIn) {
            $layout->getUpdate()->addHandle('customer_not_logged_in');
        }
    }
}

app/code/Company/Module/view/frontend/layout/customer_not_logged_in.xml

In this layout file, I have added a custom stylesheet file. And, moved login.link.wrapper block to the header.panel.

So, the changes present in this layout XML file will be reflected to non-logged-in customers only.

<?xml version="1.0"?>
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
    <head>
        <css src="Company_Module::css/style.css" />
    </head>
    <body>
        <move element="login.link.wrapper" destination="header.panel" after="-"/>
    </body>
</page>

app/code/Company/Module/view/frontend/web/css/style.css

/**
your custom css
**/
Read More
  • Share This:  
  •  Facebook
  •  Twitter
  •  Google+
  •  Stumble
  •  Digg
Newer Posts Older Posts Home

Meta

Popular Posts

  • Generate Migrations from an Existing Database With the Migration Generator Package
    Laravel Migration Generator Migration Generator for Laravel is a package by Bennett Treptow to generate migrations from existing database ...
  • Search Through Models with Laravel Searchable
      Laravel Searchable   is a package by   Spatie   to search through models and other sources pragmatically. Using this package, you can get ...
  • Laravel Razorpay Integration | Payment gateway integration Laravel in 30 mins | Laravel Razorpay
    1 Integration of Razorpay with Laravel. In this tutorial, I have taught how to integrate payment gateway with laravel with mini-project. If...
  • .Net 8 XUnit: Use an In-Memory DBConnection for testing as a replacement for the real MySqlConnection
    I'm creating tests for my .Net 8 API, and as I want to test with fake self created data (instead of using the real MySql connection) I...
  • Vue.js Render functions
        Vue.js Render functions Vue.js recommends us to use templates to build HTML. Here, we can use the render function as a closer-to-the-co...

Categories

  • Ajax (26)
  • Bootstrap (30)
  • DBMS (42)
  • HTML (12)
  • HTML5 (45)
  • JavaScript (10)
  • Jquery (34)
  • Jquery UI (2)
  • JqueryUI (32)
  • Laravel (1017)
  • Laravel Tutorials (23)
  • Laravel-Question (6)
  • Magento (9)
  • Magento 2 (95)
  • MariaDB (1)
  • MySql Tutorial (2)
  • PHP-Interview-Questions (3)
  • Php Question (13)
  • Python (36)
  • RDBMS (13)
  • SQL Tutorial (79)
  • Vue.js Tutorial (69)
  • Wordpress (150)
  • Wordpress Theme (3)
  • codeigniter (108)
  • oops (4)
  • php (853)

Social Media Links

  • Follow on Twitter
  • Like on Facebook
  • Subscribe on Youtube
  • Follow on Instagram

Pages

  • Home
  • Contact Us
  • Privacy Policy
  • About us

Blog Archive

  • ▼  2026 (12)
    • ▼  07/26 - 08/02 (11)
      • 'The Odyssey' crosses USD 639.6 million globally
      • 'Ramayana' to have 'Baahubali'-style cliffhanger e...
      • Kim Kardashian remember late granny on 92nd heaven...
      • Emma Roberts weds Cody John in intimate Idaho cere...
      • 'Jana Nayagan' BO day 4: Film crosses Rs 100 Cr Net
      • 'Chennai Love Story' BO jumps 11.1%
      • China’s new hybrid rice can preserve its high-yiel...
      • Quote of the day by Thucydides: 'Self-control is t...
      • Quote of the day by Slavoj Žižek: 'The problem for...
      • A stormwater pond in Calgary appears filled with P...
      • Inside Kriti Sanon's duplex sea-facing penthouse w...
    • ►  06/28 - 07/05 (1)
  • ►  2025 (4)
    • ►  07/06 - 07/13 (2)
    • ►  06/29 - 07/06 (2)
  • ►  2024 (486)
    • ►  09/15 - 09/22 (30)
    • ►  09/08 - 09/15 (35)
    • ►  09/01 - 09/08 (35)
    • ►  08/11 - 08/18 (2)
    • ►  08/04 - 08/11 (33)
    • ►  07/28 - 08/04 (30)
    • ►  07/07 - 07/14 (11)
    • ►  06/30 - 07/07 (35)
    • ►  06/23 - 06/30 (5)
    • ►  06/02 - 06/09 (31)
    • ►  05/26 - 06/02 (20)
    • ►  05/05 - 05/12 (29)
    • ►  04/28 - 05/05 (26)
    • ►  04/07 - 04/14 (10)
    • ►  03/31 - 04/07 (34)
    • ►  03/24 - 03/31 (10)
    • ►  03/03 - 03/10 (35)
    • ►  02/25 - 03/03 (15)
    • ►  02/04 - 02/11 (22)
    • ►  01/28 - 02/04 (30)
    • ►  01/07 - 01/14 (8)
  • ►  2023 (484)
    • ►  12/31 - 01/07 (35)
    • ►  12/24 - 12/31 (10)
    • ►  12/03 - 12/10 (33)
    • ►  11/26 - 12/03 (20)
    • ►  11/05 - 11/12 (35)
    • ►  10/29 - 11/05 (20)
    • ►  10/22 - 10/29 (9)
    • ►  10/15 - 10/22 (7)
    • ►  10/08 - 10/15 (9)
    • ►  10/01 - 10/08 (10)
    • ►  09/24 - 10/01 (9)
    • ►  09/17 - 09/24 (9)
    • ►  09/10 - 09/17 (7)
    • ►  09/03 - 09/10 (9)
    • ►  08/27 - 09/03 (9)
    • ►  08/20 - 08/27 (8)
    • ►  08/13 - 08/20 (8)
    • ►  08/06 - 08/13 (8)
    • ►  07/30 - 08/06 (8)
    • ►  07/23 - 07/30 (7)
    • ►  07/16 - 07/23 (8)
    • ►  07/09 - 07/16 (7)
    • ►  07/02 - 07/09 (8)
    • ►  06/25 - 07/02 (7)
    • ►  06/18 - 06/25 (7)
    • ►  06/11 - 06/18 (7)
    • ►  06/04 - 06/11 (11)
    • ►  05/28 - 06/04 (7)
    • ►  05/21 - 05/28 (8)
    • ►  05/14 - 05/21 (11)
    • ►  05/07 - 05/14 (7)
    • ►  04/30 - 05/07 (7)
    • ►  04/23 - 04/30 (8)
    • ►  04/16 - 04/23 (9)
    • ►  04/09 - 04/16 (7)
    • ►  04/02 - 04/09 (4)
    • ►  03/26 - 04/02 (21)
    • ►  03/19 - 03/26 (2)
    • ►  03/12 - 03/19 (9)
    • ►  03/05 - 03/12 (26)
    • ►  02/26 - 03/05 (25)
    • ►  01/15 - 01/22 (7)
    • ►  01/08 - 01/15 (1)
  • ►  2022 (1037)
    • ►  12/11 - 12/18 (13)
    • ►  12/04 - 12/11 (1)
    • ►  11/27 - 12/04 (40)
    • ►  11/06 - 11/13 (1)
    • ►  10/16 - 10/23 (13)
    • ►  09/04 - 09/11 (5)
    • ►  08/21 - 08/28 (24)
    • ►  08/14 - 08/21 (24)
    • ►  07/03 - 07/10 (9)
    • ►  06/19 - 06/26 (3)
    • ►  05/29 - 06/05 (3)
    • ►  05/22 - 05/29 (3)
    • ►  05/15 - 05/22 (109)
    • ►  05/01 - 05/08 (7)
    • ►  04/24 - 05/01 (7)
    • ►  04/17 - 04/24 (64)
    • ►  04/10 - 04/17 (115)
    • ►  04/03 - 04/10 (73)
    • ►  03/27 - 04/03 (77)
    • ►  03/13 - 03/20 (2)
    • ►  03/06 - 03/13 (25)
    • ►  02/27 - 03/06 (18)
    • ►  02/20 - 02/27 (153)
    • ►  02/13 - 02/20 (187)
    • ►  01/30 - 02/06 (45)
    • ►  01/23 - 01/30 (15)
    • ►  01/16 - 01/23 (1)
  • ►  2021 (412)
    • ►  10/24 - 10/31 (2)
    • ►  07/25 - 08/01 (1)
    • ►  07/11 - 07/18 (10)
    • ►  06/13 - 06/20 (29)
    • ►  05/23 - 05/30 (1)
    • ►  05/02 - 05/09 (24)
    • ►  04/25 - 05/02 (24)
    • ►  04/18 - 04/25 (112)
    • ►  04/11 - 04/18 (1)
    • ►  04/04 - 04/11 (6)
    • ►  03/28 - 04/04 (86)
    • ►  03/21 - 03/28 (19)
    • ►  03/14 - 03/21 (2)
    • ►  03/07 - 03/14 (10)
    • ►  02/28 - 03/07 (1)
    • ►  02/21 - 02/28 (29)
    • ►  02/14 - 02/21 (13)
    • ►  02/07 - 02/14 (12)
    • ►  01/31 - 02/07 (6)
    • ►  01/17 - 01/24 (2)
    • ►  01/10 - 01/17 (8)
    • ►  01/03 - 01/10 (14)
  • ►  2020 (376)
    • ►  12/27 - 01/03 (37)
    • ►  12/20 - 12/27 (92)
    • ►  12/13 - 12/20 (29)
    • ►  12/06 - 12/13 (37)
    • ►  11/29 - 12/06 (4)
    • ►  11/15 - 11/22 (14)
    • ►  11/08 - 11/15 (8)
    • ►  11/01 - 11/08 (2)
    • ►  10/18 - 10/25 (14)
    • ►  10/11 - 10/18 (16)
    • ►  10/04 - 10/11 (10)
    • ►  09/20 - 09/27 (10)
    • ►  09/06 - 09/13 (19)
    • ►  08/30 - 09/06 (26)
    • ►  08/23 - 08/30 (4)
    • ►  08/16 - 08/23 (2)
    • ►  07/12 - 07/19 (48)
    • ►  05/17 - 05/24 (2)
    • ►  01/05 - 01/12 (2)
  • ►  2019 (74)
    • ►  07/07 - 07/14 (6)
    • ►  06/16 - 06/23 (6)
    • ►  02/10 - 02/17 (17)
    • ►  01/13 - 01/20 (37)
    • ►  01/06 - 01/13 (8)
  • ►  2018 (376)
    • ►  12/30 - 01/06 (24)
    • ►  12/16 - 12/23 (8)
    • ►  12/09 - 12/16 (98)
    • ►  12/02 - 12/09 (16)
    • ►  11/18 - 11/25 (36)
    • ►  11/04 - 11/11 (18)
    • ►  10/28 - 11/04 (10)
    • ►  10/21 - 10/28 (26)
    • ►  10/14 - 10/21 (52)
    • ►  10/07 - 10/14 (4)
    • ►  09/30 - 10/07 (2)
    • ►  09/23 - 09/30 (68)
    • ►  09/16 - 09/23 (4)
    • ►  09/09 - 09/16 (4)
    • ►  08/26 - 09/02 (6)

Data Publish News

Loading...

Al Jazeera – Breaking News, World News and Video from Al Jazeera

Loading...

Laravel News

Loading...

Copyright © CoderFunda | Powered by Blogger
Design by Coderfunda | Blogger Theme by Coderfunda | Distributed By Coderfunda