magento 2

magento 2 display sub category with image at category


 * Copyright © Magento, Inc. All rights reserved.
 * See COPYING.txt for license details.
 * Category view template
 * @var $block \Magento\Catalog\Block\Category\View
<?php $category = $block->getCurrentCategory(); ?>
<?php $subcategories = $category->getChildrenCategories(); ?>
<?php $_helper = $this->helper('Magento\Catalog\Helper\Output'); ?>
<?php $objectManager = \Magento\Framework\App\ObjectManager::getInstance(); ?>
<?php if(count($subcategories) > 0): ?>
    <div class="products wrapper grid products-grid">
        <ol class="products list items product-items">
            <?php foreach($category->getChildrenCategories() as $subcategory): ?>
                <?php $subcategory = $objectManager->create('Magento\Catalog\Model\Category')->load($subcategory->getId()); ?>
                <li class="item product product-item">
                    <div class="product-item-info">
                        <?php if ($_imgUrl = $subcategory->getImageUrl()): ?>
                            <a href="<?= $subcategory->getUrl() ?>" class="product photo product-item-photo">
                                <span class="product-image-container">
                                    <?php $_imgHtml = '<img src="' . $_imgUrl . '" />'; ?>
                                    <?php echo $_imgHtml = $_helper->categoryAttribute($subcategory, $_imgHtml, 'image'); ?>
                        <?php endif; ?>
                        <div class="product details product-item-details">
                            <strong class="product name product-item-name">
                                <a class="product-item-link" href="<?= $subcategory->getUrl() ?>"><?= $subcategory->getName() ?></a>
            <?php endforeach; ?>
<?php else: ?>
    <?php if (!$block->isContentMode() || $block->isMixedMode()): ?>
        <?= $block->getProductListHtml() ?>
    <?php endif; ?>
<?php endif; ?>
ecommerce magento Nginx

magento 2 permission 2018

sudo chown -R rawi:www-data Magento-CE-2
find /var/www/html/magento/Magento-CE-2 -type f -print0 | xargs -r0 chmod 640
find /var/www/html/magento/Magento-CE-2 -type d -print0 | xargs -r0 chmod 750
chmod -R g+w /var/www/html/magento/Magento-CE-2/app/etc
chmod -R g+w /var/www/html/magento/Magento-CE-2/var
chmod -R g+w /var/www/html/magento/Magento-CE-2/generated
chmod -R g+w /var/www/html/magento/Magento-CE-2/vendor
chmod -R g+w /var/www/html/magento/Magento-CE-2/pub
ecommerce magento magento 2

Importing product with images in Magento 2

Add new Product if no existing product is there in existing Magento store.

Go to System > Data Transfer > Export

Select entity type as product and click on on continue button that is in the bottom of the page. Once you click on continue button you can download the csv file of exported products . Use the exported sheet for reference to fill the values and then fill yours values accordingly , fill image name with file extension as .jpg or .png etc as mentioned in this screenshot:

then go to var folder create one folder having name ( import ) and place the image having same name as mentioned in the import csv file and then

Go to System > Data Transfer > Import

and select entity type as an product select import behavior as per yours need and then browse for file from Select File to Import browse option after this enter the path of import folder in our case it is var/import in the Images File Directory text box as mentioned in the following screenshot :

Then click on check data button on top right corner. If you did everything correct you will get this screen

enter image description here

Click import button and then do reindexing using CMD:

php bin/magento indexer:reindex

and then flush the cache:

php bin/magento cache:flush

and then check yours frontend it will show imported products with images.

magento 2

Add custom block on listing page : Magento2

I want to add my custom block on listing page[Magento-2] but without any modification on list.phtml or any .phtml file. Is there any possibility by using xml file ?


You can do that if you create new module to override this block: vendor\magento\module-catalog\Block\Product\ListProduct.php

to override this block, you need to create di.xml at app\code\Vendor\Module_Name\etc

di.xml content:

<?xml version="1.0"?>
<config xmlns:xsi="" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
    <preference for="Magento\Catalog\Block\Product\ListProduct" type="Vendor\Module_Name\Block\Product\ListProduct" />

Create new file name ListProduct.php at app\code\Vendor\Module_Name\Block\Product

ListProduct.php content:

namespace Vendor\Module_Name\Block\Product;
class ListProduct extends \Magento\Catalog\Block\Product\ListProduct
    public function getProductDetailsHtml(\Magento\Catalog\Model\Product $product)
        $html = $this->getLayout()->createBlock('Magento\Framework\View\Element\Template')->setProduct($product)->setTemplate('Vendor_ModuleName::test.phtml')->toHtml();
        $renderer = $this->getDetailsRenderer($product->getTypeId());
        if ($renderer) {
            return $html.$renderer->toHtml();
        return '';

You can change block Magento\Framework\View\Element\Template to your block

create test.phtml file at app\code\Vendor\Module_Name\view\frontend\templates


blog ecommerce magento magento 2

Moving Product Tabs – Magento 2


<move element="" destination="" after="product_options_wrapper_bottom"/>
blog magento magento 2 SSH

php -f bin/magento setup:upgrade

php -f bin/magento setup:upgrade
ecommerce magento magento 2 mysql

magento 2 installation on digitalocean #bookmark

last part.

go to bin

php magento sampledata:deploy
php magento setup:di:compile
php magento setup:upgrade 

ecommerce magento magento 2 mysql

magento 2 installation digitalocean lamp bookmark

magento 2 installation digitalocean lamp #bookmark

apt-get update
apt-get install git wget
wget -O /usr/local/bin/composer
chmod +x /usr/local/bin/composer
cd /var/www/html

download and upload magento file

upload and unzip 
tar xjf file.tar.bz2
cd /var/www/html/theory
composer install
chown -R root:www-data /var/www/html/theory
find /var/www/html/theory -type f -print0 | xargs -r0 chmod 640
find /var/www/html/theory -type d -print0 | xargs -r0 chmod 750
chmod -R g+w /var/www/html/theory/{pub,var}
chmod -R g+w /var/www/html/theory/{app/etc,vendor}


mysql -u root -p
CREATE DATABASE database name;
 DROP DATABASE database name;
GRANT ALL PRIVILEGES ON databasename.* TO 'databaseuser'@'localhost' IDENTIFIED BY 'passwordfordatabase';