<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-2480951532154788962</id><updated>2026-01-12T14:04:27.584+00:00</updated><category term="magento2"/><category term="magento"/><category term="Reena Parekh"/><category term="ElasticSearch"/><category term="Facebook"/><category term="SEO"/><category term="API"/><category term="Facebook Friends"/><category term="Facebook Newsfeed"/><category term="PWA"/><category term="REST API"/><category term="Search Engine Optimization"/><category term="Xdebug"/><category term="button"/><category term="indexer"/><category term="mac"/><category term="php73"/><category term="phpstorm"/><category term="Boards"/><category term="EVM"/><category term="ElasticSearch Version Manager"/><category term="Facebook Lists. Friend Lists"/><category term="Facebook Profile Picture"/><category term="Facebook Updates"/><category term="Google Plus"/><category term="Google+"/><category term="Kubernetes"/><category term="Like"/><category term="Newswire"/><category term="Pins"/><category term="Pinterest"/><category term="Pinterest Guide"/><category term="Pinterest for Starters"/><category term="Press Release"/><category term="REST"/><category term="Reena"/><category term="Repin"/><category term="Share"/><category term="Smart Lists"/><category term="Structured schema markup"/><category term="Timeline"/><category term="VSF"/><category term="account blocking"/><category term="addtocart"/><category term="admin panel"/><category term="apache"/><category term="blocking"/><category term="catalina"/><category term="collect-phrases"/><category term="composer"/><category term="configuration"/><category term="csv"/><category term="delete test data"/><category term="discount"/><category term="elasticsearch7"/><category term="go live"/><category term="homebrew"/><category term="instagram"/><category term="integration"/><category term="mac os"/><category term="macbook"/><category term="mongodb"/><category term="nosql"/><category term="params"/><category term="patches"/><category term="php7"/><category term="product"/><category term="reenaparekh"/><category term="sample data"/><category term="shopify"/><category term="shopify cli"/><category term="shopify development environment"/><category term="shopify install"/><category term="social media"/><category term="social media management"/><category term="startup"/><category term="temando shipping"/><category term="test data"/><category term="theme"/><category term="translations"/><category term="ubuntu"/><category term="vue storefront"/><category term="vuejs"/><title type='text'>REENA PAREKH</title><subtitle type='html'>SHARING MY EXPERIENCE ON E-COMMERCE DEVELOPMENT, SEARCH ENGINE OPTIMIZATION AND SOCIAL MEDIA</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://parekhreena.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2480951532154788962/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://parekhreena.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/2480951532154788962/posts/default?start-index=26&amp;max-results=25&amp;redirect=false'/><author><name>Reena Parekh</name><uri>http://www.blogger.com/profile/14928413621811283316</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKPbAUYyNsPQanjD6wZilQN9G5kdONJqVmZ27kMS2w6nGFSN2J3Rkz4dWjPzrj2byzEmNwJIbbhSHKqasPWFUtuQvhRzuxK_XUS2rfz7UlQuBv2oVI6Fls5nNoroW0SU4/s220/dp.png'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>33</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-2480951532154788962.post-4847410748959423496</id><published>2025-05-17T03:30:00.000+01:00</published><updated>2025-05-17T03:36:50.187+01:00</updated><title type='text'>Steps to Setup Auto-Completion for Shopify CLI Commands</title><content type='html'>Following steps will help auto-complete shopify CLI commands when you press the tab button. 
&lt;div class=&quot;separator&quot; style=&quot;clear: both;&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; width=&quot;620&quot; data-original-height=&quot;782&quot; data-original-width=&quot;1848&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEicEqcuF8m9mN4uU_TWonyERL_2_E1opzDbUsdG82tc1OYw1C224lEnY7w-y90XSwxX8eA6MR6CJaGJnrZh3wnDEbszhrFCUKYcnYvn4eVPuweFWHzJRtfF1ygRq60f2OseRMuAXkcTyA1C5c9ZXyvzsk6kkREWutkoFyH0qPiRKoajAll-9jDKBqVoUGs/s320/shopify_20stores_b12b3173-45ab-409a-9d73-d33898cfc696.png&quot;/&gt;&lt;/div&gt;

&lt;code data-gist-id=&quot;ed873b0da316d5170305e4a89c93f9da&quot;&gt;&lt;/code&gt;&lt;br/&gt;</content><link rel='replies' type='application/atom+xml' href='http://parekhreena.blogspot.com/feeds/4847410748959423496/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://parekhreena.blogspot.com/2025/05/steps-to-setup-auto-completion-for.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2480951532154788962/posts/default/4847410748959423496'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2480951532154788962/posts/default/4847410748959423496'/><link rel='alternate' type='text/html' href='http://parekhreena.blogspot.com/2025/05/steps-to-setup-auto-completion-for.html' title='Steps to Setup Auto-Completion for Shopify CLI Commands'/><author><name>Reena Parekh</name><uri>http://www.blogger.com/profile/14928413621811283316</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKPbAUYyNsPQanjD6wZilQN9G5kdONJqVmZ27kMS2w6nGFSN2J3Rkz4dWjPzrj2byzEmNwJIbbhSHKqasPWFUtuQvhRzuxK_XUS2rfz7UlQuBv2oVI6Fls5nNoroW0SU4/s220/dp.png'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEicEqcuF8m9mN4uU_TWonyERL_2_E1opzDbUsdG82tc1OYw1C224lEnY7w-y90XSwxX8eA6MR6CJaGJnrZh3wnDEbszhrFCUKYcnYvn4eVPuweFWHzJRtfF1ygRq60f2OseRMuAXkcTyA1C5c9ZXyvzsk6kkREWutkoFyH0qPiRKoajAll-9jDKBqVoUGs/s72-c/shopify_20stores_b12b3173-45ab-409a-9d73-d33898cfc696.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2480951532154788962.post-4475909467150246767</id><published>2025-05-17T03:15:00.000+01:00</published><updated>2025-05-17T03:39:36.667+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="mac os"/><category scheme="http://www.blogger.com/atom/ns#" term="macbook"/><category scheme="http://www.blogger.com/atom/ns#" term="shopify"/><category scheme="http://www.blogger.com/atom/ns#" term="shopify cli"/><category scheme="http://www.blogger.com/atom/ns#" term="shopify development environment"/><category scheme="http://www.blogger.com/atom/ns#" term="shopify install"/><title type='text'>Steps to Setup Shopify Dev Environment using Homebrew for Mac</title><content type='html'>If you&#39;re a developer setting up a Shopify development environment on a MacBook (for building themes, apps, or custom features), you’ll need to install some tools like the Shopify CLI.
&lt;div class=&quot;separator&quot; style=&quot;clear: both;&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; width=&quot;620&quot; data-original-height=&quot;782&quot; data-original-width=&quot;1848&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEicEqcuF8m9mN4uU_TWonyERL_2_E1opzDbUsdG82tc1OYw1C224lEnY7w-y90XSwxX8eA6MR6CJaGJnrZh3wnDEbszhrFCUKYcnYvn4eVPuweFWHzJRtfF1ygRq60f2OseRMuAXkcTyA1C5c9ZXyvzsk6kkREWutkoFyH0qPiRKoajAll-9jDKBqVoUGs/s320/shopify_20stores_b12b3173-45ab-409a-9d73-d33898cfc696.png&quot;/&gt;&lt;/div&gt;

Follow below steps for installation:
&lt;code data-gist-id=&quot;56d0ed2eb66e94ed5b7662c1cf9b9505&quot;&gt;&lt;/code&gt;&lt;br/&gt;</content><link rel='replies' type='application/atom+xml' href='http://parekhreena.blogspot.com/feeds/4475909467150246767/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://parekhreena.blogspot.com/2025/05/blog-post.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2480951532154788962/posts/default/4475909467150246767'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2480951532154788962/posts/default/4475909467150246767'/><link rel='alternate' type='text/html' href='http://parekhreena.blogspot.com/2025/05/blog-post.html' title='Steps to Setup Shopify Dev Environment using Homebrew for Mac'/><author><name>Reena Parekh</name><uri>http://www.blogger.com/profile/14928413621811283316</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKPbAUYyNsPQanjD6wZilQN9G5kdONJqVmZ27kMS2w6nGFSN2J3Rkz4dWjPzrj2byzEmNwJIbbhSHKqasPWFUtuQvhRzuxK_XUS2rfz7UlQuBv2oVI6Fls5nNoroW0SU4/s220/dp.png'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEicEqcuF8m9mN4uU_TWonyERL_2_E1opzDbUsdG82tc1OYw1C224lEnY7w-y90XSwxX8eA6MR6CJaGJnrZh3wnDEbszhrFCUKYcnYvn4eVPuweFWHzJRtfF1ygRq60f2OseRMuAXkcTyA1C5c9ZXyvzsk6kkREWutkoFyH0qPiRKoajAll-9jDKBqVoUGs/s72-c/shopify_20stores_b12b3173-45ab-409a-9d73-d33898cfc696.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2480951532154788962.post-1110774995192172306</id><published>2024-12-29T02:11:00.000+00:00</published><updated>2024-12-30T03:12:57.654+00:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Newswire"/><category scheme="http://www.blogger.com/atom/ns#" term="Press Release"/><category scheme="http://www.blogger.com/atom/ns#" term="Reena"/><category scheme="http://www.blogger.com/atom/ns#" term="Reena Parekh"/><category scheme="http://www.blogger.com/atom/ns#" term="Search Engine Optimization"/><category scheme="http://www.blogger.com/atom/ns#" term="SEO"/><title type='text'>SEO for your Press Releases [Updated 2025 list]</title><content type='html'>&lt;script&gt;
        // Disable right-click
        document.addEventListener(&#39;contextmenu&#39;, function(e) {
            e.preventDefault();
            alert(&#39;Right-click is disabled!&#39;);
        });

        // Disable text selection
        document.addEventListener(&#39;mousedown&#39;, function(e) {
            e.preventDefault();
        });

        // Disable copy event
        document.addEventListener(&#39;copy&#39;, function(e) {
            e.preventDefault();
            alert(&#39;Copy is disabled!&#39;);
        });
    &lt;/script&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;!--[if gte mso 9]&gt;&lt;xml&gt;
 &lt;w:WordDocument&gt;
  &lt;w:View&gt;Normal&lt;/w:View&gt;
  &lt;w:Zoom&gt;0&lt;/w:Zoom&gt;
  &lt;w:PunctuationKerning/&gt;
  &lt;w:ValidateAgainstSchemas/&gt;
  &lt;w:SaveIfXMLInvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;
  &lt;w:IgnoreMixedContent&gt;false&lt;/w:IgnoreMixedContent&gt;
  &lt;w:AlwaysShowPlaceholderText&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;
  &lt;w:Compatibility&gt;
   &lt;w:BreakWrappedTables/&gt;
   &lt;w:SnapToGridInCell/&gt;
   &lt;w:WrapTextWithPunct/&gt;
   &lt;w:UseAsianBreakRules/&gt;
   &lt;w:DontGrowAutofit/&gt;
   &lt;w:UseFELayout/&gt;
  &lt;/w:Compatibility&gt;
  &lt;w:BrowserLevel&gt;MicrosoftInternetExplorer4&lt;/w:BrowserLevel&gt;
 &lt;/w:WordDocument&gt;
&lt;/xml&gt;&lt;![endif]--&gt;&lt;br /&gt;
&lt;!--[if gte mso 9]&gt;&lt;xml&gt;
 &lt;w:LatentStyles DefLockedState=&quot;false&quot; LatentStyleCount=&quot;156&quot;&gt;
 &lt;/w:LatentStyles&gt;
&lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 10]&gt;
&lt;style&gt;
 /* Style Definitions */
 table.MsoNormalTable
 {mso-style-name:&quot;Table Normal&quot;;
 mso-tstyle-rowband-size:0;
 mso-tstyle-colband-size:0;
 mso-style-noshow:yes;
 mso-style-parent:&quot;&quot;;
 mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
 mso-para-margin:0cm;
 mso-para-margin-bottom:.0001pt;
 mso-pagination:widow-orphan;
 font-size:10.0pt;
 font-family:&quot;Times New Roman&quot;;
 mso-ansi-language:#0400;
 mso-fareast-language:#0400;
 mso-bidi-language:#0400;}
&lt;/style&gt;
&lt;![endif]--&gt;

&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: left;&quot;&gt;
&lt;b style=&quot;mso-bidi-font-weight: normal;&quot;&gt;&lt;span style=&quot;font-family: Calibri;&quot;&gt;This article will help you Search Engine Optimize and Publish your/client&#39;s Press Releases Online:&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: left;&quot;&gt;
&lt;img align=&quot;center&quot; height=&quot;809&quot; id=&quot;irc_mi&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQAELiUcJyP6XYh2WkW-U3TmUOBJCmVFcQfHIgBkuUn5k_Y5hoWDvNS2ysUB6ab57uE-mbjmvyCyI-mMyUC1bzbzsBhrB0yD3FtqIGpdKfJvEdlhyphenhyphenfH-9sEnaefNCq-2ZYRD_aCMEmDvHsVfE3iytix5LfOwJIfgXYTPOamsXAHHUyV3Vo0W0gwpmLUe0/s320/Press_Release_SEO_Banner.jpg&quot; style=&quot;margin-top: 0px;&quot; width=&quot;608&quot; /&gt;&lt;/div&gt;
&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;text-align: center;&quot;&gt;
&lt;b style=&quot;mso-bidi-font-weight: normal;&quot;&gt;&lt;span style=&quot;font-family: Calibri;&quot;&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;ol start=&quot;1&quot; style=&quot;margin-top: 0cm;&quot; type=&quot;1&quot;&gt;
&lt;li class=&quot;MsoNormal&quot; style=&quot;mso-list: l1 level1 lfo1; tab-stops: list 36.0pt;&quot;&gt;&lt;span style=&quot;font-family: Calibri;&quot;&gt;Prepare and proof-read the press release for Online Submissions:
     &lt;/span&gt;&lt;/li&gt;
&lt;ul style=&quot;margin-top: 0cm;&quot; type=&quot;disc&quot;&gt;
&lt;li class=&quot;MsoNormal&quot; style=&quot;mso-list: l1 level2 lfo1; tab-stops: list 72.0pt;&quot;&gt;&lt;span style=&quot;font-family: Calibri;&quot;&gt;Make the press release easy to find online.
      Know the search terms that the online audiences use when they search for you on Google. Incorporate those search terms into the press release, particularly into the first 250 words.
      &lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;MsoNormal&quot; style=&quot;mso-list: l1 level2 lfo1; tab-stops: list 72.0pt;&quot;&gt;&lt;span style=&quot;font-family: Calibri;&quot;&gt;Wherever possible, convert keyword phrases
      into anchor text, which will greatly increase the Search Engine Optimization value of the online press release.
      &lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;MsoNormal&quot; style=&quot;mso-list: l1 level2 lfo1; tab-stops: list 72.0pt;&quot;&gt;&lt;span style=&quot;font-family: Calibri;&quot;&gt;Accompany the press-release with an image/video to increase the readership
      &lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;li class=&quot;MsoNormal&quot; style=&quot;mso-list: l1 level1 lfo1; tab-stops: list 36.0pt;&quot;&gt;&lt;span style=&quot;font-family: Calibri;&quot;&gt;Include complete contact information on the
     bottom of your press release including your name, phone number, e-mail
     address, physical address and website URL.
     &lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;MsoNormal&quot; style=&quot;mso-list: l1 level1 lfo1; tab-stops: list 36.0pt;&quot;&gt;&lt;span style=&quot;font-family: Calibri;&quot;&gt;Utilize low cost or free press release submission
     sites that are also SEO friendly to publish the press release.
     &lt;/span&gt;&lt;/li&gt;
&lt;ul style=&quot;margin-top: 0cm;&quot; type=&quot;disc&quot;&gt;
&lt;li class=&quot;MsoNormal&quot; style=&quot;mso-list: l1 level2 lfo1; tab-stops: list 72.0pt;&quot;&gt;&lt;span style=&quot;font-family: Calibri;&quot;&gt;Submit the press release to key players in your field including noted bloggers and industry leaders.
      &lt;br style=&quot;mso-special-character: line-break;&quot; /&gt;
      &lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;MsoNormal&quot; style=&quot;mso-list: l1 level2 lfo1; tab-stops: list 72.0pt;&quot;&gt;&lt;span style=&quot;font-family: Calibri;&quot;&gt;Use a distribution service – They provide free or paid services and research outlets for your press releases and submit them
      &lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;li class=&quot;MsoNormal&quot; style=&quot;mso-list: l1 level1 lfo1; tab-stops: list 36.0pt;&quot;&gt;&lt;span style=&quot;font-family: Calibri;&quot;&gt;To generate more visibility to online press releases, bookmark them with favorite social bookmarking services or create a &quot;news&quot; or press section on your site. Then publish the title and summary of the press release, and link to the full published release&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;span style=&quot;font-family: Calibri; font-size: 12.0pt; mso-ansi-language: EN-IN; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-language: AR-SA; mso-fareast-font-family: &amp;quot;MS Mincho&amp;quot;; mso-fareast-language: JA;&quot;&gt;&lt;br clear=&quot;all&quot; style=&quot;page-break-before: always;&quot; /&gt;
&lt;/span&gt;
&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;text-align: center;&quot;&gt;
&lt;b style=&quot;mso-bidi-font-weight: normal;&quot;&gt;&lt;span style=&quot;font-family: Calibri; font-size: 16.0pt; mso-bidi-font-size: 12.0pt;&quot;&gt;LIST OF FREE PRESS RELEASE SUBMISSION SITES&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;ol start=&quot;1&quot; style=&quot;margin-top: 0cm;&quot; type=&quot;1&quot;&gt;
  &lt;li class=&quot;MsoNormal&quot; style=&quot;mso-list: l0 level1 lfo2; tab-stops: list 36.0pt;&quot;&gt;&lt;span style=&quot;font-size: 11.0pt;&quot;&gt;
  &lt;a href=&quot;http://news.thomasnet.com/submitpr.html&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;ThomasNet News&lt;/a&gt;
     &lt;/span&gt;&lt;/li&gt;
  
  &lt;li class=&quot;MsoNormal&quot; style=&quot;mso-list: l0 level1 lfo2; tab-stops: list 36.0pt;&quot;&gt;&lt;span style=&quot;font-size: 11.0pt;&quot;&gt;
  &lt;a href=&quot;http://www.nanotech-now.com/submit-press.cgi&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;Nanotech Now&lt;/a&gt;
     &lt;/span&gt;&lt;/li&gt;
  
  &lt;li class=&quot;MsoNormal&quot; style=&quot;mso-list: l0 level1 lfo2; tab-stops: list 36.0pt;&quot;&gt;&lt;span style=&quot;font-size: 11.0pt;&quot;&gt;
  &lt;a href=&quot;http://www.prlog.org/pub/&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;PR Log&lt;/a&gt;
     &lt;/span&gt;&lt;/li&gt;
  &lt;li class=&quot;MsoNormal&quot; style=&quot;mso-list: l0 level1 lfo2; tab-stops: list 36.0pt;&quot;&gt;&lt;span style=&quot;font-size: 11.0pt;&quot;&gt;
  &lt;a href=&quot;http://www.newswiretoday.com/login.php?login=editor&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;News Wire&lt;/a&gt;
     &lt;/span&gt;&lt;/li&gt;
  &lt;li class=&quot;MsoNormal&quot; style=&quot;mso-list: l0 level1 lfo2; tab-stops: list 36.0pt;&quot;&gt;&lt;span style=&quot;font-size: 11.0pt;&quot;&gt;
  &lt;a href=&quot;http://www.pr-inside.com/register.htm&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;PR Inside&lt;/a&gt;
     &lt;/span&gt;&lt;/li&gt;
  &lt;li class=&quot;MsoNormal&quot; style=&quot;mso-list: l0 level1 lfo2; tab-stops: list 36.0pt;&quot;&gt;&lt;span style=&quot;font-size: 11.0pt;&quot;&gt;
  &lt;a href=&quot;http://www.pr.com/promote-your-business&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;PR.com&lt;/a&gt;
     &lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;MsoNormal&quot; style=&quot;mso-list: l0 level1 lfo2; tab-stops: list 36.0pt;&quot;&gt;&lt;span style=&quot;font-size: 11.0pt;&quot;&gt;&lt;a href=&quot;http://www.cgidir.com/submit/submitcontent.html&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;CGI Dir&lt;/a&gt;
     &lt;/span&gt;&lt;/li&gt;
  &lt;li class=&quot;MsoNormal&quot; style=&quot;mso-list: l0 level1 lfo2; tab-stops: list 36.0pt;&quot;&gt;&lt;span style=&quot;font-size: 11.0pt;&quot;&gt;&lt;a href=&quot;http://www.openpr.com/news/submit.html&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;Open PR&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
  &lt;li class=&quot;MsoNormal&quot; style=&quot;mso-list: l0 level1 lfo2; tab-stops: list 36.0pt;&quot;&gt;&lt;span style=&quot;font-size: 11.0pt;&quot;&gt;&lt;a href=&quot;http://www.przoom.com/login.php?login=editor&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;PR Zoom&lt;/a&gt;
     &lt;/span&gt;&lt;/li&gt;
  &lt;li class=&quot;MsoNormal&quot; style=&quot;mso-list: l0 level1 lfo2; tab-stops: list 36.0pt;&quot;&gt;&lt;span style=&quot;font-size: 11.0pt;&quot;&gt;&lt;a href=&quot;http://www.1888pressrelease.com/login.html&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;1888 Press Release&lt;/a&gt;
     &lt;/span&gt;&lt;/li&gt;
  &lt;li class=&quot;MsoNormal&quot; style=&quot;mso-list: l0 level1 lfo2; tab-stops: list 36.0pt;&quot;&gt;&lt;span style=&quot;font-size: 11.0pt;&quot;&gt;&lt;a href=&quot;http://freepressindex.com/login.html&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;Free Press Release&lt;/a&gt;
     &lt;/span&gt;&lt;/li&gt;
  &lt;li class=&quot;MsoNormal&quot; style=&quot;mso-list: l0 level1 lfo2; tab-stops: list 36.0pt;&quot;&gt;&lt;span style=&quot;font-size: 11.0pt;&quot;&gt;&lt;a href=&quot;http://www.prurgent.com/submit_press_release.htm&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;PR Urgent&lt;/a&gt;
     &lt;/span&gt;&lt;/li&gt;
  &lt;li class=&quot;MsoNormal&quot; style=&quot;mso-list: l0 level1 lfo2; tab-stops: list 36.0pt;&quot;&gt;&lt;span style=&quot;font-size: 11.0pt;&quot;&gt;&lt;a href=&quot;https://www.marketpressrelease.com/memberaccountpricing.html&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;Market Press Release&lt;/a&gt;
     &lt;/span&gt;&lt;/li&gt;
  &lt;li class=&quot;MsoNormal&quot; style=&quot;mso-list: l0 level1 lfo2; tab-stops: list 36.0pt;&quot;&gt;&lt;span style=&quot;font-size: 11.0pt;&quot;&gt;&lt;a href=&quot;http://www.bizeurope.com/pressrelease.htm&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;Biz Europe&lt;/a&gt;
     &lt;/span&gt;&lt;/li&gt;
  &lt;li class=&quot;MsoNormal&quot; style=&quot;mso-list: l0 level1 lfo2; tab-stops: list 36.0pt;&quot;&gt;&lt;span style=&quot;font-size: 11.0pt;&quot;&gt;&lt;a href=&quot;http://prsync.com/submit-press-release/&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;PR Sync&lt;/a&gt;
     &lt;/span&gt;&lt;/li&gt;
  &lt;li class=&quot;MsoNormal&quot; style=&quot;mso-list: l0 level1 lfo2; tab-stops: list 36.0pt;&quot;&gt;&lt;span style=&quot;font-size: 11.0pt;&quot;&gt;&lt;a href=&quot;https://www.freeprnow.com/submitPR.aspx&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;Free PR Now&lt;/a&gt;
     &lt;/span&gt;&lt;/li&gt;
  &lt;li class=&quot;MsoNormal&quot; style=&quot;mso-list: l0 level1 lfo2; tab-stops: list 36.0pt;&quot;&gt;&lt;span style=&quot;font-size: 11.0pt;&quot;&gt;&lt;a href=&quot;https://www.briefingwire.com/submitPR.aspx&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;Briefing Wire&lt;/a&gt;
     &lt;/span&gt;&lt;/li&gt;
   &lt;li class=&quot;MsoNormal&quot; style=&quot;mso-list: l0 level1 lfo2; tab-stops: list 36.0pt;&quot;&gt;&lt;span style=&quot;font-size: 11.0pt;&quot;&gt;&lt;a href=&quot;https://www.pr.com/&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;PR.com&lt;/a&gt;
&lt;li class=&quot;MsoNormal&quot; style=&quot;mso-list: l0 level1 lfo2; tab-stops: list 36.0pt;&quot;&gt;&lt;span style=&quot;font-size: 11.0pt;&quot;&gt;
  &lt;a href=&quot;https://help.npr.org/contact/s/&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;NPR&lt;/a&gt;
     &lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;MsoNormal&quot; style=&quot;mso-list: l0 level1 lfo2; tab-stops: list 36.0pt;&quot;&gt;&lt;span style=&quot;font-size: 11.0pt;&quot;&gt;
  &lt;a href=&quot;mailto:tips@betanews.com&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;Beta News&lt;/a&gt;
     &lt;/span&gt;&lt;/li&gt;

&lt;li class=&quot;MsoNormal&quot; style=&quot;mso-list: l0 level1 lfo2; tab-stops: list 36.0pt;&quot;&gt;&lt;span style=&quot;font-size: 11.0pt;&quot;&gt;
  &lt;a href=&quot;https://mediadesk.24-7pressrelease.com/register&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;24x7 Press Release&lt;/a&gt;
     &lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;MsoNormal&quot; style=&quot;mso-list: l0 level1 lfo2; tab-stops: list 36.0pt;&quot;&gt;&lt;span style=&quot;font-size: 11.0pt;&quot;&gt;&lt;a href=&quot;https://prmac.com/write-for-us/&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;PR Mac&lt;/a&gt;
     &lt;/span&gt;&lt;/li&gt;

  
    &lt;li class=&quot;MsoNormal&quot; style=&quot;mso-list: l0 level1 lfo2; tab-stops: list 36.0pt;&quot;&gt;&lt;span style=&quot;font-size: 11.0pt;&quot;&gt;&lt;a href=&quot;https://membership.businesswire.com/sign-up&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;Business Wire&lt;/a&gt;
     &lt;/span&gt;&lt;/li&gt;
      &lt;li class=&quot;MsoNormal&quot; style=&quot;mso-list: l0 level1 lfo2; tab-stops: list 36.0pt;&quot;&gt;&lt;span style=&quot;font-size: 11.0pt;&quot;&gt;&lt;a href=&quot;https://www.mediapost.com/publications/masthead/&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;Media Post&lt;/a&gt;
     &lt;/span&gt;&lt;/li&gt;
   
  
  
   &lt;li class=&quot;MsoNormal&quot; style=&quot;mso-list: l0 level1 lfo2; tab-stops: list 36.0pt;&quot;&gt;&lt;span style=&quot;font-size: 11.0pt;&quot;&gt;&lt;a href=&quot;https://www.pressreleasepost.com/agency/&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;Press Release Post&lt;/a&gt;
     &lt;/span&gt;&lt;/li&gt;
  &lt;li class=&quot;MsoNormal&quot; style=&quot;mso-list: l0 level1 lfo2; tab-stops: list 36.0pt;&quot;&gt;&lt;span style=&quot;font-size: 11.0pt;&quot;&gt;&lt;a href=&quot;https://www.prfire.co.uk/&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;PR Fire&lt;/a&gt;
     &lt;/span&gt;&lt;/li&gt;
  &lt;li class=&quot;MsoNormal&quot; style=&quot;mso-list: l0 level1 lfo2; tab-stops: list 36.0pt;&quot;&gt;&lt;span style=&quot;font-size: 11.0pt;&quot;&gt;&lt;a href=&quot;https://www.pressreleasepoint.com/submit-press-release&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;Press Release Point&lt;/a&gt;
     &lt;/span&gt;&lt;/li&gt;
  &lt;li class=&quot;MsoNormal&quot; style=&quot;mso-list: l0 level1 lfo2; tab-stops: list 36.0pt;&quot;&gt;&lt;span style=&quot;font-size: 11.0pt;&quot;&gt;&lt;a href=&quot;https://www.yumpu.com/en/publishing-software/free&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;Yumpu E-Paper&lt;/a&gt;
     &lt;/span&gt;&lt;/li&gt;
     &lt;li class=&quot;MsoNormal&quot; style=&quot;mso-list: l0 level1 lfo2; tab-stops: list 36.0pt;&quot;&gt;&lt;span style=&quot;font-size: 11.0pt;&quot;&gt;&lt;a href=&quot;https://www.businessportal24.com/en&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;Business Portal 24&lt;/a&gt;
     &lt;/span&gt;&lt;/li&gt;
     &lt;li class=&quot;MsoNormal&quot; style=&quot;mso-list: l0 level1 lfo2; tab-stops: list 36.0pt;&quot;&gt;&lt;span style=&quot;font-size: 11.0pt;&quot;&gt;&lt;a href=&quot;https://www.webknowhow.net/submit/submitcontent.html&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;Web Know How&lt;/a&gt;
     &lt;/span&gt;&lt;/li&gt;
  &lt;li class=&quot;MsoNormal&quot; style=&quot;mso-list: l0 level1 lfo2; tab-stops: list 36.0pt;&quot;&gt;&lt;span style=&quot;font-size: 11.0pt;&quot;&gt;&lt;a href=&quot;https://www.issuewire.com/&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;Issue Wire&lt;/a&gt;
     &lt;/span&gt;&lt;/li&gt;
  &lt;li class=&quot;MsoNormal&quot; style=&quot;mso-list: l0 level1 lfo2; tab-stops: list 36.0pt;&quot;&gt;&lt;span style=&quot;font-size: 11.0pt;&quot;&gt;&lt;a href=&quot;https://express-press-release.net/submit-press-release.php&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;Express Press Release&lt;/a&gt;
     &lt;/span&gt;&lt;/li&gt;
   &lt;li class=&quot;MsoNormal&quot; style=&quot;mso-list: l0 level1 lfo2; tab-stops: list 36.0pt;&quot;&gt;&lt;span style=&quot;font-size: 11.0pt;&quot;&gt;&lt;a href=&quot;https://www.pressreleasepoint.com/submit-press-release&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;Press Release Point&lt;/a&gt;
     &lt;/span&gt;&lt;/li&gt;
  &lt;li class=&quot;MsoNormal&quot; style=&quot;mso-list: l0 level1 lfo2; tab-stops: list 36.0pt;&quot;&gt;&lt;span style=&quot;font-size: 11.0pt;&quot;&gt;&lt;a href=&quot;https://www.freepressreleasedb.com/login.php&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;Free Press Release DB&lt;/a&gt;
     &lt;/span&gt;&lt;/li&gt;
  &lt;li class=&quot;MsoNormal&quot; style=&quot;mso-list: l0 level1 lfo2; tab-stops: list 36.0pt;&quot;&gt;&lt;span style=&quot;font-size: 11.0pt;&quot;&gt;&lt;a href=&quot;https://www.pressnews.biz/pricing.php&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;Press News Biz&lt;/a&gt;
     &lt;/span&gt;&lt;/li&gt;
   &lt;li class=&quot;MsoNormal&quot; style=&quot;mso-list: l0 level1 lfo2; tab-stops: list 36.0pt;&quot;&gt;&lt;span style=&quot;font-size: 11.0pt;&quot;&gt;&lt;a href=&quot;https://mypr.co.za/submit/&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;My PR&lt;/a&gt;
     &lt;/span&gt;&lt;/li&gt;
   &lt;li class=&quot;MsoNormal&quot; style=&quot;mso-list: l0 level1 lfo2; tab-stops: list 36.0pt;&quot;&gt;&lt;span style=&quot;font-size: 11.0pt;&quot;&gt;&lt;a href=&quot;http://www.prhwy.com/submit-press-release.html&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;PR HWY&lt;/a&gt;
     &lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;br /&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://parekhreena.blogspot.com/feeds/1110774995192172306/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://parekhreena.blogspot.com/2013/08/seo-for-your-press-releases.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2480951532154788962/posts/default/1110774995192172306'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2480951532154788962/posts/default/1110774995192172306'/><link rel='alternate' type='text/html' href='http://parekhreena.blogspot.com/2013/08/seo-for-your-press-releases.html' title='SEO for your Press Releases [Updated 2025 list]'/><author><name>Reena Parekh</name><uri>http://www.blogger.com/profile/14928413621811283316</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKPbAUYyNsPQanjD6wZilQN9G5kdONJqVmZ27kMS2w6nGFSN2J3Rkz4dWjPzrj2byzEmNwJIbbhSHKqasPWFUtuQvhRzuxK_XUS2rfz7UlQuBv2oVI6Fls5nNoroW0SU4/s220/dp.png'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQAELiUcJyP6XYh2WkW-U3TmUOBJCmVFcQfHIgBkuUn5k_Y5hoWDvNS2ysUB6ab57uE-mbjmvyCyI-mMyUC1bzbzsBhrB0yD3FtqIGpdKfJvEdlhyphenhyphenfH-9sEnaefNCq-2ZYRD_aCMEmDvHsVfE3iytix5LfOwJIfgXYTPOamsXAHHUyV3Vo0W0gwpmLUe0/s72-c/Press_Release_SEO_Banner.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2480951532154788962.post-4044546585408454137</id><published>2022-03-07T20:15:00.008+00:00</published><updated>2022-03-07T20:37:23.030+00:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="delete test data"/><category scheme="http://www.blogger.com/atom/ns#" term="go live"/><category scheme="http://www.blogger.com/atom/ns#" term="magento2"/><category scheme="http://www.blogger.com/atom/ns#" term="reenaparekh"/><category scheme="http://www.blogger.com/atom/ns#" term="sample data"/><category scheme="http://www.blogger.com/atom/ns#" term="test data"/><title type='text'>Magento 2: Delete sample data and test data from your store</title><content type='html'>Here is a script to delete all the test data from your magento store. This can come in handy especially at the time of launching your website from beta to production mode. Don&#39;t forget to bookmark it for your next launch. 
&lt;br/&gt;
&lt;br/&gt;
&lt;b&gt;NOTE:&lt;/b&gt; It is advisable to take full database backup before performing any operations below:
&lt;br/&gt;
&lt;br/&gt;
&lt;b&gt;SCRIPT:&lt;/b&gt;
&lt;pre&gt;
SET FOREIGN_KEY_CHECKS=0;
# Clean order history
TRUNCATE TABLE `sales_bestsellers_aggregated_daily`;
TRUNCATE TABLE `sales_bestsellers_aggregated_monthly`;
TRUNCATE TABLE `sales_bestsellers_aggregated_yearly`;

# Clean order infos
TRUNCATE TABLE `sales_creditmemo`;
TRUNCATE TABLE `sales_creditmemo_comment`;
TRUNCATE TABLE `sales_creditmemo_grid`;
TRUNCATE TABLE `sales_creditmemo_item`;
TRUNCATE TABLE `sales_invoice`;
TRUNCATE TABLE `sales_invoiced_aggregated`;
TRUNCATE TABLE `sales_invoiced_aggregated_order`;
TRUNCATE TABLE `sales_invoice_comment`;
TRUNCATE TABLE `sales_invoice_grid`;
TRUNCATE TABLE `sales_invoice_item`;
TRUNCATE TABLE `sales_order`;
TRUNCATE TABLE `sales_order_address`;
TRUNCATE TABLE `sales_order_aggregated_created`;
TRUNCATE TABLE `sales_order_aggregated_updated`;
TRUNCATE TABLE `sales_order_grid`;
TRUNCATE TABLE `sales_order_item`;
TRUNCATE TABLE `sales_order_payment`;
TRUNCATE TABLE `sales_order_status_history`;
TRUNCATE TABLE `sales_order_tax`;
TRUNCATE TABLE `sales_order_tax_item`;
TRUNCATE TABLE `sales_payment_transaction`;
TRUNCATE TABLE `sales_refunded_aggregated`;
TRUNCATE TABLE `sales_refunded_aggregated_order`;
TRUNCATE TABLE `sales_shipment`;
TRUNCATE TABLE `sales_shipment_comment`;
TRUNCATE TABLE `sales_shipment_grid`;
TRUNCATE TABLE `sales_shipment_item`;
TRUNCATE TABLE `sales_shipment_track`;
TRUNCATE TABLE `sales_shipping_aggregated`;
TRUNCATE TABLE `sales_shipping_aggregated_order`;

# Clean cart infos
TRUNCATE TABLE `quote`;
TRUNCATE TABLE `quote_address`;
TRUNCATE TABLE `quote_address_item`;
TRUNCATE TABLE `quote_id_mask`;
TRUNCATE TABLE `quote_item`;
TRUNCATE TABLE `quote_item_option`;
TRUNCATE TABLE `quote_payment`;
TRUNCATE TABLE `quote_shipping_rate`;

# Reset indexes (if you want your orders number start back to 1
TRUNCATE TABLE sequence_invoice_1;
TRUNCATE TABLE sequence_order_1;
TRUNCATE TABLE sequence_shipment_1;
TRUNCATE TABLE sequence_creditmemo_1;
#Do this for every store ID as suffix

#Return / RMA
TRUNCATE TABLE magento_rma;
TRUNCATE TABLE magento_rma_item_entity;
TRUNCATE TABLE magento_rma_shipping_label;

TRUNCATE TABLE magento_rma_grid;
TRUNCATE TABLE sequence_rma_item_0;
TRUNCATE TABLE sequence_rma_item_1;
#Do this for every store ID as suffix
SET FOREIGN_KEY_CHECKS=1;
&lt;/pre&gt;

&lt;b&gt;DO NOT TRUNCATE / EMPTY THE FOLLOWING :&lt;/b&gt;
&lt;ul&gt;
  &lt;li&gt;sales_order_status&lt;/li&gt;
  &lt;li&gt;sales_sequence_meta&lt;/li&gt;
  &lt;li&gt;sales_sequence_profile&lt;/li&gt;
  &lt;li&gt;sales_order_status_label&lt;/li&gt;
  &lt;li&gt;sales_order_status_state&lt;/li&gt;
&lt;/ul&gt;

If you want to go a step further and delete your catalog, here is a good reference point to get you started: &lt;a href=&quot;https://gist.github.com/leek/f7fd2c41668b0f8a0a5f6e5209fe8f4e&quot; target=&quot;_blank&quot;&gt;https://gist.github.com/leek/f7fd2c41668b0f8a0a5f6e5209fe8f4e&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://parekhreena.blogspot.com/feeds/4044546585408454137/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://parekhreena.blogspot.com/2022/03/magento-2-delete-sample-data-and-test.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2480951532154788962/posts/default/4044546585408454137'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2480951532154788962/posts/default/4044546585408454137'/><link rel='alternate' type='text/html' href='http://parekhreena.blogspot.com/2022/03/magento-2-delete-sample-data-and-test.html' title='Magento 2: Delete sample data and test data from your store'/><author><name>Reena Parekh</name><uri>http://www.blogger.com/profile/14928413621811283316</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKPbAUYyNsPQanjD6wZilQN9G5kdONJqVmZ27kMS2w6nGFSN2J3Rkz4dWjPzrj2byzEmNwJIbbhSHKqasPWFUtuQvhRzuxK_XUS2rfz7UlQuBv2oVI6Fls5nNoroW0SU4/s220/dp.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2480951532154788962.post-5312680977173185070</id><published>2021-03-30T13:31:00.008+01:00</published><updated>2021-03-30T13:36:20.430+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="collect-phrases"/><category scheme="http://www.blogger.com/atom/ns#" term="csv"/><category scheme="http://www.blogger.com/atom/ns#" term="magento2"/><category scheme="http://www.blogger.com/atom/ns#" term="theme"/><category scheme="http://www.blogger.com/atom/ns#" term="translations"/><title type='text'>Magento 2 - How to generate translation strings for your magento project</title><content type='html'>If you have want to create a multi-language store then you may require to translate all English strings into the language of your choice. For this you will need accumulate all of the eligible strings for translation into a CSV file. In this article we will discuss how to generate this list of strings from your Magento project which are eligible for translations.

&lt;br/&gt;&lt;br/&gt;
Magento allows the list generation with following command:
&lt;br/&gt;&lt;br/&gt;

&lt;b&gt;For Whole Project:&lt;/b&gt;&lt;br/&gt;
&lt;pre&gt;
php bin/magento i18n:collect-phrases --magento -o translations.csv
cat translations.csv
&lt;/pre&gt;


&lt;b&gt;For A Particular Module:&lt;/b&gt;&lt;br/&gt;
&lt;pre&gt;
php bin/magento i18n:collect-phrases path/to/my/module -o translations.csv
cat translations.csv
&lt;/pre&gt;


Thenafter, this CSV file (translations.csv in above example) can be translated either manually or using third party translator extensions like Qordoba. </content><link rel='replies' type='application/atom+xml' href='http://parekhreena.blogspot.com/feeds/5312680977173185070/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://parekhreena.blogspot.com/2021/03/magento-2-how-to-generate-translations.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2480951532154788962/posts/default/5312680977173185070'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2480951532154788962/posts/default/5312680977173185070'/><link rel='alternate' type='text/html' href='http://parekhreena.blogspot.com/2021/03/magento-2-how-to-generate-translations.html' title='Magento 2 - How to generate translation strings for your magento project'/><author><name>Reena Parekh</name><uri>http://www.blogger.com/profile/14928413621811283316</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKPbAUYyNsPQanjD6wZilQN9G5kdONJqVmZ27kMS2w6nGFSN2J3Rkz4dWjPzrj2byzEmNwJIbbhSHKqasPWFUtuQvhRzuxK_XUS2rfz7UlQuBv2oVI6Fls5nNoroW0SU4/s220/dp.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2480951532154788962.post-2621158899181966580</id><published>2021-02-02T08:09:00.004+00:00</published><updated>2021-02-11T09:59:23.975+00:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ElasticSearch"/><category scheme="http://www.blogger.com/atom/ns#" term="ElasticSearch Version Manager"/><category scheme="http://www.blogger.com/atom/ns#" term="elasticsearch7"/><category scheme="http://www.blogger.com/atom/ns#" term="EVM"/><title type='text'>Elastic Search - How to install and manage multiple versions of elastic search</title><content type='html'>It is possible to install and manage multiple versions of elastic search using an Elastic search version Manager. 
&lt;br/&gt;&lt;br/&gt;
You can simply follow below steps to install EVM and start Elastic search with your desired version: 
&lt;br/&gt;&lt;br/&gt;
&lt;b&gt;STEPS&lt;/b&gt;
&lt;ul&gt;
  &lt;li&gt;sudo curl -o /usr/local/bin/evm https://raw.githubusercontent.com/duydo/evm/master/evm&lt;/li&gt;
  &lt;li&gt;sudo chmod +x /usr/local/bin/evm&lt;/li&gt;
  &lt;li&gt;evm install 7.4.0 /** You can replace 7.4.0 with your desired elastic search version **/ &lt;/li&gt;
  &lt;li&gt;evm install 5.4.0 /** You can replace 5.4.0 with your desired elastic search version **/ &lt;/li&gt;
  &lt;li&gt;evm use 7.4.0 /** You can replace 7.4.0 with your desired elastic search version **/ &lt;/li&gt;
  &lt;li&gt;evm start&lt;/li&gt;
  &lt;li&gt;curl http://localhost:9200&lt;/li&gt;
&lt;/ul&gt;
&lt;br/&gt;&lt;br/&gt;

If you want to install another version, then you can stop the EVM and install another version in the similar manner.

&lt;b&gt;NOTE:&lt;/b&gt;
For this Tutorial we have used Duydo EVM which is available here: &lt;a href=&quot;https://github.com/duydo/evm&quot; target=&quot;_blank&quot;&gt;https://github.com/duydo/evm&lt;/a&gt; to download and run elasticsearch version 7.4.0. </content><link rel='replies' type='application/atom+xml' href='http://parekhreena.blogspot.com/feeds/2621158899181966580/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://parekhreena.blogspot.com/2021/02/elastic-search-how-to-install-and.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2480951532154788962/posts/default/2621158899181966580'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2480951532154788962/posts/default/2621158899181966580'/><link rel='alternate' type='text/html' href='http://parekhreena.blogspot.com/2021/02/elastic-search-how-to-install-and.html' title='Elastic Search - How to install and manage multiple versions of elastic search'/><author><name>Reena Parekh</name><uri>http://www.blogger.com/profile/14928413621811283316</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKPbAUYyNsPQanjD6wZilQN9G5kdONJqVmZ27kMS2w6nGFSN2J3Rkz4dWjPzrj2byzEmNwJIbbhSHKqasPWFUtuQvhRzuxK_XUS2rfz7UlQuBv2oVI6Fls5nNoroW0SU4/s220/dp.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2480951532154788962.post-1235309463736941728</id><published>2021-01-03T15:12:00.005+00:00</published><updated>2021-01-03T15:24:52.532+00:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="magento"/><category scheme="http://www.blogger.com/atom/ns#" term="php7"/><category scheme="http://www.blogger.com/atom/ns#" term="phpstorm"/><category scheme="http://www.blogger.com/atom/ns#" term="ubuntu"/><category scheme="http://www.blogger.com/atom/ns#" term="Xdebug"/><title type='text'>Xdebug - PHPStorm - Ubuntu: How to configure Xdebug on Ubuntu for PHPStorm</title><content type='html'>&lt;div style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgWrz3NMDwGUk6kEfuVW18J0dD3TE53-Uoncf5OZA0fec_dm6EvNb1yuCCq6y014pu9IryGyRUVK_tGXlrplZJhVkpzsDFEpTCPmMpZU9WNunEuuMRmuug3e9RVveuUG6sGkRBZhTYqhrM/s2048/pexels-negative-space-160107.jpg&quot; style=&quot;display: block; padding: 1em 0px; text-align: center;&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; data-original-height=&quot;1365&quot; data-original-width=&quot;2048&quot; height=&quot;427&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgWrz3NMDwGUk6kEfuVW18J0dD3TE53-Uoncf5OZA0fec_dm6EvNb1yuCCq6y014pu9IryGyRUVK_tGXlrplZJhVkpzsDFEpTCPmMpZU9WNunEuuMRmuug3e9RVveuUG6sGkRBZhTYqhrM/w640-h427/pexels-negative-space-160107.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
For this illustration we are using PHP7.3 

Find the path of your PHP ini files by opening the console and running following command:

&lt;br /&gt;&lt;pre&gt;php --ini&lt;/pre&gt;&lt;br /&gt;


In your root folder create a new file using following command and generate Phpinfo file: 

&lt;br /&gt;&lt;pre&gt;sudo vi phpinfo.php&lt;/pre&gt;&lt;br /&gt;
&lt;code data-gist-id=&quot;a2147573250a5abe76b7985b190c3612&quot;&gt;&lt;/code&gt;&lt;br /&gt;

Now in your browser run: &lt;a href=&quot;http://localhost/phpinfo.php&quot; target=&quot;_blank&quot;&gt;http://localhost/phpinfo.php&lt;/a&gt; . Copy the entire output from this page and paste it into &lt;a href=&quot;https://xdebug.org/wizard&quot; target=&quot;_blank&quot;&gt;https://xdebug.org/wizard&lt;/a&gt; This will give you the download link to xdebug. 

Now open your console and run below commands:

&lt;code data-gist-id=&quot;8fe1565d3fb25bc31ed5b4aee700b275&quot;&gt;&lt;/code&gt;
&lt;br /&gt;&lt;br /&gt;
Check the path against &quot;Scan the additional .ini files in&quot;. In most cases the path would look something like &quot;/usr/local/etc/php/7.3/conf.d&quot;
&lt;br /&gt;&lt;br /&gt;
&lt;pre&gt;sudo vi /usr/local/etc/php/7.3/conf.d/ext-xdebug.ini&lt;/pre&gt;&lt;br /&gt;

&lt;code data-gist-id=&quot;ae6c810625d8daa3635d5dc4c4ac4558&quot;&gt;&lt;/code&gt;
&lt;br /&gt;&lt;br /&gt;
Now in your PHPStorm perform below steps: 
&lt;ul&gt;
  &lt;li&gt; Click on PHPStorm &amp;gt; Preferences &amp;gt; Languages &amp;amp; Frameworks &amp;gt; PHP &amp;gt; Debug &lt;/li&gt;
  &lt;li&gt; Under Xdebug &amp;gt; Change &quot;Debug Port&quot; to &quot;9001&quot; and select &quot;Can accept external connections&lt;/li&gt;
  &lt;li&gt; Click on Apply &lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;&lt;br /&gt;
You can validate your Xdebug installation with PHP using below steps: 
&lt;ul&gt;
  &lt;li&gt;In your browser run: &lt;a href=&quot;http://localhost/phpinfo.php&quot; target=&quot;_blank&quot;&gt;http://localhost/phpinfo.php&lt;/a&gt; . Copy the entire output from this page and paste it into &lt;a href=&quot;https://xdebug.org/wizard&quot; target=&quot;_blank&quot;&gt;https://xdebug.org/wizard&lt;/a&gt;  &lt;/li&gt;
  &lt;li&gt; This should give you the message &quot;You&#39;re already running the latest Xdebug version&quot; &lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;&lt;br /&gt;
You can validate your Xdebug settings for PHPStorm with below steps:
&lt;ul&gt;
  &lt;li&gt; Navigate to PHPStorm &amp;gt; Preferences &amp;gt; Languages &amp;amp; Frameworks &amp;gt; PHP &amp;gt; Debug &lt;/li&gt;
  &lt;li&gt; Under Pre-Configuration &amp;gt; Click on &lt;b&gt;Validate&lt;/b&gt; debugger configuration on the Web Server&lt;/li&gt;
  &lt;li&gt; Select Local Web Server or Shared Folder &lt;/li&gt;
  &lt;li&gt; Under &quot;Path to create validation script&quot; add path to your Project&#39;s Root Directory &lt;/li&gt;
  &lt;li&gt; Under &quot;URL to validation script&quot; add your localhost URL or URL to your project home-page&lt;/li&gt;
  &lt;li&gt; Click on Validate&lt;/li&gt;
&lt;/ul&gt;

&lt;br /&gt;&lt;br /&gt;
In order to run Xdebug do following settings in your PHPStorm: 
&lt;ul&gt;
  &lt;li&gt; Navigate to PHPStorm &amp;gt; Run &amp;gt; Edit Configurations &lt;/li&gt;
  &lt;li&gt; Click on &quot;+&quot; symbol at top left of the window and select &quot;PHP Remote Debug&quot; from the drop-down list&lt;/li&gt;
  &lt;li&gt; In the right-hand pane add the name of your Xdebug profile. For example &quot;My Remote Debug&quot;&lt;/li&gt;
  &lt;li&gt; In the right-hand pane Under configuration tab select &quot;Filter debug connection by IDE Key&quot;&lt;/li&gt;
  &lt;li&gt; Click on &quot;...&quot; near Server and add your project settings (Name: Project Name, Host: Your project&#39;s localhost URL - example.local, Port: 80, Debugger: Xdebug) and click on Apply&lt;/li&gt;
  &lt;li&gt; Add &quot;PHPSTORM&quot; against IDE key(sessiod id)&lt;/li&gt;	
  &lt;li&gt; Click on Apply&lt;/li&gt;
&lt;/ul&gt;

Your Xdebug is now ready to use. Place a breakpoint in your codebase and run the host URL in your browser, it will stop at the breakpoint.

To configure XDebug on Mac, check my blog post here: &lt;a href=&quot;https://parekhreena.blogspot.com/2020/11/xdebug-phpstorm-mac-how-to-configure.html&quot; target=&quot;_blank&quot;&gt;https://parekhreena.blogspot.com/2020/11/xdebug-phpstorm-mac-how-to-configure.html&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;

Picture Source: pexels.com
</content><link rel='replies' type='application/atom+xml' href='http://parekhreena.blogspot.com/feeds/1235309463736941728/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://parekhreena.blogspot.com/2021/01/xdebug-phpstorm-ubuntu-how-to-configure.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2480951532154788962/posts/default/1235309463736941728'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2480951532154788962/posts/default/1235309463736941728'/><link rel='alternate' type='text/html' href='http://parekhreena.blogspot.com/2021/01/xdebug-phpstorm-ubuntu-how-to-configure.html' title='Xdebug - PHPStorm - Ubuntu: How to configure Xdebug on Ubuntu for PHPStorm'/><author><name>Reena Parekh</name><uri>http://www.blogger.com/profile/14928413621811283316</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKPbAUYyNsPQanjD6wZilQN9G5kdONJqVmZ27kMS2w6nGFSN2J3Rkz4dWjPzrj2byzEmNwJIbbhSHKqasPWFUtuQvhRzuxK_XUS2rfz7UlQuBv2oVI6Fls5nNoroW0SU4/s220/dp.png'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgWrz3NMDwGUk6kEfuVW18J0dD3TE53-Uoncf5OZA0fec_dm6EvNb1yuCCq6y014pu9IryGyRUVK_tGXlrplZJhVkpzsDFEpTCPmMpZU9WNunEuuMRmuug3e9RVveuUG6sGkRBZhTYqhrM/s72-w640-h427-c/pexels-negative-space-160107.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2480951532154788962.post-5568244671326156543</id><published>2020-11-17T14:03:00.006+00:00</published><updated>2020-11-17T14:13:40.463+00:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="account blocking"/><category scheme="http://www.blogger.com/atom/ns#" term="blocking"/><category scheme="http://www.blogger.com/atom/ns#" term="instagram"/><category scheme="http://www.blogger.com/atom/ns#" term="social media management"/><title type='text'>Instagram - How to unfollow someone&#39;s posts without actually unfollowing their account</title><content type='html'>Instagram now provides a feature where in you can unfollow/ignore someone&#39;s posts and activity without actually unfollowing the account. &lt;br/&gt; 

&lt;div class=&quot;separator&quot; style=&quot;clear: both;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhn5FCOIiJSAS33B_CVuKMLlq5XW1kWrKMhJom0XGaScLy8_ZgplYR7QvbgG1ITfXFT6ngHmUGl54l1J8U1jNhtJN5aalRqBrp7QDMmdVNHgqdWx905susZ2m_X7Ws8QYoNHrowev9EM4U/s2048/pexels-cristian-dina-1851415.jpg&quot; style=&quot;display: block; padding: 1em 0; text-align: center; &quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; width=&quot;320&quot; data-original-height=&quot;1365&quot; data-original-width=&quot;2048&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhn5FCOIiJSAS33B_CVuKMLlq5XW1kWrKMhJom0XGaScLy8_ZgplYR7QvbgG1ITfXFT6ngHmUGl54l1J8U1jNhtJN5aalRqBrp7QDMmdVNHgqdWx905susZ2m_X7Ws8QYoNHrowev9EM4U/s320/pexels-cristian-dina-1851415.jpg&quot;/&gt;&lt;/a&gt;&lt;/div&gt;

Instagram will not notify the person about this. &lt;br/&gt;
This is a fantastic feature of instagram which can help avoid unwanted content from an account without needing to unfollow the account. &lt;br/&gt;
You can do this by following method: &lt;br/&gt;

&lt;ul&gt;
&lt;li&gt; Login to &lt;a href=&quot;https://www.instagram.com/&quot; target=&quot;_blank&quot;&gt;instagram&lt;/a&gt; on your browser or mobile app. &lt;/li&gt;
&lt;li&gt; Navigate to the profile you wish to ignore. &lt;/li&gt;
&lt;li&gt; Click on the three dots (3 horizontal dots if you are on desktop browser and 3 vertical dots if you are on mobile app) at the top right corner.&lt;/li&gt;
  &lt;li&gt; Now click on &quot;Restrict&quot; from the dropdown list. &lt;/li&gt;
    &lt;li&gt; Now click on &quot;Restrict Account&quot;. &lt;/li&gt;
&lt;br/&gt;&lt;br/&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgCY_nDF1_jLqU4teKyf0qkDDfVlft_RfoCcdBA76SRSsYyOVKDFN1T74cLMEmiHMIP9qH2y8U_BxwwBnVuNwqu0OydixxwIawFvXTkYVTEFLlfZhq_LLggieP2FfxxsyM0fgGx2cxbSNo/s800/restrict.png&quot; style=&quot;display: block; padding: 1em 0; text-align: center; &quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; width=&quot;320&quot; data-original-height=&quot;378&quot; data-original-width=&quot;800&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgCY_nDF1_jLqU4teKyf0qkDDfVlft_RfoCcdBA76SRSsYyOVKDFN1T74cLMEmiHMIP9qH2y8U_BxwwBnVuNwqu0OydixxwIawFvXTkYVTEFLlfZhq_LLggieP2FfxxsyM0fgGx2cxbSNo/s320/restrict.png&quot;/&gt;&lt;/a&gt;&lt;/div&gt;
  

  &lt;br/&gt;&lt;br/&gt;
  &lt;div class=&quot;separator&quot; style=&quot;clear: both;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgkgGB2kZtE32FJymJWZD1kTn_q91CIrXukvbiPyjt5WocOI9qj0xz6BRCH7PPYOl1ye6qDPt7HEQc0ZUgqitw8YaZ_AJjDnzfywMx6AnO5qDl1djFJDhQf2-Wa2agMq8FGhZ56fLfG-0Y/s796/restrict-account.png&quot; style=&quot;display: block; padding: 1em 0; text-align: center; &quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; width=&quot;320&quot; data-original-height=&quot;596&quot; data-original-width=&quot;796&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgkgGB2kZtE32FJymJWZD1kTn_q91CIrXukvbiPyjt5WocOI9qj0xz6BRCH7PPYOl1ye6qDPt7HEQc0ZUgqitw8YaZ_AJjDnzfywMx6AnO5qDl1djFJDhQf2-Wa2agMq8FGhZ56fLfG-0Y/s320/restrict-account.png&quot;/&gt;&lt;/a&gt;&lt;/div&gt;
  
  
  Now you will no longer see any posts, messages or comments from the restricted account. Any comments left by the restricted account on your posts will remain hidden until you specifically approve the comment. 
  

  Image sources:
  &lt;ul&gt;
    &lt;li&gt;Instagram.com&lt;/li&gt;
    &lt;li&gt;pexels.com - Royalty free images&lt;/li&gt;
  &lt;/ul&gt;</content><link rel='replies' type='application/atom+xml' href='http://parekhreena.blogspot.com/feeds/5568244671326156543/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://parekhreena.blogspot.com/2020/11/instagram-how-to-unfollow-someones.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2480951532154788962/posts/default/5568244671326156543'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2480951532154788962/posts/default/5568244671326156543'/><link rel='alternate' type='text/html' href='http://parekhreena.blogspot.com/2020/11/instagram-how-to-unfollow-someones.html' title='Instagram - How to unfollow someone&#39;s posts without actually unfollowing their account'/><author><name>Reena Parekh</name><uri>http://www.blogger.com/profile/14928413621811283316</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKPbAUYyNsPQanjD6wZilQN9G5kdONJqVmZ27kMS2w6nGFSN2J3Rkz4dWjPzrj2byzEmNwJIbbhSHKqasPWFUtuQvhRzuxK_XUS2rfz7UlQuBv2oVI6Fls5nNoroW0SU4/s220/dp.png'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhn5FCOIiJSAS33B_CVuKMLlq5XW1kWrKMhJom0XGaScLy8_ZgplYR7QvbgG1ITfXFT6ngHmUGl54l1J8U1jNhtJN5aalRqBrp7QDMmdVNHgqdWx905susZ2m_X7Ws8QYoNHrowev9EM4U/s72-c/pexels-cristian-dina-1851415.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2480951532154788962.post-3045504846654203845</id><published>2020-11-17T13:39:00.016+00:00</published><updated>2021-01-03T15:25:30.571+00:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="apache"/><category scheme="http://www.blogger.com/atom/ns#" term="mac"/><category scheme="http://www.blogger.com/atom/ns#" term="php73"/><category scheme="http://www.blogger.com/atom/ns#" term="phpstorm"/><category scheme="http://www.blogger.com/atom/ns#" term="Xdebug"/><title type='text'>XDebug - PHPStorm - Mac: How to configure Xdebug with PHPStorm on Mac OS and PHP 7.3</title><content type='html'>&lt;div style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgWrz3NMDwGUk6kEfuVW18J0dD3TE53-Uoncf5OZA0fec_dm6EvNb1yuCCq6y014pu9IryGyRUVK_tGXlrplZJhVkpzsDFEpTCPmMpZU9WNunEuuMRmuug3e9RVveuUG6sGkRBZhTYqhrM/s2048/pexels-negative-space-160107.jpg&quot; style=&quot;display: block; padding: 1em 0px; text-align: center;&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; data-original-height=&quot;1365&quot; data-original-width=&quot;2048&quot; height=&quot;427&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgWrz3NMDwGUk6kEfuVW18J0dD3TE53-Uoncf5OZA0fec_dm6EvNb1yuCCq6y014pu9IryGyRUVK_tGXlrplZJhVkpzsDFEpTCPmMpZU9WNunEuuMRmuug3e9RVveuUG6sGkRBZhTYqhrM/w640-h427/pexels-negative-space-160107.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
For this illustration we are using PHP7.3 

Find the path of your PHP ini files by opening the console and running following command:

&lt;br /&gt;&lt;pre&gt;php --ini&lt;/pre&gt;&lt;br /&gt;


In your root folder create a new file using following command and generate Phpinfo file: 

&lt;br /&gt;&lt;pre&gt;sudo vi phpinfo.php&lt;/pre&gt;&lt;br /&gt;
&lt;code data-gist-id=&quot;a2147573250a5abe76b7985b190c3612&quot;&gt;&lt;/code&gt;&lt;br /&gt;

Now in your browser run: &lt;a href=&quot;http://localhost/phpinfo.php&quot; target=&quot;_blank&quot;&gt;http://localhost/phpinfo.php&lt;/a&gt; . Copy the entire output from this page and paste it into &lt;a href=&quot;https://xdebug.org/wizard&quot; target=&quot;_blank&quot;&gt;https://xdebug.org/wizard&lt;/a&gt; This will give you the download link to xdebug. 

Now open your console and run below commands:

&lt;code data-gist-id=&quot;e487a6d4c6a47e784efcab221413b77b&quot;&gt;&lt;/code&gt;
&lt;br /&gt;&lt;br /&gt;
Check the path against &quot;Scan the additional .ini files in&quot;. In most cases the path would look something like &quot;/usr/local/etc/php/7.3/conf.d&quot;
&lt;br /&gt;&lt;br /&gt;
&lt;pre&gt;sudo vi /usr/local/etc/php/7.3/conf.d/ext-xdebug.ini&lt;/pre&gt;&lt;br /&gt;

&lt;code data-gist-id=&quot;ae6c810625d8daa3635d5dc4c4ac4558&quot;&gt;&lt;/code&gt;
&lt;br /&gt;&lt;br /&gt;
Now in your PHPStorm perform below steps: 
&lt;ul&gt;
  &lt;li&gt; Click on PHPStorm &amp;gt; Preferences &amp;gt; Languages &amp;amp; Frameworks &amp;gt; PHP &amp;gt; Debug &lt;/li&gt;
  &lt;li&gt; Under Xdebug &amp;gt; Change &quot;Debug Port&quot; to &quot;9001&quot; and select &quot;Can accept external connections&lt;/li&gt;
  &lt;li&gt; Click on Apply &lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;&lt;br /&gt;
You can validate your Xdebug installation with PHP using below steps: 
&lt;ul&gt;
  &lt;li&gt;In your browser run: &lt;a href=&quot;http://localhost/phpinfo.php&quot; target=&quot;_blank&quot;&gt;http://localhost/phpinfo.php&lt;/a&gt; . Copy the entire output from this page and paste it into &lt;a href=&quot;https://xdebug.org/wizard&quot; target=&quot;_blank&quot;&gt;https://xdebug.org/wizard&lt;/a&gt;  &lt;/li&gt;
  &lt;li&gt; This should give you the message &quot;You&#39;re already running the latest Xdebug version&quot; &lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;&lt;br /&gt;
You can validate your Xdebug settings for PHPStorm with below steps:
&lt;ul&gt;
  &lt;li&gt; Navigate to PHPStorm &amp;gt; Preferences &amp;gt; Languages &amp;amp; Frameworks &amp;gt; PHP &amp;gt; Debug &lt;/li&gt;
  &lt;li&gt; Under Pre-Configuration &amp;gt; Click on &lt;b&gt;Validate&lt;/b&gt; debugger configuration on the Web Server&lt;/li&gt;
  &lt;li&gt; Select Local Web Server or Shared Folder &lt;/li&gt;
  &lt;li&gt; Under &quot;Path to create validation script&quot; add path to your Project&#39;s Root Directory &lt;/li&gt;
  &lt;li&gt; Under &quot;URL to validation script&quot; add your localhost URL or URL to your project home-page&lt;/li&gt;
  &lt;li&gt; Click on Validate&lt;/li&gt;
&lt;/ul&gt;

&lt;br /&gt;&lt;br /&gt;
In order to run Xdebug do following settings in your PHPStorm: 
&lt;ul&gt;
  &lt;li&gt; Navigate to PHPStorm &amp;gt; Run &amp;gt; Edit Configurations &lt;/li&gt;
  &lt;li&gt; Click on &quot;+&quot; symbol at top left of the window and select &quot;PHP Remote Debug&quot; from the drop-down list&lt;/li&gt;
  &lt;li&gt; In the right-hand pane add the name of your Xdebug profile. For example &quot;My Remote Debug&quot;&lt;/li&gt;
  &lt;li&gt; In the right-hand pane Under configuration tab select &quot;Filter debug connection by IDE Key&quot;&lt;/li&gt;
  &lt;li&gt; Click on &quot;...&quot; near Server and add your project settings (Name: Project Name, Host: Your project&#39;s localhost URL - example.local, Port: 80, Debugger: Xdebug) and click on Apply&lt;/li&gt;
  &lt;li&gt; Add &quot;PHPSTORM&quot; against IDE key(sessiod id)&lt;/li&gt;	
  &lt;li&gt; Click on Apply&lt;/li&gt;
&lt;/ul&gt;

Your Xdebug is now ready to use. Place a breakpoint in your codebase and run the host URL in your browser, it will stop at the breakpoint.


Picture Source: pexels.com
</content><link rel='replies' type='application/atom+xml' href='http://parekhreena.blogspot.com/feeds/3045504846654203845/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://parekhreena.blogspot.com/2020/11/xdebug-phpstorm-mac-how-to-configure.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2480951532154788962/posts/default/3045504846654203845'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2480951532154788962/posts/default/3045504846654203845'/><link rel='alternate' type='text/html' href='http://parekhreena.blogspot.com/2020/11/xdebug-phpstorm-mac-how-to-configure.html' title='XDebug - PHPStorm - Mac: How to configure Xdebug with PHPStorm on Mac OS and PHP 7.3'/><author><name>Reena Parekh</name><uri>http://www.blogger.com/profile/14928413621811283316</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKPbAUYyNsPQanjD6wZilQN9G5kdONJqVmZ27kMS2w6nGFSN2J3Rkz4dWjPzrj2byzEmNwJIbbhSHKqasPWFUtuQvhRzuxK_XUS2rfz7UlQuBv2oVI6Fls5nNoroW0SU4/s220/dp.png'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgWrz3NMDwGUk6kEfuVW18J0dD3TE53-Uoncf5OZA0fec_dm6EvNb1yuCCq6y014pu9IryGyRUVK_tGXlrplZJhVkpzsDFEpTCPmMpZU9WNunEuuMRmuug3e9RVveuUG6sGkRBZhTYqhrM/s72-w640-h427-c/pexels-negative-space-160107.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2480951532154788962.post-4116507821105518970</id><published>2020-10-23T12:07:00.009+01:00</published><updated>2020-10-23T12:10:13.429+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="catalina"/><category scheme="http://www.blogger.com/atom/ns#" term="homebrew"/><category scheme="http://www.blogger.com/atom/ns#" term="mac"/><category scheme="http://www.blogger.com/atom/ns#" term="mongodb"/><category scheme="http://www.blogger.com/atom/ns#" term="nosql"/><category scheme="http://www.blogger.com/atom/ns#" term="php73"/><title type='text'>MongoDB - PHP7.3: How to install MongoDB with PHP 7.3.x on a Mac Catalina 10.15.x OS with Homebrew</title><content type='html'>The usual command to install mongoDB which is as below: 
pecl install mongodb


However, this will fail on MAC Catalina OS with PHP 7.3.x with following error:
&lt;br/&gt;&lt;br/&gt;
&lt;pre&gt;
In file included from 
/usr/local/Cellar/php@7.3/7.3.23/include/php/Zend/zend.h:335:
/usr/local/Cellar/php@7.3/7.3.23/include/php/Zend/zend_operators.h:486:10: 
error: &#39;asm goto&#39; constructs are not supported yet __asm__ goto(
&lt;/pre&gt;

In order to fix this error, you will need to do below: 


&lt;code data-gist-id=&quot;1e711a8f6550ea30be1ede8a82f7e293&quot;&gt;&lt;/code&gt;&lt;br/&gt;

 

&lt;b&gt;Optional steps:&lt;/b&gt;
&lt;ul&gt;
  &lt;li&gt; In case you do not have homebrew installed you can install it with this command:   &lt;/li&gt;
&lt;pre&gt;
 $ /bin/bash -c &quot;$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)&quot; 
&lt;/pre&gt;
&lt;li&gt;
In case you still face issues with mongoDB installation then perform below and try the pecl install mongodb command again -- Download XCode 12 beta CLI tools and XCode 12 beta from &lt;a href=&quot;https://developer.apple.com/xcode/resources/&quot; target=&quot;_blank&quot;&gt;https://developer.apple.com/xcode/resources/&lt;/a&gt;
  &lt;/li&gt;
&lt;/ul&gt;</content><link rel='replies' type='application/atom+xml' href='http://parekhreena.blogspot.com/feeds/4116507821105518970/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://parekhreena.blogspot.com/2020/10/mongodb-php73-how-to-install-mongodb.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2480951532154788962/posts/default/4116507821105518970'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2480951532154788962/posts/default/4116507821105518970'/><link rel='alternate' type='text/html' href='http://parekhreena.blogspot.com/2020/10/mongodb-php73-how-to-install-mongodb.html' title='MongoDB - PHP7.3: How to install MongoDB with PHP 7.3.x on a Mac Catalina 10.15.x OS with Homebrew'/><author><name>Reena Parekh</name><uri>http://www.blogger.com/profile/14928413621811283316</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKPbAUYyNsPQanjD6wZilQN9G5kdONJqVmZ27kMS2w6nGFSN2J3Rkz4dWjPzrj2byzEmNwJIbbhSHKqasPWFUtuQvhRzuxK_XUS2rfz7UlQuBv2oVI6Fls5nNoroW0SU4/s220/dp.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2480951532154788962.post-4565160067626271939</id><published>2020-09-21T12:42:00.007+01:00</published><updated>2020-09-22T08:54:20.146+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="magento2"/><category scheme="http://www.blogger.com/atom/ns#" term="Reena Parekh"/><category scheme="http://www.blogger.com/atom/ns#" term="temando shipping"/><title type='text'>Magento 2: How to fix Temando Error logs</title><content type='html'>If you are not using Temando Shipping module which comes packaged with Out of the Box Magento in your E-commerce site then most likely you will see your var/log/system.log file being spammed with numerous errors that look like below:
&lt;br/&gt;&lt;br/&gt;
&lt;pre&gt;
 [2020-09-02 11:13:03] temando.CRITICAL: &quot;accountId&quot; is required. Enter and try again. 
 {
     &quot;exception&quot;:&quot;[object] (Magento\\Framework\\Exception InputException(code: 0): \&quot;accountId\&quot; is required. 
     Enter and try again at /vendor/magento/framework/Exception/InputException.php:91)&quot;
 } 
&lt;/pre&gt;
&lt;br/&gt;&lt;br/&gt;
This error is a Core magento bug. It may seem minor, but over a period of time if ignored, it can result in a humungous system log file size and as a result your actual logs and important messages can get lost between these errors. 
&lt;br/&gt;&lt;br/&gt;
In order to fix this error there are 2 ways: &lt;br/&gt;&lt;br/&gt;
1) Disable the Temando_Shipping module in your magento site using this command: &lt;br/&gt;
&lt;pre&gt; php bin/magento module:disable Temando_Shipping&lt;/pre&gt;&lt;br/&gt;&lt;br/&gt;
&lt;b&gt;OR&lt;/b&gt;&lt;br/&gt;&lt;br/&gt;
2) Create a data patch class to remove source_model of the attribute &lt;pre&gt;ts_packaging_id &lt;/pre&gt;
&lt;br/&gt;&lt;br/&gt;
Do clear cache and re-generate static content after implementing any one of the above ways. After doing this the error will stop spamming your log files. </content><link rel='replies' type='application/atom+xml' href='http://parekhreena.blogspot.com/feeds/4565160067626271939/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://parekhreena.blogspot.com/2020/09/magento-2-how-to-fix-temando-error-logs.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2480951532154788962/posts/default/4565160067626271939'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2480951532154788962/posts/default/4565160067626271939'/><link rel='alternate' type='text/html' href='http://parekhreena.blogspot.com/2020/09/magento-2-how-to-fix-temando-error-logs.html' title='Magento 2: How to fix Temando Error logs'/><author><name>Reena Parekh</name><uri>http://www.blogger.com/profile/14928413621811283316</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKPbAUYyNsPQanjD6wZilQN9G5kdONJqVmZ27kMS2w6nGFSN2J3Rkz4dWjPzrj2byzEmNwJIbbhSHKqasPWFUtuQvhRzuxK_XUS2rfz7UlQuBv2oVI6Fls5nNoroW0SU4/s220/dp.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2480951532154788962.post-2134398775387201396</id><published>2020-09-21T12:09:00.005+01:00</published><updated>2020-09-22T08:54:44.885+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="magento2"/><category scheme="http://www.blogger.com/atom/ns#" term="Reena Parekh"/><category scheme="http://www.blogger.com/atom/ns#" term="REST API"/><title type='text'>Magento 2: How to place order as a guest customer using Magento 2 REST API</title><content type='html'>In order to place a new order as a guest customer using REST APIs in Magento 2, please follow below steps: 
&lt;br/&gt; &lt;br/&gt;


