Skip to content

Instantly share code, notes, and snippets.

View mrkhoa99's full-sized avatar
🎯
Don't repeat yourself

Mr Khoa mrkhoa99

🎯
Don't repeat yourself
View GitHub Profile
We should take a look `\Magento\Framework\App\RouterList`
@mrkhoa99
mrkhoa99 / Magento 2 strick
Created March 12, 2017 15:41
Magento 2 strick
1) Using an expression as a join: new Zend_Db_Expr
$query = 'SELECT author_id, SUM(amount) AS author_debit_amount FROM author_debits GROUP BY author_debits.author_id';
$collection->getSelect()->joinLeft(
new Zend_Db_Expr('('.$query.')'),
'main_table.author_id = t.author_id',
array('author_debit_amount')
);
@mrkhoa99
mrkhoa99 / addPageLayoutHandles Plugin
Created March 12, 2017 15:19
addPageLayoutHandles Plugin
<?php
namespace Some\Module\Plugin;
use Magento\Catalog\Api\ProductRepositoryInterface;
use Magento\Framework\View\Result\Page;
class ProductLayout
{
@mrkhoa99
mrkhoa99 / Add Translation Javascript Magento 2
Last active March 12, 2017 10:48
Add Translation Javascript Magento 2
For example:
require(["jquery","mage/translate"], function($){
$.mage.translate.add({"Filters":"Filters","Processing":"Processing","per page":"per page","records":"records"})
});
@mrkhoa99
mrkhoa99 / Clean up database Magento 2
Last active January 15, 2024 12:20
Clean up database Magento 2 for local enviroment
//Orders, Invoices, Shipments
DELETE FROM sales_order;
DELETE FROM sales_creditmemo_comment;
DELETE FROM sales_creditmemo_item;
DELETE FROM sales_creditmemo;
DELETE FROM sales_creditmemo_grid;
DELETE FROM sales_invoice_comment;
DELETE FROM sales_invoice_item;
DELETE FROM sales_invoice;
<?php
$userData = ["username" => "customeruser@gmail.com", "password" => "123456"];
$ch = curl_init("http://magen2.loc/rest/V1/integration/customer/token");
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($userData));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: application/json", "Content-Lenght: " . strlen(json_encode($userData))));
$token = curl_exec($ch);
<?php
class ApiClient
{
const METHOD_GET = 'GET';
const METHOD_PUT = 'PUT';
const METHOD_POST = 'POST';
const METHOD_DELETE = 'DELETE';
protected $validMethods = [
self::METHOD_GET,
self::METHOD_PUT,
$attributeData = [
"attribute": [
"is_wysiwyg_enabled": true,
"is_html_allowed_on_front": true,
"used_for_sort_by": true,
"is_filterable": true,
"is_filterable_in_search": true,
"is_used_in_grid": true,
"is_visible_in_grid": true,
"is_filterable_in_grid": true,
@mrkhoa99
mrkhoa99 / Playground Dirty - test.php
Last active July 14, 2022 05:03
Dirty Playground Magento 2
//put under pub/test.php
<?php
require dirname(__FILE__) . '/../app/bootstrap.php';
$bootstrap = \Magento\Framework\App\Bootstrap::create(BP, $_SERVER);
/** @var \Magento\Framework\App\Http $app */
$app = $bootstrap->createApplication('TestApp');
@mrkhoa99
mrkhoa99 / Set related products programatically Magento 2
Created September 15, 2016 06:07
Set related products programatically Magento 2