Fme Extensions Blog

Latest news, tutorials, and best practices for Magento

December 13, 2023Magento: Extensions, Custom Development or Both? Choose Wisely

Hey there, fellow e-commerce enthusiasts! Let's talk about spicing up your online business game with some top-notch solutions. If you've been on the lookout for ways to boost your online store's efficiency, you're in luck! Enter Magento - the superhero among e-commerce platforms that's been hitting the mark.

December 11, 2023Top Magento Alternatives and Competitors in 2024

Hey, savvy e-commerce wizards! Are you ready for a whirlwind adventure into the vibrant world of online selling? Picture this: you're about to embark on a quest to find the ultimate e-commerce platform that'll skyrocket your business to the stars. Today, we're spilling the beans on the hottest topic around – the top alternatives to Magento in 2024.

December 6, 2023Magento Security: Measures & Best Practices

Hey there, fellow Magento store managers!

April 24, 2024Magento 2: How to Hide Price for Not Logged in Customers?

While reading the title, you may be wondering why any store would want to hide product prices in Magento 2 regardless of whether the customer is logged in. After all, price is often the topmost or only factor the target audience considers when contemplating a purchase. However, there are situations such as guest users where you may want to hide product prices. In this article, we will guide you about everything there is to know about the Magento 2 hide price for guest. Before doing that, let’s discuss why you need to implement the Magento 2 hide price if not logged in feature. Why You Need to Hide Price if Not Logged-In? Magento 2 hide prices unless logged in feature is something that every store owner should consider. Here’s why: 1. Encouraging User Registration You may have heard the phrase data is the new oil. Given that we are living in the digital age, data is indeed the new oil. A guest user does not offer much data to store owners which they can use to create personalised marketing strategies. When the same user creates an account, they share information such as their email, phone number, and more. From a store owner’s perspective, this information is a gold mine. They can use it to send personalised messages, recommend products that align with the user’s interests, and more. If users don’t have any incentive to register with your store, 9 times out of 10, they will ignore the registration process. However, by hiding the prices, you are giving them a good reason to create an account. 2. Segmentation Suppose your store gets 1000 users daily. 900 are guest users, meaning they are not logged in. How would you know how to retarget these visitors or what products to recommend them? When users are logged in, you can easily gather information related to their preferences, purchasing behaviour, and demographics. By segmenting users based on different parameters, you can create more effective marketing strategies and recommend the most relevant products. This can boost your sales and customer engagement. 3. Control over Pricing Visibility In some cases, you need to implement the Magento 2 hide price for guest feature simply because of your pricing strategy. You may opt for tier pricing or sell on different rates to each customer. Therefore, there’s no point in displaying any price. Instead, you need to add a ‘Ask for Quote’ button. Check Out Our Extensions Related to Tier Pricing: Customer Group Pricing Dimension Tier Pricing 4. Preventing Price Comparison It wouldn’t be wrong to say that everyone is trying their hands at eCommerce nowadays. From the customer’s perspective, more stores mean more choice. From the store owners’ perspective, it means high competition. While competition is always healthy, too much of it can overwhelm businesses. Customers tend to browse 10, 15 sites before committing to a purchase. If you wish to avoid becoming just another website that users flip through when considering a product, hide the prices. This will capture their curiosity and compel to sign up. This is where you can convert them to a customer. As soon as they sign up, start sending them personalised messages. With the use of engaging messages and promotions, you can compel users to stick with your website. 5. Differentiate Yourself One of the ways to attain success in eCommerce is through differentiation. Everyone is displaying the prices. By hiding the prices, you can create a point of differentiation. Create curiosity in your audience’s minds and compel them to sign up. How to ‘Magento 2 Hide Price if not Logged In’ There are different ways to hide the price in Magento 2 for guest users. Let’s discuss them in detail. Method 1 - Magento 2 Hide Price for Guest Extension One of the easiest methods to hide the prices for not logged in users is to use an extension. We already have one for this very purpose. Of course, this extension offers a lot more than just hiding prices for not logged in users. Through this extension, you can hide prices for specific products and customer groups. You can also hide prices for specific product categories. That’s not all. You can hide prices for specific time periods. This can be a great help during holiday seasons when eCommerce sales really take off. If you are interested in knowing more about this extension, book a live demo . Method 2 – Custom Code Following is the code you need to add to hide price for not logged in users in Magento 2. Step 1. Create di.xml in Vendor\Extension\etc folder. <?xml version="1.0"?> <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../lib/internal/Magento/Framework/ObjectManager/etc/config.xsd">  <preference for="Magento\Catalog\Pricing\Render\FinalPriceBox" type="Vendor\Extension\Pricing\Render\FinalPriceBox" /> <preference for="Magento\ConfigurableProduct\Pricing\Render\FinalPriceBox" type="Vendor\Extension\Pricing\Render\FinalPriceBox" /> </config> Step 2. Create FinalPriceBox.php at Vendor\Extension\Pricing\Render folder. namespace Vendor\Extension\Pricing\Render; use Magento\Catalog\Pricing\Price; use Magento\Framework\Pricing\Render; use Magento\Framework\Pricing\Render\PriceBox as BasePriceBox; use Magento\Msrp\Pricing\Price\MsrpPrice; class FinalPriceBox extends \Magento\Catalog\Pricing\Render\FinalPriceBox { public function __construct( \Magento\Framework\View\Element\Template\Context $context, \Magento\Framework\Pricing\SaleableInterface $saleableItem, \Magento\Framework\Pricing\Price\PriceInterface $price, \Magento\Framework\Pricing\Render\RendererPool $rendererPool, array $data = [], \Magento\Catalog\Model\Product\Pricing\Renderer\SalableResolverInterface $salableResolver = null, \Magento\Catalog\Pricing\Price\MinimalPriceCalculatorInterface $minimalPriceCalculator = null ) { parent::__construct($context, $saleableItem, $price, $rendererPool, $data, $salableResolver, $minimalPriceCalculator); } protected function wrapResult($html) { $objectManager = \Magento\Framework\App\ObjectManager::getInstance(); $httpContext = $objectManager->get('Magento\Framework\App\Http\Context'); $isLoggedIn = $httpContext->getValue(\Magento\Customer\Model\Context::CONTEXT_AUTH); if($isLoggedIn) { return '<div class="price-box ' . $this->getData('css_classes') . '" ' .'data-role="priceBox" ' . 'data-product-id="' . $this->getSaleableItem()->getId() . '"' . '>' . $html . '</div>'; } else { $wording = 'Login To See Price'; return '<div class="" ' .'data-role="priceBox" ' .'data-product-id="' . $this->getSaleableItem()->getId() . '"' . '>'.$wording.'</div>'; } } } The above code will hide price for non-logged in customers in Magento 2. If you want to implement advanced features such as hiding add to cart button, Magento 2 hide price for guest is the extension you will want to use. Conclusion This concludes our article on how to add the price for not logged in customers in Magento 2. When used correctly, this feature can be a great way to boost your sales and customer engagement. Please feel free to contact us if you have any questions. Related Articles: How to Hide Add to Cart Button in Magento 2 How to Enable Single Store Mode in Magento 2 How to Setup 1and1 Webmail SMTP in Magento 2

