Skip to main content

Posts

Showing posts with the label magento 2

Magento - LogRocket Integration

In today’s competitive eCommerce landscape, understanding user behavior is crucial for optimizing customer experiences and improving conversion rates. Magento 2, a powerful and flexible eCommerce platform, allows merchants to customize their online stores extensively. However, monitoring how users interact with these customizations is often challenging. This is where LogRocket, a modern session replay tool, comes into play. Integrating LogRocket with Magento 2 can provide invaluable insights into user behavior, performance bottlenecks, and UX issues. In this blog post, we’ll walk you through the steps to integrate LogRocket with Magento 2, and how this integration can help you improve your store’s performance and user experience. What is LogRocket? LogRocket is a session replay tool that enables you to record and playback user activity on your website. It tracks interactions such as clicks, scrolls, and form inputs, giving you a clear view of how users navigate your store. In addition,...

Magento 2: How to enable cache for a custom EAV attributes?

To prepare for the certification exam, the candidate should know about different cache types and their purpose. The cache is an important and crucial part of the website's performance. One of the caches is the "EAV types and attributes" cache. You can check the list of caches in Magento Admin and by using console commands. Below is the screenshot of the list of caches in admin under System -> Cache Management As of version 2.3.4, Commerce caches all system EAV attributes as they are retrieved. Caching EAV attributes in this manner improves performance, because it decreases the amount of insert/select requests to the DB. However, it increases cache network size as well. Developers can cache custom EAV attributes by running the below command. bin/magento config:set dev/caching/cache_user_defined_attributes 1 This can also be done from the Admin while in Developer mode by setting Stores > Settings Configuration > Advanced > Developer > Caching Settings > Ca...

Magento 2: Maximum Discount Amount

Setting a maximum discount amount for promotions on an e-commerce platform is crucial for maintaining profitability and protecting the business's bottom line. It helps to prevent excessive discounting that could erode margins and devalue products. Additionally, it ensures consistency in pricing strategy and prevents potential revenue loss. Moreover, it fosters customer trust by establishing clear and fair discounting practices, enhancing brand reputation and loyalty. Lastly, it enables effective budget management by limiting the financial impact of promotional activities while still incentivizing purchases. Implementing a "maximum discount amount" customization on core Magento can significantly enhance the platform's flexibility and control over promotional activities. Please follow the below steps to add this feature: Add a new column on salesrule table using db_schema.xml <schema xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNames...

A Comprehensive Guide to Configuring Currency in Magento

Configuring currency settings in Magento is crucial for any e-commerce store that operates in multiple countries or deals with customers using different currencies. Correctly setting up currencies ensures smooth transactions and enhances the user experience. In this guide, we'll walk through the steps to configure currency in Magento, helping you tailor your store to meet the needs of your diverse customer base. Step 1: Accessing Currency Configuration To begin, log in to your Magento admin panel. Once logged in, navigate to the Stores tab located on the left-hand side menu. From the dropdown menu under the Stores tab, select Configuration. This will take you to the configuration panel where you can adjust various settings for your Magento store. Step 2: General Currency Settings In the Configuration panel, locate the General section and click on Currency Setup. Here, you'll find options to configure your store's base currency, allowed currencies, and currency rates. Base C...

Magento Cloud - How to connect to Opensearch/Elasticsearch

The magento-cloud CLI tool allows developers and system administrators to manage Cloud projects and environments, conduct routines, and run automated activities. The magento-cloud CLI expands on the features and functionality of the Project Web Interface. After installing the magento-cloud CLI on your local machine, you can use it to administer your Adobe Commerce on Cloud Infrastructure Starter and Pro Integration environments. To install the magento-cloud CLI tool on your local, please follow this link. Once you have CLI installed on your local machine, you will have access to all the commands provided by the Magento cloud team for accessing or managing the project from your local machine. After installing CLI, you can use a command magento-cloud tunnel:single to connect to the dependent app of Magento like Redis, OpenSearch & Database. You can execute  magento-cloud tunnel:single  command with multiple variables where you can pass the project code, environment name, e...

Sync prices in Magento from ERP system