MAGENTO 2 REST APIs: &lt;br/&gt;&lt;br/&gt;

  &lt;b&gt;CREATE GUEST CART:&lt;/b&gt;&lt;br/&gt;
&lt;code data-gist-id=&quot;044319ba431f083116d78ac5ecc09078&quot;&gt;&lt;/code&gt;&lt;br/&gt;

&lt;b&gt;NOTE:&lt;/b&gt; Quote/Cart ID here is received from Step 1 of creating guest cart.&lt;br/&gt;&lt;br/&gt;


  &lt;b&gt;ADD ITEMS TO GUEST CART:&lt;/b&gt;&lt;br/&gt;
&lt;code data-gist-id=&quot;64c3e3230ba927daf1ec872523dfba91&quot;&gt;&lt;/code&gt;&lt;br/&gt;

  &lt;b&gt;GET TOTALS OF GUEST CART:&lt;/b&gt;&lt;br/&gt;
&lt;code data-gist-id=&quot;5d7ccabfca368c70dc75476f98d1f6b7&quot;&gt;&lt;/code&gt;&lt;br/&gt;

  &lt;b&gt;ESTIMATE SHIPPING OF GUEST CART:&lt;/b&gt;&lt;br/&gt;
&lt;code data-gist-id=&quot;c2aeafc31facb954915a776dd511f67c&quot;&gt;&lt;/code&gt;&lt;br/&gt;

  &lt;b&gt;SET BILLING AND SHIPPING DETAILS OF GUEST CART:&lt;/b&gt;&lt;br/&gt;
