We sacrifice by not doing any other technology, so that you get the best of Magento.

We sacrifice by not doing any other technology, so that you get the best of Magento.

    Why should you migrate your Shopify store to Magento?

    In the eCommerce business digital store’s performance, functionalities & features depend on the eCommerce platform. Platforms like Shopify have certain limitations which may impact values such as security and sales. That’s the case where Magento WINS.

    Below are some of the reasons why you should consider migrating your Shopify store to Magento.

    1. NO OWNERSHIP OF CODE:
    Even if it’s your store, Shopify won’t give you the code of your store. In Magento, you can own every single piece of code.

    2. MONTHLY FEES & FEES ON EVERY TRANSACTION:
    Shopify charges a certain amount on every transaction. That’s not the case with Magento. You will get 100% value of the order in your pocket. Plus, you don’t need to pay monthly fees anymore if you opt with Magento.

    3. SECURITY:
    Adobe acquired Magento launches security patches on a regular interval which helps your store to run securely.

    4. FUNCTIONALITY:
    Magento offers more functionalitIes compared to Shopify. For example, Magento offers possibilities to set up multiple languages & currencies, with various prices for different customer groups. Apart from that, Magento store owners can launch multiple stores & manage them from the central admin area.

    5. THIRD-PARTY EXTENSIONS:
    The extension helps your store to perform better and more. Magento has numerous third-party extensions. Most are free which is not the case with Shopify.
    Apart from the above five, there are many ebusiness benefits availed by Magento store owners & missed by Shopify store owners.

    It’s the right time to achieve better performance, functionalities, sales, and features with Magento. Migrate store to Magento today.

    Magento 2 remove hidden from the product image which having a base role in the product image

    Find the base image attribute id from eav_attribute.

    attr_id = SELECT `attribute_id` FROM `eav_attribute` WHERE `attribute_code` = "image" AND `frontend_label` = "Base" LIMIT 1;

    Find all images which having a Base image role.

    value = SELECT `value` FROM `catalog_product_entity_varchar` WHERE `attribute_id` = (attr_id);

    Find all ids from the media gallery.

    gallery = SELECT `value_id` FROM `catalog_product_entity_media_gallery` WHERE `value` IN (value);

    Update the media gallery value to 0.

    UPDATE `catalog_product_entity_media_gallery_value` SET `disabled` = 0 WHERE `value_id` IN (gallery);

    Final query:

    UPDATE `catalog_product_entity_media_gallery_value` SET `disabled` = 0 WHERE `value_id` IN ( 
        SELECT `value_id` FROM `catalog_product_entity_media_gallery` WHERE `value` IN ( 
            SELECT `value` FROM `catalog_product_entity_varchar` WHERE `attribute_id` = ( 
                SELECT `attribute_id` FROM `eav_attribute` WHERE `attribute_code` = "image" AND `frontend_label` = "Base" LIMIT 1 ) ) );

     

    Magneto 2 – export product data using custom code

    Create one php file inside your Magento root directory with below code.

    <?php
    
    use MagentoFrameworkAppBootstrap;
    
    require 'app/bootstrap.php';
    $bootstrap = Bootstrap::create(BP, $_SERVER);
    $objectManager = $bootstrap->getObjectManager();
    $instance = MagentoFrameworkAppObjectManager::getInstance();
    $state = $objectManager->get('MagentoFrameworkAppState');
    $state->setAreaCode('frontend');
    
    $productCollectionFactory = $objectManager->get('MagentoCatalogModelResourceModelProductCollectionFactory');
    $collection = $productCollectionFactory->create();
    $collection->addAttributeToSelect('*');
     
    // filter current website products
    $collection->addWebsiteFilter();
     
    // filter current store products
    $collection->addStoreFilter();
     
    // set visibility filter
    $collection->setVisibility($objectManager->get('MagentoCatalogModelProductVisibility')->getVisibleInSiteIds());
    $header = array("ID", "Product Name", "Sku","Image", "Main Image");	
    $fp = fopen('evhr-products.csv', 'w+');
    fputcsv($fp, $header);
    $productdata = array();
    $collection->setPageSize(5000); 
        foreach ($collection as $product) { 
        $productsku = $product->getSku();
        $productname = $product->getName();
        $product_id = $product->getId();
    	$productimages = array();
    	$product = $objectManager ->create('MagentoCatalogModelProduct')->load($product_id);
    	$productimages = $product->getMediaGalleryImages();
    	$allimgarray = array();
    	$productImage = $product->getData('image');
    	$productBase = 1;
    	foreach($productimages as $productimage)
    	{
    		if($productimage['file'] == $productImage){
    			$data = array('id' => $product_id, 'productname' => $productname, 'productsku' => $productsku, 'productImage' => $productimage['file'], 'mainimage' => 1 );
    		}else{
    			$data = array('id' => $product_id, 'productname' => $productname, 'productsku' => $productsku, 'productImage' => $productimage['file'], 'mainimage' => 0 );
    
    		}
    		fputcsv($fp, $data);
    	}
    }

     

    How to get system configuration value in Magento 2?

    Here we are going to write about how to get system configuration value in your custom file or anywhere else.

    Inside the header data file we have add this code

    create Data.php file in Magemonkeys/General/Helper/

    public function __construct(
       MagentoFrameworkAppConfigScopeConfigInterface $scopeConfig
    )
    {
       $this->_scopeConfig = $scopeConfig;
    }
    
    public function getConfig($config_path)
    {
        return $this->_scopeConfig->getValue(
                $config_path,
                MagentoStoreModelScopeInterface::SCOPE_STORE
                );
    }

    In phtml file – add below for call helper function

    $systemconfval = $this->helper('MagemonkeysGeneralHelperData')->getConfig('sectionid/groupid/fieldid');
    echo $systemconfval;

    Well, after performing above changes, value will be shown. Hope that helps!

    When you should redesign your eCommerce store?

    From a business point of view, redesigning your digital store is often ignored.
    There are numerous reasons to redesign your Magento store, some more compelling than others.

    In this article, we are going to talk about signals which tell you that your store needs a redesigning.

    1. When your sales are down:

    Sales don’t rely solely on marketing. Your store’s design also plays an important role in sales. If your sales is down, you should consider doing some UI/UX changes from experts.

    2. When your site is slow:

    If your site’s code/image/media/theme is heavy in size then it will result in a slow site. Optimize your site or choose a new light-weighted theme to overcome this problem.
    The solution to this problem will also help you to reduce the bounce rate.

    3. When your store’s design is outdated:

    If your eCommerce store’s design is 2-3 years old, then you’re missing the latest trends from the web/mobile designing industry. Keeping your site updated with the latest trends will always help your ebusiness to grow.

    4. When you’re losing mobile visitors or bounce rate is higher from mobile users:

    Mobile users play an important role as desktop users. This fact is avoided by many businesses. Always check data from your analytics tools and if you don’t find mobile user’s stats impressive then consider hiring a responsive designer who can help your site to perform better with responsiveness. Even Google prioritize mobile-friendly sites.

    5. When your competitors have better designs:

    According to one research, a user will compare multiple sites before buying a product & ends the purchase journey from buying the best. If your competitors have better store design & theme, then it will give a good feel to the shopper and that plays an important role to complete a buyer’s journey. Thus, get an edge over your competitors and make your store designing better than the best.

    Redesigning an eCommerce store will not only give a flawless & faster user experience to your web visitors but also helps you achieve sales growth. Consult with our designing expert to achieve your desired sales growth today.

    Magento 2: change translation for specific module

    Magento 2 provides translate the same element in different ways for different modules.

    Here, I have to change the “Next” slug translation for the checkout module by using the theme translate file.

    "Next","Continue to Payment", module, Magento_Checkout
    "Next","Next"

    Note: I have used this with Magento 2.3.6 version

    How to per page filters in catalog product grid in admin panel of Magento 2?

    Follow the below mentioned steps:

    Step 1 : Go to database of your site using phpmyadmin

    Step 2 : Filter related settings stored in ‘ui_bookmark‘ table. Find the table and open it.

    Step 3 : Find the row with your user_id, namespace with ‘product_listing‘ and identifier with ‘current’.

    Step 4 : Edit this row and change in ‘config’ column’s data.

    Change “current”:750, with “current”:1,

    {"current":{"paging":{"pageSize":20,"current":750,"options":{"20":{"value":20,"label":20},"30":{"value":30,"label":30},"50":{"value":50,"label":50},"100":{"value":100,"label":100},"200":{"value":200,"label":200}},"value":20},"columns":{"entity_id":{"visible":true,"sorting":"desc"},"name":{"visible":true,"sorting":false},"sku":{"visible":true,"sorting":false},"price":{"visible":true,"sorting":false},"websites":{"visible":true,"sorting":false},"qty":{"visible":true,"sorting":false},"short_description":{"visible":false,"sorting":false},"special_price":{"visible":false,"sorting":false},"cost":{"visible":false,"sorting":false},"weight":{"visible":false,"sorting":false},"meta_title":{"visible":false,"sorting":false},"meta_keyword":{"visible":false,"sorting":false},"meta_description":{"visible":false,"sorting":false},"msrp":{"visible":false,"sorting":false},"url_key":{"visible":false,"sorting":false},"actions":{"visible":true,"sorting":false},"ids":{"visible":true,"sorting":false},"salable_quantity":{"visible":true,"sorting":false},"special_from_date":{"visible":false,"sorting":false},"special_to_date":{"visible":false,"sorting":false},"news_from_date":{"visible":false,"sorting":false},"news_to_date":{"visible":false,"sorting":false},"custom_design_from":{"visible":false,"sorting":false},"custom_design_to":{"visible":false,"sorting":false},"type_id":{"visible":true,"sorting":false},"attribute_set_id":{"visible":true,"sorting":false},"visibility":{"visible":true,"sorting":false},"status":{"visible":true,"sorting":false},"manufacturer":{"visible":false,"sorting":false},"color":{"visible":false,"sorting":false},"custom_design":{"visible":false,"sorting":false},"page_layout":{"visible":false,"sorting":false},"country_of_manufacture":{"visible":false,"sorting":false},"custom_layout":{"visible":false,"sorting":false},"tax_class_id":{"visible":false,"sorting":false},"gift_message_available":{"visible":false,"sorting":false},"thumbnail":{"visible":true,"sorting":false},"led":{"visible":true,"sorting":false},"bol_status":{"visible":true,"sorting":false}},"filters":{"applied":{"placeholder":true}},"search":{"value":""},"displayMode":"grid","positions":{"ids":0,"entity_id":1,"thumbnail":2,"name":3,"type_id":4,"attribute_set_id":5,"sku":6,"price":7,"qty":8,"salable_quantity":9,"visibility":10,"status":11,"websites":12,"short_description":13,"special_price":14,"special_from_date":15,"special_to_date":16,"cost":17,"weight":18,"manufacturer":19,"meta_title":20,"meta_keyword":21,"meta_description":22,"color":23,"news_from_date":24,"news_to_date":25,"custom_design":26,"custom_design_from":27,"custom_design_to":28,"page_layout":29,"country_of_manufacture":30,"custom_layout":31,"msrp":32,"url_key":33,"tax_class_id":34,"gift_message_available":35,"actions":36,"led":37,"bol_status":38}}}

    After that clear your Magento cache using below mentioned command

    - php bin/magento cache:clean

    That’s it.

    Now, you can check your catalog product grid page of admin panel. Your catalog product grid page error should be resolved.

    Magento 2 Site breaking due to Braintree Configuration

    This article is a solution If you face an uncaught TypeError which details

    explode() expects parameter 2 to be string, null given in /vendor/gene/module-braintree/Model/Lpm/Config.php:127

    All you need to do is check the following code & replace the method getAllowedMethods in /vendor/gene/module-braintree/Model/Lpm/Config.php.

    public function getAllowedMethods(): array
    {
        $this->allowedMethods = [];
        $allowedMethods = [];
        if ($this->getValue(self::KEY_ALLOWED_METHODS,$this->storeConfigResolver->getStoreId()))
        {
    	$allowedMethods = explode(',',$this->getValue(self::KEY_ALLOWED_METHODS,$this->storeConfigResolver->getStoreId()));
        }
        foreach ($allowedMethods as $allowedMethod) {
            $this->allowedMethods[] = [
                'method' => $allowedMethod,
                'label' => constant('self::LABEL_'.strtoupper($allowedMethod)),
                'countries' => constant('self::COUNTRIES_'.strtoupper($allowedMethod))
            ];
        }
        return $this->allowedMethods;
    }

     

    Why Magento store owners noticing improvement in sales after migrating to Magento 2.X?

    Adobe acquired Magento has already released Magento 2 with lots of new features & securities. It’s no longer secret that Magento store owners who upgraded their store in Magento 2.X noted significant improvement in sales.

    Let’s discuss the top THREE reasons behind it.

    Performance Improvements:
    In the latest version of Magento 2.X, multiple performance-enhancing updates were included, including full-page caching (FPC) which improves page-loading speeds. When a page is fetched from the cache instead of being generated from a PHP server, it noticeably speeds up the site.

    Instant Purchase:

    Boost conversion rates for returning shoppers with a new Instant Purchase checkout option. Customers can use previously stored payment credentials and shipping information to skip checkout steps, making the process faster and easier, especially for mobile shoppers.

    Enhanced Checkout Support:

    Magento 2 has an advanced checkout process that allows customers to minimize the amount of information they have to provide for completing checkout. It results in increased conversion and optimal user experience.

    In case, if you’re still using Magento 1, you’re stopping your sales graph to go high. Let it grow positively, Migrate to Magento 2 today.

    FIVE Tips to Boost Magento Store’s Security

    Magento is a very safe & stable eCommerce platform adopted by 250,000+ businesses globally. But, it’s very much possible that a Magento store can get hacked or compromised if the server/site/system left unaudited.

    Only in the previous month, we received tons of calls from different Magento store owner whose store were hacked. In today’s article, we’re writing Major tips that can help your store to achieve a shield against any future hack.

    1. Upgrade Magento store to the latest version:
    In many types of research, it’s very much clear that non-upgraded stores (Magento 1.X) have the HIGHEST chances of getting hacked.  Thus, upgrade your store with the latest version of Magento as in the latest version Magento has introduced tons of security patches.

    2. IP restriction:
    Make sure your Magento’s admin panel should be opened with limited numbers of IP(s) of yours & your staff. This won’t allow hackers or bots to access your system.

    3. Install a malware & vulnerability monitor:
    Have a malware & vulnerability monitor installed in your Magento store so that you will be alerted asap when something will go wrong?

    4. Basic admin-level changes:
    Make admin-level changes such as,
    – Using unique admin panel route
    – Enable ReCaptcha to bypass bots.
    – Disable Admin Account Sharing
    – Enable the Add Secret Key to URLs

    5. Regular audit & testing:
    Audit & test your Magento store at regular intervals which will help you to understand if there is any security bug with the order flow or not.

    CONCLUSION

    We suggest you hire Magento developer to process the above tasks. Because a certified developer has an eye to identifying the weak coding parts or security bugs. And he/she can make your site functional as per Magento’s coding standards.