Price synchronization is a critical aspect of e-commerce applications, and its importance cannot be understated. Price synchronization in e-commerce applications is essential for maintaining consistency, competitiveness, and customer trust. It also streamlines operations, reduces errors, and enables businesses to adapt to market changes, ultimately leading to better customer experiences and increased revenue. So it's important to have a fast and efficient synchronization process for syncing prices from another application to Magento. Let's see how we can achieve this. This is the main function that needs to be called for importing the price. In this, we can see we have imported the price for a multiwebsite setup. If you have a system with a single website, you can remove the loop and use the rest of the code. public function execute() { $prices = []; $websites = $this->systemConfig->getWebsites(); foreach ($websites as $website) { if (...

Layout Processing Priority

While working in Magento, theme developers need to override the layouts from the core modules. And then the developers using those themes may need to customize them according to their requirements.  Magento always recommends, to ensure stability and secure your customizations from being deleted during the upgrade, not change out-of-the-box module and theme layouts. To make the necessary changes, create extending and overriding layout files in your custom theme or module. When multiple copies of the same layouts are available in a project, developers get confused about the layout's execution. So to understand how the layouts are being processed by the application, see the points below: Layouts from the module's base directory. Then layouts from the module's area directory. If the same layout is customized in multiple modules, then they are merged based on the sequence of modules in the app/etc/config.xml file. Then layouts from the theme's design/frontend/Namespace_Modul...

How to add new cart item attribute in SalesRule Conditions?

Promotions play a crucial role in the success of an eCommerce business. They are essential for attracting customers, increasing sales, building brand loyalty, and staying competitive in the online marketplace. Managing promotions in Magento 2 can be done through the built-in promotional tools and features. Magento 2 offers a flexible and powerful promotion system to create various types of promotions like discounts, coupons, free shipping, etc. But there is always a scope for change in the business requirement for creating a promotion, and we are going to discuss more on this requirement. Currently, Magento provides the below conditions on which you can create your promotion rules. But by following the below steps you can manage and learn to add more options to the cart price rule. Step 1: First, we need to add a plugin for class Magento\SalesRule\Model\Rule\Condition\Product. <?xml version="1.0" ?> <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance...

Magento 2 - Product Feed

If you operate an online store and want to sell your products, you surely want your offer to be displayed accurately and in the best way possible. Because, in today's competitive market, when customers receive various discounts and offers across all e-commerce platforms, your potential customers, regardless of where you sell, demand exact, complete, and up-to-date product information. As a result, e-commerce sites must create and optimize product feeds. What is Product Feed? The product feed is the most important part of the eCommerce business as it allows the owner to grow their business and marketers to advertise their company's product.  In basic terms, a product feed is a data feed that comprises all of the attributes of a product. Product feed files can be generated in a variety of file formats depending on the system to which the products will be pushed. The most used file formats are XML and CSV. The content of the product feed may vary, but the fundamental goal of the p...

How to add new field in attribute form in Magento 2?

Magento provide a feature to manage product attributes from the admin. There we can manage how to use that attributes in frontend and backend. And sometimes based on demand, we need additional information for an individual attribute. For example, include an attribute in the product feed. So let's see how we can add a new field to capture the additional value for each attribute. Please follow the below steps: STEP 1: Create a plugin <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nonamespaceschemalocation="urn:magento:framework:ObjectManager/etc/config.xsd"> <type name="Magento\Catalog\Block\Adminhtml\Product\Attribute\Edit\Tab\Front"> <plugin name="extension_attribute_edit_form" sortorder="1" type="MageInsight\ProductFeed\Plugin\Block\Adminhtml\Product\Attribute\Edit\Tab\Front"> </plugin></type> </config> STEP 2: Next, we will create the “Front” class ...

How to add a dynamic homepage in Magento 2?

Magento provides the ability to have multiple homepages or a homepage with dynamic blocks that alter based on demand. However, there may be times when different homepages must be displayed based on customer groups/segments. This is possible with the dynamic block functionality, which is available in the Enterprise and Cloud editions. However, there is a constraint in that you have to maintain numerous blocks for multiple customer groups/segments. In that situation, you can alter the default functionality by using the code below: Step 1: Create a plugin for "Magento\Cms\Controller\Index\Index" by adding the below code in your module di.xml file. <type name="Magento\Cms\Controller\Index\Index"> <plugin name="dynamicHomepage" type="Mageinsight\Module\Plugin\DynamicHomepage" sortOrder="1"/> </type> Step 2: Add the plugin file as below: <?php namespace Mageinsight\Module\Plugin; use Magento\Framework\App\Config; ...