&lt;code data-gist-id=&quot;bcd3b382bcc7dc383f73e19dca3489f8&quot;&gt;&lt;/code&gt;&lt;br/&gt;

  &lt;b&gt;PLACE ORDER FROM GUEST CART:&lt;/b&gt;&lt;br/&gt;
&lt;code data-gist-id=&quot;2adc190de6088d8482320d0760238f18&quot;&gt;&lt;/code&gt;&lt;br/&gt;




</content><link rel='replies' type='application/atom+xml' href='http://parekhreena.blogspot.com/feeds/2134398775387201396/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://parekhreena.blogspot.com/2020/09/magento-2-how-to-place-order-as-guest.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2480951532154788962/posts/default/2134398775387201396'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2480951532154788962/posts/default/2134398775387201396'/><link rel='alternate' type='text/html' href='http://parekhreena.blogspot.com/2020/09/magento-2-how-to-place-order-as-guest.html' title='Magento 2: How to place order as a guest customer using Magento 2 REST API'/><author><name>Reena Parekh</name><uri>http://www.blogger.com/profile/14928413621811283316</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKPbAUYyNsPQanjD6wZilQN9G5kdONJqVmZ27kMS2w6nGFSN2J3Rkz4dWjPzrj2byzEmNwJIbbhSHKqasPWFUtuQvhRzuxK_XUS2rfz7UlQuBv2oVI6Fls5nNoroW0SU4/s220/dp.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2480951532154788962.post-2267594006648803303</id><published>2020-08-25T12:53:00.010+01:00</published><updated>2020-09-22T08:54:56.908+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="API"/><category scheme="http://www.blogger.com/atom/ns#" term="magento"/><category scheme="http://www.blogger.com/atom/ns#" term="magento2"/><category scheme="http://www.blogger.com/atom/ns#" term="Reena Parekh"/><category scheme="http://www.blogger.com/atom/ns#" term="REST API"/><title type='text'>Magento 2: How to login as Customer and place new order via REST APIs</title><content type='html'>In order to place a new order as a logged in customer using REST APIs in Magento 2, please follow below steps: 
&lt;br/&gt; &lt;br/&gt;