April 22, 2024Magento 2: How to Check if a Customer is Logged in?

The first question on your mind would be why I would want to check if customer is logged in Magento 2. Well, competition in eCommerce is at an all time high. In the coming years, this competition will only increase further. What does it mean? As a store owner, you need to find a way to retain and attract customers. This is only possible through the right strategies. After all, product quality is no longer the differentiating factor. Almost every online store offers more or less the same quality products. Our experience as a Magento extension development company tells us that customer personalisation is the key to long-term success. When we say personalisation, the first thing that comes into mind is artificial intelligence. No doubt AI can boost your eCommerce sales . Check out the below infographic on how AI boosts eCommerce. Instead of focusing your resources on AI, we have a much simpler solution. All you need to do is start treating your customers differently. For starters, treat logged in and non-logged in customers differently. For example, you may want to offer exclusive features or discounts to logged in customers only. To implement this, you first need to confirm whether a Magento 2 customer is logged in or not? Before we talk about ‘Magento 2 check if customer is logged in’, let’s talk about the Magento 2 login as customer extension. Afterwards, we’ll discuss how to check if customer is logged in Magento 2. About this Extension Why are we mentioning this extension? Too often, we hear store owners complain about poor reviews, lack of sales, and low engagement. They argue that their store has the best features, top quality products, and robust marketing strategies. Despite it, the store’s performance is lower than expectations and peers. Unfortunately, they fail to understand the most important aspect of any business – the customer. Unless a business understands the customer, they cannot succeed. Therefore, the emphasis must be on understanding the customer’s pain points, buying journey, and other aspects. With this extension, you can login to your store as a customer and experience their journey firsthand. There is no need to obtain customer credentials. This allows you to make changes to their account or help them with any issue. For example, a user may be experiencing a problem but unable to report. Your Magento experts can log in to their account, identify the problem, and fix it promptly. All this without the customer having to worry about sharing their credentials. Book a Live Demo here . Other Useful Extensions for Personalisation: Hide Price & Add to Cart Button Restrict Products by Customer Group Methods To Check If a Customer Is Logged-In in Magento 2 There are 2 ways you can check this. By injecting class and by using object manager. Although the 2nd method (object manager) is not recommended, it’s still used as an alternative. Method 1: By Injecting Class (Dependency Injection) In this method, first, you need to inject the following class in the constructor method: /Magento/Customer/Model/Session protected $_session; public function __construct( ... \Magento\Customer\Model\Session $session, ... ) { ... $this->_session = $session; ... } Then in your class, use the following code in any function to check if the customer is logged in or not: if ($this->_session->isLoggedIn()) { // Customer is logged in } else { // Customer is not logged in } Sample Code: <?php namespace [Vendor]\[Module]\Controller\Index; use Magento\Framework\App\Action\Context; use Magento\Framework\App\Action\Action; use Magento\Customer\Model\Session; class ClassName extends Action { protected $_session; public function __construct(Context $context, Session $session) { parent::__construct($context); $this->_session = $session; } public function execute() { // by using Session model if($this->_session->isLoggedIn()) { //customer has logged in // your code in here }else{ //Customer is not logged in // your code in here } } } Method 2: Using Object Manager You can use this method as an alternative to the above. $objectManager = \Magento\Framework\App\ObjectManager::getInstance(); $customerSession = $objectManager->get('Magento\Customer\Model\Session'); if($customerSession->isLoggedIn()) { // customer login action } Conclusion You can always contact our expert Magento developers if you encounter any issues with the above code. Feel free to contact us in case you have any issue in your Magento 2 store. Other Articles: How To Login as Customer in Magento 2? How To Redirect Customers to the Previous Page After Login in Magento 2? [Fixed]: Magento 503 Service Temporarily Unavailable? [Fixed]: There Has Been An Error Processing Your Request in Magento 2?