Skip to main content

Posts

Understanding Magento Block and Block Type

For understanding more about magento block types following are some built-in block types which are widely used in layout. core/template : This block renders a template defined by its  template  attribute. The majority of blocks defined in the layout are of type or subtype of  core/template . page/html : This is a subtype of  core/template  and defines the root block. All other blocks are child blocks of this block. page/html_head : Defines the HTML head section of the page which contains elements for including JavaScript, CSS etc. page/html_header : Defines the header part of the page which contains the site logo, top links, etc. page/template_links : This block is used to create a list of links. Links visible in the footer and header area use this block type. core/text_list : Some blocks like  content ,  left ,  right  etc. are of type  core/text_list . When these blocks are rendered, all their child blocks are rendered automa...

Magento Install 2.1.0 errors - Your PHP version is . The required PHP version is .

PHP Version Check Your PHP version is . The required PHP version is .  Download and install PHP from  www.php.net  using this  PHP Documentation . For additional assistance, contact your hosting provider. PHP Settings Check * Your PHP settings are correct. Cannot determine required PHP extensions: Warning: is_dir(): open_basedir restriction in effect. File(/etc/pki/tls/certs) is not within the allowed path(s): /tmp:/var/tmp:/usr/local/lib/php/ :/usr/local/php56/lib/php/) in /public_html/ve ndor/composer/composer/src/Composer/Util/RemoteFil esystem.php on line 914 It was SSL reason. In Magento 2.1.0 in default uses ssl. I'm not using ssl and the error arises. I just edit the config section of composer.json file in the root of magento and added the following line and every thing is OK. "disable-tls" : true

Magento2 get product data by loading product id in root directory

 Create  test.php  in magento root directory <?php echo '<pre>'; require __DIR__ . '/app/bootstrap.php'; $bootstrap = \Magento\Framework\App\Bootstrap::create(BP, $_SERVER); /** @var \Magento\Framework\App\Http $app */ $obj = $bootstrap->getObjectManager(); $state = $obj->get('Magento\Framework\App\State'); $state->setAreaCode('frontend'); /** @var \Magento\Framework\App\Http $app */ $app = $bootstrap->createApplication('TestApp'); $bootstrap->run($app); And next create TestApp.php <?php class TestApp extends \Magento\Framework\App\Http implements \Magento\Framework\AppInterface {  public function launch() {        echo '<pre>';         $objectManager = \Magento\Framework\App\ObjectManager::getInstance();         $product = $objectManager->get('Magento\Catalog\Model\Product')->load(2047);         var_dump($pr...

5 worst Magento practices

I hope this article will help many to save their eCommerce problem and to optimize their code. Magento is a wonderful platform to kick start your e-commerce endeavors. But the worst part is its development flow. I will introduce you the 5 worst Magento development practices followed by detailed example. 1.  Collections – query results limitation To improve code performance and scalability remember to apply limitation on the collection’s query results — it’s much better to do  $collection->getSize()  instead of  $collection->count()  or  count($collection)  because that ways, all of the items will be loaded from the database and than iterated. 2.  SQL queries inside a loop Bad practice is to load Magento models inside a loop. Running SQL query is very expensive operation and doing it in a loop tends to make it even worse. Instead of doing that we could use data collections to load models and then process it.  To be careful when ...

Display all categories and sub categories on left sidebar in Magento

You can display list of all categories and subcategories in left sidebar including product view page using the following code in Magento. You can display subcategories upto second level using this code. You can create a new file for this code and you can add it in your theme’s catalog XML file like this: <block type="catalog/navigation" name="catalog.leftnav" template="catalog/navigation/my_left_nav.phtml" /> It should be placed inside the reference name “ left “, to show it in the left sidebar. I hope you know all these stuffs. Let’s get to the point. Just copy and paste the code in the  my_left_nav.phtml,  which should be in your theme’s  catalog/navigation folder.   <!-- List all categories and their second level subcategories --> <div class="block block-list block-categories"> <div id="block-categories" class="block-title active"> <strong><span>Categories </span...