You can Download the Postman Tool from here: &lt;a href=&quot;https://www.postman.com/&quot; target=&quot;_blank&quot;&gt;www.postman.com&lt;/a&gt;
&lt;br/&gt;
Now, Open Post man and create below Requests: 

MAGENTO 2 REST APIs: &lt;br/&gt;&lt;br/&gt;

  &lt;b&gt;CUSTOMER LOGIN:&lt;/b&gt;&lt;br/&gt;
&lt;code data-gist-id=&quot;6873d67b357104269492ee85d4d2bbc3&quot;&gt;&lt;/code&gt;&lt;br/&gt;

  &lt;b&gt;CREATING CUSTOMER QUOTE:&lt;/b&gt;&lt;br/&gt;
  &lt;code data-gist-id=&quot;ade6c8045ea591541e4d2360b7685b94&quot;&gt;&lt;/code&gt;&lt;br/&gt;  
  
  &lt;b&gt;ADD ITEMS TO CART&lt;/b&gt;&lt;br/&gt;
  &lt;code data-gist-id=&quot;82fb6583e01d63109ba17240f0da6239&quot;&gt;&lt;/code&gt;&lt;br/&gt;  
    
  &lt;b&gt;COLLECT CART TOTALS&lt;/b&gt;&lt;br/&gt;
  &lt;code data-gist-id=&quot;99262ecde0e69158039fe288d5f17b63&quot;&gt;&lt;/code&gt;&lt;br/&gt;  
    
  &lt;b&gt;GET AVAILABLE SHIPPING METHODS &amp; ESTIMATING SHIPPING CHARGES&lt;/b&gt;&lt;br/&gt;
  &lt;code data-gist-id=&quot;a0cd205fc20ee84cb75cf068e06ddfc6&quot;&gt;&lt;/code&gt;&lt;br/&gt;  
    
  &lt;b&gt;SET BILLING AND SHIPPING ADDRESS OF ORDER&lt;/b&gt;&lt;br/&gt;
  &lt;code data-gist-id=&quot;8707df53458e02d11bea135e69310b2b&quot;&gt;&lt;/code&gt;&lt;br/&gt;    
       
    
  &lt;b&gt;PLACE ORDER&lt;/b&gt;&lt;br/&gt;
  &lt;code data-gist-id=&quot;0e37019e3dec7b3d0de49d24da01dea5&quot;&gt;&lt;/code&gt;&lt;br/&gt;        
    
    
  Now check your admin panel and there will be a new COD order placed.
    &lt;br/&gt;&lt;br/&gt;
</content><link rel='replies' type='application/atom+xml' href='http://parekhreena.blogspot.com/feeds/2267594006648803303/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://parekhreena.blogspot.com/2020/08/magento-2-how-to-login-as-customer-and.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2480951532154788962/posts/default/2267594006648803303'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2480951532154788962/posts/default/2267594006648803303'/><link rel='alternate' type='text/html' href='http://parekhreena.blogspot.com/2020/08/magento-2-how-to-login-as-customer-and.html' title='Magento 2: How to login as Customer and place new order via REST APIs'/><author><name>Reena Parekh</name><uri>http://www.blogger.com/profile/14928413621811283316</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKPbAUYyNsPQanjD6wZilQN9G5kdONJqVmZ27kMS2w6nGFSN2J3Rkz4dWjPzrj2byzEmNwJIbbhSHKqasPWFUtuQvhRzuxK_XUS2rfz7UlQuBv2oVI6Fls5nNoroW0SU4/s220/dp.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2480951532154788962.post-8339758883528430551</id><published>2020-08-25T11:52:00.006+01:00</published><updated>2020-09-22T08:55:12.472+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="indexer"/><category scheme="http://www.blogger.com/atom/ns#" term="magento"/><category scheme="http://www.blogger.com/atom/ns#" term="magento2"/><category scheme="http://www.blogger.com/atom/ns#" term="Reena Parekh"/><title type='text'>Magento 2: How to create new indexer for your custom module</title><content type='html'>For this tutorial we will consider an example of a custom module called Vendor_ModuleName. Create below files to generate a new VSBridge indexer and Elastic Index for your own module: 
&lt;br/&gt;&lt;br/&gt;
&lt;b&gt;Vendor_ModuleName\etc\indexer.xml&lt;/b&gt;&lt;br /&gt;
&lt;code data-gist-id=&quot;7c4190c8afd4067b0571301064013e9c&quot;&gt;&lt;/code&gt;&lt;br /&gt;

&lt;b&gt;Vendor_ModuleName\etc\mview.xml&lt;/b&gt;&lt;br /&gt;
&lt;code data-gist-id=&quot;5ea6e3c6481b85d0a0b35c2a9f67b93e&quot;&gt;&lt;/code&gt;&lt;br /&gt;

&lt;b&gt;Vendor\ModuleName\Model\Indexer\CustomIndexer.php&lt;/b&gt;&lt;br /&gt;
&lt;code data-gist-id=&quot;75cff614f3026ea66d8d493d2785d635&quot;&gt;&lt;/code&gt;&lt;br /&gt;


Now, open console and run below command: 
&lt;code data-gist-id=&quot;a8f0d9ba1484c0904ed27da0489f7399&quot;&gt;&lt;/code&gt;&lt;br /&gt;

You will now see following: 
&lt;ul&gt; 
  &lt;li&gt; A new indexer job for your module in Magento admin panel &gt; System &gt; Tools &gt; Index Management&lt;/li&gt;
  &lt;li&gt; A new index in elastic &lt;/li&gt;
  &lt;li&gt; You can refresh your indexer with &lt;pre&gt;php bin/magento indexer:reindex my_custom_indexer&lt;/pre&gt;&lt;/li&gt;
&lt;/ul&gt;
</content><link rel='replies' type='application/atom+xml' href='http://parekhreena.blogspot.com/feeds/8339758883528430551/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://parekhreena.blogspot.com/2020/08/magento-2-how-to-create-new-indexer-for.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2480951532154788962/posts/default/8339758883528430551'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2480951532154788962/posts/default/8339758883528430551'/><link rel='alternate' type='text/html' href='http://parekhreena.blogspot.com/2020/08/magento-2-how-to-create-new-indexer-for.html' title='Magento 2: How to create new indexer for your custom module'/><author><name>Reena Parekh</name><uri>http://www.blogger.com/profile/14928413621811283316</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKPbAUYyNsPQanjD6wZilQN9G5kdONJqVmZ27kMS2w6nGFSN2J3Rkz4dWjPzrj2byzEmNwJIbbhSHKqasPWFUtuQvhRzuxK_XUS2rfz7UlQuBv2oVI6Fls5nNoroW0SU4/s220/dp.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2480951532154788962.post-8557338155708906835</id><published>2020-08-25T11:31:00.005+01:00</published><updated>2021-08-09T08:35:48.965+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ElasticSearch"/><category scheme="http://www.blogger.com/atom/ns#" term="indexer"/><category scheme="http://www.blogger.com/atom/ns#" term="integration"/><category scheme="http://www.blogger.com/atom/ns#" term="magento"/><category scheme="http://www.blogger.com/atom/ns#" term="magento2"/><category scheme="http://www.blogger.com/atom/ns#" term="PWA"/><category scheme="http://www.blogger.com/atom/ns#" term="VSF"/><category scheme="http://www.blogger.com/atom/ns#" term="vue storefront"/><category scheme="http://www.blogger.com/atom/ns#" term="vuejs"/><title type='text'>Magento 2 - Vue Storefront PWA Integration: How to create a new VSBridge indexer job and Elastic Index for your custom module</title><content type='html'>For this tutorial we will consider an example of a custom module called Vendor_ModuleName . You need to have the module &lt;b&gt;divante/magento2-vsbridge-indexer&lt;/b&gt; installed and configured in your project, in order for it to work with your Vue StoreFront PWA website. You can do this with below command: 

&lt;code data-gist-id=&quot;2208be0509c02e4425a33bb2e0f23561&quot;&gt;&lt;/code&gt;&lt;br /&gt;

Once you have the module installed and configured correctly, create below files to generate a new VSBridge indexer and Elastic Index for your own module: 

&lt;b&gt;Vendor_ModuleName\etc\indexer.xml&lt;/b&gt;&lt;br /&gt;
&lt;code data-gist-id=&quot;70d4bca03da2f5f3bc3b8914ad02e068&quot;&gt;&lt;/code&gt;&lt;br /&gt;

&lt;b&gt;Vendor_ModuleName\etc\mview.xml&lt;/b&gt;&lt;br /&gt;
&lt;code data-gist-id=&quot;125a01c66df3775c531eb1289e9d7d34&quot;&gt;&lt;/code&gt;&lt;br /&gt;

&lt;b&gt;Vendor_ModuleName\etc\vsbridge_indices.xml&lt;/b&gt;&lt;br /&gt;
&lt;code data-gist-id=&quot;0d49a497ab5c363085221c40852be2c6&quot;&gt;&lt;/code&gt;&lt;br /&gt;

&lt;b&gt;Vendor\ModuleName\Model\Indexer\CustomIndexer.php&lt;/b&gt;&lt;br /&gt;
&lt;code data-gist-id=&quot;45d9636b000543fea86ef33f5a324cc4&quot;&gt;&lt;/code&gt;&lt;br /&gt;

&lt;b&gt;Vendor\ModuleName\Model\Indexer\Mapping\CustomIndexer.php&lt;/b&gt;&lt;br /&gt;
&lt;code data-gist-id=&quot;10b44c1d3faff6be70f271bee064136b&quot;&gt;&lt;/code&gt;&lt;br /&gt;

&lt;b&gt;Vendor\ModuleName\etc\di.xml&lt;/b&gt;&lt;br /&gt;
&lt;code data-gist-id=&quot;d3dc4d2fc2b2c96df8d7ccdd252fa043&quot;&gt;&lt;/code&gt;&lt;br /&gt;

Now, open console and run below command: 
&lt;code data-gist-id=&quot;a8f0d9ba1484c0904ed27da0489f7399&quot;&gt;&lt;/code&gt;&lt;br /&gt;

You will now see following: 
&lt;ul&gt; 
  &lt;li&gt; A new indexer job for your module in Magento admin panel &gt; System &gt; Tools &gt; Index Management&lt;/li&gt;
  &lt;li&gt; A new index in elastic &lt;/li&gt;
  &lt;li&gt; You can refresh your indexer with &lt;pre&gt;php bin/magento indexer:reindex vsbridge_my_custom_indexer&lt;/pre&gt;&lt;/li&gt;
&lt;/ul&gt;
</content><link rel='replies' type='application/atom+xml' href='http://parekhreena.blogspot.com/feeds/8557338155708906835/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://parekhreena.blogspot.com/2020/08/magento-2-vue-storefront-pwa-how-to.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2480951532154788962/posts/default/8557338155708906835'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2480951532154788962/posts/default/8557338155708906835'/><link rel='alternate' type='text/html' href='http://parekhreena.blogspot.com/2020/08/magento-2-vue-storefront-pwa-how-to.html' title='Magento 2 - Vue Storefront PWA Integration: How to create a new VSBridge indexer job and Elastic Index for your custom module'/><author><name>Reena Parekh</name><uri>http://www.blogger.com/profile/14928413621811283316</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKPbAUYyNsPQanjD6wZilQN9G5kdONJqVmZ27kMS2w6nGFSN2J3Rkz4dWjPzrj2byzEmNwJIbbhSHKqasPWFUtuQvhRzuxK_XUS2rfz7UlQuBv2oVI6Fls5nNoroW0SU4/s220/dp.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2480951532154788962.post-1623745176492558839</id><published>2020-08-20T14:25:00.008+01:00</published><updated>2020-08-20T18:09:46.575+01:00</updated><title type='text'>Magento 2: How to create new import entity</title><content type='html'>
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;If you want to add a custom import feature in your Magento 2 site, you can do this by following steps. This will add a new entity in ADMIN PANEL &gt; SYSTEM &gt; DATA TRANSFER &gt; IMPORT&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Vendor\Module\etc\import.xml&lt;/b&gt; &lt;br /&gt;
&lt;code data-gist-id=&quot;4bc7659e192b87bdba440e0d7561e4d1&quot;&gt;&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Vendor\Module\Model\Import.php&lt;/b&gt; &lt;br /&gt;
&lt;code data-gist-id=&quot;69ed0e0717da7fb4f2d2b2d2a4c9650e&quot;&gt;&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Vendor\Module\Files\Sample\mycustomimport.csv&lt;/b&gt;&lt;br /&gt;
&lt;code data-gist-id=&quot;046f29e838cbffda2038fa60278da533&quot;&gt;&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
Now, Open your console and run below command:&lt;br /&gt;
&lt;code data-gist-id=&quot;a8f0d9ba1484c0904ed27da0489f7399&quot;&gt;&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
Navigate to ADMIN PANEL &gt; SYSTEM &gt; DATA TRANSFER &gt; IMPORT &gt;  IMPORT SETTINGS &gt; Click on the dropdown &gt;. Your custom import entity will appear here. &lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://parekhreena.blogspot.com/feeds/1623745176492558839/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://parekhreena.blogspot.com/2020/08/magento-2-how-to-create-new-import.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2480951532154788962/posts/default/1623745176492558839'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2480951532154788962/posts/default/1623745176492558839'/><link rel='alternate' type='text/html' href='http://parekhreena.blogspot.com/2020/08/magento-2-how-to-create-new-import.html' title='Magento 2: How to create new import entity'/><author><name>Reena Parekh</name><uri>http://www.blogger.com/profile/14928413621811283316</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKPbAUYyNsPQanjD6wZilQN9G5kdONJqVmZ27kMS2w6nGFSN2J3Rkz4dWjPzrj2byzEmNwJIbbhSHKqasPWFUtuQvhRzuxK_XUS2rfz7UlQuBv2oVI6Fls5nNoroW0SU4/s220/dp.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2480951532154788962.post-3703100948660199626</id><published>2020-08-17T20:17:00.002+01:00</published><updated>2020-08-17T20:19:06.007+01:00</updated><title type='text'>Magento 2: How to automatically generate Postman Schema for Default Magento 2 APIs</title><content type='html'>In order to automatically generate the Postman Schema for all of the Default Magento 2 APIs, follow below steps: &lt;br /&gt;
&lt;br /&gt;
Open your console, and trigger following CURL requests. &lt;br /&gt;
&lt;br /&gt;
&lt;code data-gist-id=&quot;13e85aa4ea2fadfd3655548b78e8beb9&quot;&gt;&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
This will generate a JSON file in your root directory. Now, Open Postman app &gt; File &gt; Import &gt; Select the JSON file generated above and Voila, you now have the Schema of all Magento 2 APIs. </content><link rel='replies' type='application/atom+xml' href='http://parekhreena.blogspot.com/feeds/3703100948660199626/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://parekhreena.blogspot.com/2020/08/magento-2-how-to-automatically-generate.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2480951532154788962/posts/default/3703100948660199626'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2480951532154788962/posts/default/3703100948660199626'/><link rel='alternate' type='text/html' href='http://parekhreena.blogspot.com/2020/08/magento-2-how-to-automatically-generate.html' title='Magento 2: How to automatically generate Postman Schema for Default Magento 2 APIs'/><author><name>Reena Parekh</name><uri>http://www.blogger.com/profile/14928413621811283316</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKPbAUYyNsPQanjD6wZilQN9G5kdONJqVmZ27kMS2w6nGFSN2J3Rkz4dWjPzrj2byzEmNwJIbbhSHKqasPWFUtuQvhRzuxK_XUS2rfz7UlQuBv2oVI6Fls5nNoroW0SU4/s220/dp.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2480951532154788962.post-2944901129336461292</id><published>2020-08-17T18:57:00.002+01:00</published><updated>2020-08-17T18:57:42.402+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="addtocart"/><category scheme="http://www.blogger.com/atom/ns#" term="magento2"/><category scheme="http://www.blogger.com/atom/ns#" term="product"/><title type='text'>Magento2: How to stop a product from getting added to cart programmatically?</title><content type='html'>If youn want to stop a product from getting addded to cart programmatically, add below files to your module:&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Vendor_Module\etc\di.xml&lt;/b&gt;&lt;br /&gt;
&lt;code data-gist-id=&quot;9937a4948ee2017eb57c6d2464fabbc6&quot;&gt;&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Vendor_Module\Model\Checkout\Cart\AddProduct.php&lt;/b&gt;&lt;br /&gt;
&lt;code data-gist-id=&quot;8f1ffc6394dca514137f4f62ece5c32e&quot;&gt;&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
</content><link rel='replies' type='application/atom+xml' href='http://parekhreena.blogspot.com/feeds/2944901129336461292/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://parekhreena.blogspot.com/2020/08/magento2-how-to-stop-product-from.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2480951532154788962/posts/default/2944901129336461292'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2480951532154788962/posts/default/2944901129336461292'/><link rel='alternate' type='text/html' href='http://parekhreena.blogspot.com/2020/08/magento2-how-to-stop-product-from.html' title='Magento2: How to stop a product from getting added to cart programmatically?'/><author><name>Reena Parekh</name><uri>http://www.blogger.com/profile/14928413621811283316</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKPbAUYyNsPQanjD6wZilQN9G5kdONJqVmZ27kMS2w6nGFSN2J3Rkz4dWjPzrj2byzEmNwJIbbhSHKqasPWFUtuQvhRzuxK_XUS2rfz7UlQuBv2oVI6Fls5nNoroW0SU4/s220/dp.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2480951532154788962.post-3002948177863699098</id><published>2020-08-17T18:14:00.001+01:00</published><updated>2020-08-17T18:47:41.606+01:00</updated><title type='text'>Magento2: How to add new grid in Category Listing Page</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;Here is a tutorial on how to add new Grid in Category Listing Page. For this example we will assume we want to add a grid same as Product Category Positions for Category Brands. It should look something like below:&lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;&lt;br /&gt;
Assume that you have a custom module called Namespace_Module. You will create following files in your module:&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Namespace_Module\view\adminhtml\ui_component\category_form.xml&lt;/b&gt; &lt;br /&gt;
&lt;code data-gist-id=&quot;933d139741a20bdb6fe54792522f4ee9&quot;&gt;&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Namespace_Module\Block\Adminhtml\Category\MyCustomGrid.php&lt;/b&gt; &lt;br /&gt;
&lt;code data-gist-id=&quot;96db52efbdc477a7be1c8df7be35b398&quot;&gt;&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Namespace_Module\view\adminhtml\templates\catalog\category\edit\assign.phtml&lt;/b&gt;&lt;br /&gt;
&lt;code data-gist-id=&quot;4d5857ecd6578f20da1d4df34018973f&quot;&gt;&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Namespace_Module\view\adminhtml\web\catalog\category\edit\assign.js&lt;/b&gt;&lt;br /&gt;
&lt;code data-gist-id=&quot;4e8ab4c4ee5ec6c592800d79fda17c5f&quot;&gt;&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Namespace_Module\Controller\Adminhtml\Category\Assign.php&lt;/b&gt;&lt;br /&gt;
&lt;code data-gist-id=&quot;9bc32084b3bcebd791027e9c105b0fab&quot;&gt;&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt; Namespace_Module\Block\Adminhtml\Category\Tab\MyCustomGrid.php&lt;/b&gt;&lt;br /&gt;
&lt;code data-gist-id=&quot;2c7f6c00517299dad7591eef1a64b0f4&quot;&gt;&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For saving, updating and deleting the positions you need to create plugin on category save which takes the posted json, compares with original json and performs the required operation. </content><link rel='replies' type='application/atom+xml' href='http://parekhreena.blogspot.com/feeds/3002948177863699098/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://parekhreena.blogspot.com/2020/08/magento2-how-to-add-new-grid-in.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2480951532154788962/posts/default/3002948177863699098'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2480951532154788962/posts/default/3002948177863699098'/><link rel='alternate' type='text/html' href='http://parekhreena.blogspot.com/2020/08/magento2-how-to-add-new-grid-in.html' title='Magento2: How to add new grid in Category Listing Page'/><author><name>Reena Parekh</name><uri>http://www.blogger.com/profile/14928413621811283316</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKPbAUYyNsPQanjD6wZilQN9G5kdONJqVmZ27kMS2w6nGFSN2J3Rkz4dWjPzrj2byzEmNwJIbbhSHKqasPWFUtuQvhRzuxK_XUS2rfz7UlQuBv2oVI6Fls5nNoroW0SU4/s220/dp.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2480951532154788962.post-6367757699100361347</id><published>2020-08-17T17:56:00.002+01:00</published><updated>2020-09-16T13:05:54.301+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="composer"/><category scheme="http://www.blogger.com/atom/ns#" term="magento2"/><category scheme="http://www.blogger.com/atom/ns#" term="patches"/><title type='text'>Magento 2: How to create your own Patch File and apply it through composer</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;Magento releases new patches for it&#39;s framework from time to time. Here is a tutorial of how to create your own patch file in Magento. &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;
Although I personally am not a huge fan of patches, due to various drawbacks, there are desperate times when you need to apply a patch. I would suggest to use this approach as less as possible and instead opt going the standard magento way of versioned modules that store your changes. &lt;br /&gt;
&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
But, In case there are times when you are forced to create a patch, or just for self-knowledge on how it&#39;s done, you can follow below tutorial. &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;STEP 1:&lt;/b&gt;&lt;br /&gt;
In your magento root directory create a folder called &quot;patches&quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt; STEP 2: &lt;/b&gt;&lt;br /&gt;
Create a sub-directory with the name Namespace_Module for the module which you want to create a patch for. So the path will look like this: &amp;lt;&lt;magento root=&quot;&quot;&gt;&amp;gt;\patches\Namespace_Module &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt; STEP 3: &lt;/b&gt;&lt;br /&gt;
Add your patch file in the directory you created in Step 2 of this tutorial. &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;HOW TO CREATE A PATCH FILE:&lt;/b&gt;&lt;br /&gt;
&lt;/magento&gt;&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Create a backup of the original file which you want to patch. &lt;/li&gt;
&lt;li&gt;Now make your desired changes in the file. &lt;/li&gt;
&lt;li&gt;Open console and run the following command: &lt;br /&gt;
&lt;br /&gt;
&lt;code data-gist-id=&quot;40f713f80c27fa04214c3681aa844a6a&quot;&gt;&lt;/code&gt;&lt;br /&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;br /&gt;
&lt;b&gt; STEP 4: &lt;/b&gt;&lt;br /&gt;
Open your Project&#39;s composer.json and add the following: &lt;br /&gt;
&lt;br /&gt;
&lt;code data-gist-id=&quot;6f02db50766a05fb949af6e6935fffc7&quot;&gt;&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
The next time do you run composer install or composer update; your patches will get applied. Alternatively you can also run &lt;b&gt;composer patch:apply -vvv&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;NOTES:&lt;/b&gt;&lt;br /&gt;
Patch files are extremely sensitive to paths and line numbers. So, if your patch is not applying correctly, then cross-check these 2 things in your patch file. &lt;br /&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://parekhreena.blogspot.com/feeds/6367757699100361347/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://parekhreena.blogspot.com/2020/08/magento-2-how-to-create-your-own-patch.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2480951532154788962/posts/default/6367757699100361347'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2480951532154788962/posts/default/6367757699100361347'/><link rel='alternate' type='text/html' href='http://parekhreena.blogspot.com/2020/08/magento-2-how-to-create-your-own-patch.html' title='Magento 2: How to create your own Patch File and apply it through composer'/><author><name>Reena Parekh</name><uri>http://www.blogger.com/profile/14928413621811283316</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKPbAUYyNsPQanjD6wZilQN9G5kdONJqVmZ27kMS2w6nGFSN2J3Rkz4dWjPzrj2byzEmNwJIbbhSHKqasPWFUtuQvhRzuxK_XUS2rfz7UlQuBv2oVI6Fls5nNoroW0SU4/s220/dp.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2480951532154788962.post-2567959086756678956</id><published>2020-08-17T17:25:00.000+01:00</published><updated>2020-08-17T17:29:52.982+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="admin panel"/><category scheme="http://www.blogger.com/atom/ns#" term="button"/><category scheme="http://www.blogger.com/atom/ns#" term="magento"/><category scheme="http://www.blogger.com/atom/ns#" term="magento2"/><title type='text'>Magento 2: Add new button on Category Edit Page in Admin Panel</title><content type='html'>For this example we will assume you have a custom module. Let&#39;s call it Namespace_Module. &lt;br /&gt;
&lt;br /&gt;
Now, create files as below: &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Namespace_Module\view\adminhtml\ui_component\category_form.xml&lt;/b&gt;&lt;br /&gt;
&lt;code data-gist-id=&quot;78c28478bf46c39304cbfe1dffb8ad61&quot;&gt;&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Namespace_Module\Block\Adminhtml\Category\Edit\Button\AssignButton.php&lt;/b&gt;&lt;br /&gt;
&lt;code data-gist-id=&quot;1d79e62854d6d9b13019aa3beb9870d4&quot;&gt;&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt; Namespace_Module\Controller\Adminhtml\Category\Assign.php&lt;/b&gt;&lt;br /&gt;
&lt;code data-gist-id=&quot;786aa5bb9803c4675a7ce589a8818b09&quot;&gt;&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
Voila !! That&#39;s it. Now, clear all caches and check the category page in admin panel. There will be a new button called &quot;Assign&quot;.&lt;br /&gt;
</content><link rel='replies' type='application/atom+xml' href='http://parekhreena.blogspot.com/feeds/2567959086756678956/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://parekhreena.blogspot.com/2020/08/magento-2-add-new-button-on-category.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2480951532154788962/posts/default/2567959086756678956'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2480951532154788962/posts/default/2567959086756678956'/><link rel='alternate' type='text/html' href='http://parekhreena.blogspot.com/2020/08/magento-2-add-new-button-on-category.html' title='Magento 2: Add new button on Category Edit Page in Admin Panel'/><author><name>Reena Parekh</name><uri>http://www.blogger.com/profile/14928413621811283316</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKPbAUYyNsPQanjD6wZilQN9G5kdONJqVmZ27kMS2w6nGFSN2J3Rkz4dWjPzrj2byzEmNwJIbbhSHKqasPWFUtuQvhRzuxK_XUS2rfz7UlQuBv2oVI6Fls5nNoroW0SU4/s220/dp.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2480951532154788962.post-7573084260543092739</id><published>2020-08-14T12:44:00.005+01:00</published><updated>2020-08-14T12:50:53.264+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="SEO"/><category scheme="http://www.blogger.com/atom/ns#" term="social media"/><category scheme="http://www.blogger.com/atom/ns#" term="startup"/><title type='text'>5 Things IT Start-ups SHOULD do</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
  There are a lot of blog-posts all over the internet with the list of points
  which startups should not do. However, from my experience of working as an
  advisor to so many startups, i can figure out that, what they actually need is
  a list of &quot;TO-DOs&quot;. Because most of the time, believe me, start-ups have
  absolutely no idea as to what to do and where to start from. If you too are facing the same dilemm, you are in the right place. I am here to help you get started.&lt;br /&gt;
  &lt;br /&gt;
  Sometimes, not having the correct tools, or missing the basics can prove to be a very expensive mistake. 
  It could be in the form of potential clients rejecting the quotations and good candidates
  rejecting your job-offers. &lt;br /&gt;
  &lt;br /&gt;
  &lt;br /&gt;
  Following 5 points will not only help you get the correct personnel but also a good
  client-base to start with.&lt;br /&gt;
  &lt;br /&gt;
  &lt;ol style=&quot;text-align: left;&quot;&gt;
    &lt;li&gt;&lt;b&gt;RESEARCH:&lt;/b&gt;&lt;br /&gt;
    	&lt;ul&gt;
          &lt;li&gt;
              Research your competitors in the same domain. It&#39;s hard to be impartial, but try to look at their work from an impartial perspective, interview their client base if you can. Try to make a list of What are they doing good, what are they not doing good ? Once you are equipped with this information, implement their positive points in your own company, and strategize on how to make your competitor weaknesses your strengths. &lt;br /&gt;&lt;br /&gt;
          &lt;/li&gt;
          &lt;li&gt;
              Show your potential clients how your services are superior without actually showing your competitor as an inferior. Take the higher road, a lot of people speak negatively about their competitors. But if you focus on your own strengths, you will leave a lasting impression behind. The main advantage a startup would have over an established competitor is that you can provide undivided attention to your client and can focus on quality of the service provided. Oftentimes, customer grievances go un-resolved in established companies due to various reasons like bureaucracy, negligence, or procrastinating promises. A startup can use this to their advantage and work on providing real customer satisfaction. 
          &lt;/li&gt;
    	&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;
    &lt;/li&gt;
    &lt;li&gt;&lt;b&gt;GET A WEBSITE:&lt;/b&gt;
      &lt;ul&gt;
        &lt;li&gt;
          It is no less than a Taboo, that a company does not have a website
          or have a website which doesn&#39;t have a footprint on the internet. &lt;br /&gt;&lt;br /&gt;
        &lt;/li&gt;
        &lt;li&gt;
          By a website, i mean a good-looking website. Not just 2-3 simple html
          pages on your domain. Your website should and MUST make a Statement.
          Here&#39;s how:&lt;br /&gt;&lt;br /&gt;
        &lt;/li&gt;
        &lt;li&gt;
          &amp;nbsp;Purchase a domain. Free domains are usually sub-domains. They do
          nothing but portray that you cannot afford to have your own website. Don&#39;t get me wrong, free domains are great and I use one myself, but they are good for an individual use, if you are building your company&#39;s Brand then it is recommended to have your own domain. &lt;br /&gt;&lt;br /&gt;
        &lt;/li&gt;
        &lt;li&gt;
          Do not use watermarked images. I have often seen startups using
          iStockPhoto or similar websites photos where the logo is clearly
          watermarked on them. Either purchase the images or take images from
          sites which allow free usage and donot have watermarks on them. Be sure
          to read all the copyright and privacy policies thoroughly, to avoid any
          violation or infringement.&lt;br /&gt;&lt;br /&gt;
        &lt;/li&gt;
        &lt;li&gt;
          Avoid publishing your website with lorem ipsum content pages. This will
          do nothing but harm your SEO.&lt;br /&gt;&lt;br /&gt;
        &lt;/li&gt;
        &lt;li&gt;
          To get higher ranks on Search Engines Hire an SEO. (You can also Hire me
          for Best results)&lt;br /&gt;&lt;br /&gt;
        &lt;/li&gt;
      &lt;/ul&gt;
      &lt;br /&gt;&lt;br /&gt;
    &lt;/li&gt;
    &lt;li&gt;
      &lt;b&gt;PARTICIPATE:&lt;/b&gt;
      &lt;ul&gt;
        &lt;li&gt;Participate in any forums, meetups, online groups that are relevant to your domain. This will not only put you in touch with potential clients but also can put you in touch with industry influencers and potential investors. Connect with people, form contacts, make your startup known.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
      &lt;/ul&gt;
      &lt;br /&gt;&lt;br /&gt;
    &lt;/li&gt;
    &lt;li&gt;
      &lt;b&gt;SEO &amp;amp; MARKETING:&lt;/b&gt;
      &lt;ul&gt;
        &lt;li&gt;Marketing is crucial in today&#39;s day and age regardless of the age of your business. SEO is even more crucial because the world is slowly moving online. Many brick and mortar business paid heavily during the global pandemic because they never invested in an online presence. &lt;br /&gt;&lt;br /&gt; &lt;/li&gt;
        &lt;li&gt;Offline Marketing of your business is necessary - You can either opt for a word of mouth publicity, paid publicity, sponsoring meetups, etc. &lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
        &lt;li&gt;Online Marketing will help put your business on the global map, target the right audience and track your Return on Investment. You can do this in by hiring SEO Services, running Google and Social Media Ad Campaigns, Submitting sites to various Online Directories, etc. You can Contact me for hiring my services. &lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
      &lt;/ul&gt;
    &lt;/li&gt;
    &lt;li&gt;
      &lt;b&gt;SOCIAL MEDIA PRESENCE:&lt;/b&gt;
      &lt;ul&gt;
        &lt;li&gt;Having a presence on social media will help you build an image for your brand. When customers see your company on social media, active and posting on the social media page, it helps build a sense of trust. When a company responds to customer queries on social media and posting original content, it helps build a positive image of the company in customer&#39;s mind. &lt;br /&gt;&lt;br /&gt; &lt;/li&gt;
        &lt;li&gt;Social media presence is very important to build a powerful brand, establish customer loyalty and satisfaction, and open a seamless channel of communication with your customers. &lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
      &lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;
    &lt;/li&gt;
  &lt;/ol&gt;
  &lt;br /&gt;
  To &lt;b&gt;HIRE my services&lt;/b&gt; for any of the above, you can reach out to me through my website &lt;a href=&quot;http://parekhreena.mystrikingly.com/#contact-form&quot; target=&quot;_blank&quot;&gt;http://parekhreena.mystrikingly.com/#contact-form&lt;/a&gt;
  &lt;br /&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://parekhreena.blogspot.com/feeds/7573084260543092739/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://parekhreena.blogspot.com/2018/07/5-things-it-start-ups-should-do.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2480951532154788962/posts/default/7573084260543092739'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2480951532154788962/posts/default/7573084260543092739'/><link rel='alternate' type='text/html' href='http://parekhreena.blogspot.com/2018/07/5-things-it-start-ups-should-do.html' title='5 Things IT Start-ups SHOULD do'/><author><name>Reena Parekh</name><uri>http://www.blogger.com/profile/14928413621811283316</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKPbAUYyNsPQanjD6wZilQN9G5kdONJqVmZ27kMS2w6nGFSN2J3Rkz4dWjPzrj2byzEmNwJIbbhSHKqasPWFUtuQvhRzuxK_XUS2rfz7UlQuBv2oVI6Fls5nNoroW0SU4/s220/dp.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2480951532154788962.post-1112133885110413306</id><published>2020-08-14T12:00:00.007+01:00</published><updated>2020-08-14T12:07:52.690+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="discount"/><category scheme="http://www.blogger.com/atom/ns#" term="magento"/><category scheme="http://www.blogger.com/atom/ns#" term="magento2"/><title type='text'>Magento 2: How to add custom discount in cart programmatically?</title><content type='html'>Refer to how Magento2 applies sales-rule discounts. I applied similar approach to apply custom discount, by creating following files in my module:
&lt;br /&gt;&lt;br /&gt;

&lt;b&gt;Namespace_Module\etc\sales.xml&lt;/b&gt;
&lt;br /&gt;
&lt;code data-gist-id=&quot;e6f9a2fc20f4710b5d6059823d23e256&quot;&gt;&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;

&lt;b&gt;Namespace_Module\Model\Quote\Discount.php&lt;/b&gt;
&lt;br /&gt;

&lt;br /&gt;
&lt;code data-gist-id=&quot;c64c2bafe9c2430d171070298f0d06b1&quot;&gt;&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;

&lt;b&gt;Namespace_Module\view\frontend\layout\checkout_cart_index.xml&lt;/b&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;code data-gist-id=&quot;48b675022734599a0a2916dd3dc889bd&quot;&gt;&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;

&lt;b&gt;Namespace_Module\view\frontend\layout\checkout_index_index.xml&lt;/b&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;code data-gist-id=&quot;d760a3da457ffc7753ff09049fd83e82&quot;&gt;&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;


If Fetch is not showing the custom discount description, it was a core magento bug, see this ticket for patch details: &lt;a href=&quot;https://github.com/magento/magento2/issues/3594&quot; target=&quot;_blank&quot;&gt;https://github.com/magento/magento2/issues/3594&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://parekhreena.blogspot.com/feeds/1112133885110413306/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://parekhreena.blogspot.com/2020/08/magento-2-how-to-add-custom-discount-in.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2480951532154788962/posts/default/1112133885110413306'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2480951532154788962/posts/default/1112133885110413306'/><link rel='alternate' type='text/html' href='http://parekhreena.blogspot.com/2020/08/magento-2-how-to-add-custom-discount-in.html' title='Magento 2: How to add custom discount in cart programmatically?'/><author><name>Reena Parekh</name><uri>http://www.blogger.com/profile/14928413621811283316</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKPbAUYyNsPQanjD6wZilQN9G5kdONJqVmZ27kMS2w6nGFSN2J3Rkz4dWjPzrj2byzEmNwJIbbhSHKqasPWFUtuQvhRzuxK_XUS2rfz7UlQuBv2oVI6Fls5nNoroW0SU4/s220/dp.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2480951532154788962.post-5232199703641471687</id><published>2020-08-10T18:02:00.004+01:00</published><updated>2020-08-14T11:32:31.739+01:00</updated><title type='text'>MAGENTO 2: How to get HTTP Request Params</title><content type='html'>&lt;br /&gt;
&lt;code data-gist-id=&quot;a87d0bbcdfa54f48edae98b9e98bf5a2&quot;&gt;&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;

Also Check my blogpost here on getting API Request params: &lt;a href=&quot;http://parekhreena.blogspot.com/2020/08/magento-get-rest-api-request-params.html&quot;&gt;http://parekhreena.blogspot.com/2020/08/magento-get-rest-api-request-params.html&lt;/a&gt;&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://parekhreena.blogspot.com/feeds/5232199703641471687/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://parekhreena.blogspot.com/2020/08/magento-2-how-to-get-http-request-params.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2480951532154788962/posts/default/5232199703641471687'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2480951532154788962/posts/default/5232199703641471687'/><link rel='alternate' type='text/html' href='http://parekhreena.blogspot.com/2020/08/magento-2-how-to-get-http-request-params.html' title='MAGENTO 2: How to get HTTP Request Params'/><author><name>Reena Parekh</name><uri>http://www.blogger.com/profile/14928413621811283316</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKPbAUYyNsPQanjD6wZilQN9G5kdONJqVmZ27kMS2w6nGFSN2J3Rkz4dWjPzrj2byzEmNwJIbbhSHKqasPWFUtuQvhRzuxK_XUS2rfz7UlQuBv2oVI6Fls5nNoroW0SU4/s220/dp.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2480951532154788962.post-7947545443805817746</id><published>2020-08-10T17:55:00.005+01:00</published><updated>2020-08-14T11:32:09.987+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="API"/><category scheme="http://www.blogger.com/atom/ns#" term="magento"/><category scheme="http://www.blogger.com/atom/ns#" term="magento2"/><category scheme="http://www.blogger.com/atom/ns#" term="params"/><category scheme="http://www.blogger.com/atom/ns#" term="REST"/><title type='text'>MAGENTO 2: Get REST API Request Params </title><content type='html'>&lt;br /&gt;
&lt;code data-gist-id=&quot;43e8fbc73b86b0256ba05a7e70962c86&quot;&gt;&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://parekhreena.blogspot.com/feeds/7947545443805817746/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://parekhreena.blogspot.com/2020/08/magento-get-rest-api-request-params.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2480951532154788962/posts/default/7947545443805817746'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2480951532154788962/posts/default/7947545443805817746'/><link rel='alternate' type='text/html' href='http://parekhreena.blogspot.com/2020/08/magento-get-rest-api-request-params.html' title='MAGENTO 2: Get REST API Request Params '/><author><name>Reena Parekh</name><uri>http://www.blogger.com/profile/14928413621811283316</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKPbAUYyNsPQanjD6wZilQN9G5kdONJqVmZ27kMS2w6nGFSN2J3Rkz4dWjPzrj2byzEmNwJIbbhSHKqasPWFUtuQvhRzuxK_XUS2rfz7UlQuBv2oVI6Fls5nNoroW0SU4/s220/dp.png'/></author><thr:total>0</thr:total></entry></feed>