Run the following commands
git checkout -b NEW_BRANCH_NAME git push -u origin NEW_BRANCH_NAME
Run the following commands
git checkout -b NEW_BRANCH_NAME git push -u origin NEW_BRANCH_NAME
This function creates a new instance of class DOMElement. This node will not show up in the document unless it is inserted with (e.g.) DOMNode::appendChild().
Example
<?php $doc = new DOMDocument(); $doc->loadXML('<root />'); $el = $doc->createElement('site','PHPCodez'); $doc->appendChild($el); echo $doc->saveXML(); ?>
Here i am creating upgradeData script that will add custom product attribute with yes and no options.
<?php namespace PHPCodez\Subscription\Setup; use Magento\Eav\Setup\EavSetup; use Magento\Eav\Setup\EavSetupFactory; use Magento\Framework\Setup\UpgradeDataInterface; use Magento\Framework\Setup\ModuleContextInterface; use Magento\Framework\Setup\ModuleDataSetupInterface; class upgradeData implements UpgradeDataInterface { private $eavSetupFactory; protected $logger; public function __construct(EavSetupFactory $eavSetupFactory,\Psr\Log\LoggerInterface $logger) { $this->eavSetupFactory = $eavSetupFactory; $this->logger = $logger; } public function upgrade(ModuleDataSetupInterface $setup, ModuleContextInterface $context) { if (version_compare($context->getVersion(), '0.0.8', '<=')) { $this->logger->info("System - upgrading module - removing product attribute - subscripion_product"); $eavSetup = $this->eavSetupFactory->create(['setup' => $setup]); $eavSetup->addAttribute( \Magento\Catalog\Model\Product::ENTITY, 'subscripion_product',[ 'type' => 'text', 'backend' => '', 'frontend' => '', 'label' => 'Enable Subscription', 'input' => 'select', 'class' => '', 'source' => 'Magento\Eav\Model\Entity\Attribute\Source\Boolean', 'global' => \Magento\Eav\Model\Entity\Attribute\ScopedAttributeInterface::SCOPE_GLOBAL, 'visible' => true, 'required' => true, 'user_defined' => false, 'default' => '', 'searchable' => false, 'filterable' => false, 'comparable' => false, 'visible_on_front' => false, 'used_in_product_listing' => true, 'unique' => false, 'apply_to' => '' ] ); } } }
The following code will create shipment for a given order id and return the shipment id.
<?php $magentoURL = "http://127.0.0.1/mage2/"; $apiURL = $magentoURL."index.php/rest/V1/integration/admin/token"; $data = array("username" => "apiuser", "password" => "apiuserpwd"); $data_string = json_encode($data); $ch = curl_init($apiURL); curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST"); curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: application/json","Content-Length: ".strlen($data_string))); $token = curl_exec($ch); $requestUrl =$magentoURL.'index.php/rest/V1/order/16/ship/'; $shipingData = [ 'items' => array([ "order_item_id" =>28,"qty"=> 2],["order_item_id" =>29,"qty"=> 2]), "notify"=>true, "appendComment"=>false ]; $ch = curl_init($requestUrl); curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST"); curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($shipingData)); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: application/json", "Authorization: Bearer " . json_decode($token))); $result = json_decode(curl_exec($ch)); echo "<pre>";print_r($result); ?>
The following code will display the invoice details based on invoice id.
<?php $magentoURL = "http://127.0.0.1/mage2/"; $apiURL = $magentoURL."index.php/rest/V1/integration/admin/token"; $data = array("username" => "apiuser", "password" => "apiuserpwd"); $data_string = json_encode($data); $ch = curl_init($apiURL); curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST"); curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: application/json","Content-Length: ".strlen($data_string))); $token = curl_exec($ch); $requestUrl =$magentoURL.'index.php/rest/V1/order/17/invoice'; $invoiceData = [ 'capture' => true, 'notify' => true ]; $ch = curl_init($requestUrl); curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($invoiceData)); curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: application/json", "Authorization: Bearer " . json_decode($token))); $result = json_decode(curl_exec($ch)); echo "<pre>";print_r($result); ?>
The following code will create invoice for a given order id.
<?php $magentoURL = "http://127.0.0.1/mage2/"; $apiURL = $magentoURL."index.php/rest/V1/integration/admin/token"; $data = array("username" => "apiuser", "password" => "apiuserpwd"); $data_string = json_encode($data); $ch = curl_init($apiURL); curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST"); curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: application/json","Content-Length: ".strlen($data_string))); $token = curl_exec($ch); $requestUrl =$magentoURL.'index.php/rest/V1/order/17/invoice'; $invoiceData = [ 'capture' => true, 'notify' => true ]; $ch = curl_init($requestUrl); curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($invoiceData)); curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: application/json", "Authorization: Bearer " . json_decode($token))); $result = json_decode(curl_exec($ch)); echo "<pre>";print_r($result); ?>
The following code will convert the quote to order and will return the order id.
<?php $magentoURL = "http://127.0.0.1/mage2/"; $apiURL = $magentoURL."index.php/rest/V1/integration/customer/token"; $data = array("username" => "Test.User1521623008@brandmuscle.com", "password" => "Pramod1&"); $data_string = json_encode($data); $ch = curl_init($apiURL); curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST"); curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: application/json","Content-Length: ".strlen($data_string))); $token = curl_exec($ch); $customerData =[ 'paymentMethod' => [ "method" => 'quickpay' ], 'billing_address' => [ "region" => 'New York', "region_id" => "43", "region_code" => "NY", "country_id" => "US", "street" => array("123 Oak Ave"), "postcode" => "10577", "city" => "Purchase", "firstname" => "Pramod", "lastname" => "Prasad", "customer_id" => "16", "email" => "Test.User1521623008@brandmuscle.com", "telephone" => "(512) 555-1111", ], ]; $requestUrl =$magentoURL.'index.php/rest/V1/carts/mine/payment-information'; $ch = curl_init($requestUrl); curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($customerData)); curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: application/json", "Authorization: Bearer " . json_decode($token))); $result = json_decode(curl_exec($ch)); echo "<pre>";print_r($result); ?>
The following code will create a cart/quote for a logged-in customer.
<?php $magentoURL = "http://127.0.0.1/mage2/"; $apiURL = $magentoURL."index.php/rest/V1/integration/customer/token"; $data = array("username" => "Test.User1521623008@phpcodez.com", "password" => "phpcodez&"); $data_string = json_encode($data); $ch = curl_init($apiURL); curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST"); curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: application/json","Content-Length: ".strlen($data_string))); $token = curl_exec($ch); $headers = array("Authorization: Bearer ".json_decode($token)); $requestUrl =$magentoURL.'index.php/rest/V1/carts/mine'; $ch = curl_init($requestUrl); curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $result = curl_exec($ch); $result= json_decode($result); echo "<pre>";print_r($result); ?>
Follow the below steps to create a new shipping method in Magento 2 PHPCodez_Easyship
Declare Module – Create module.xml
File : app/code/PHPCode/Easyship/etc/module.xml Continue reading Create Shipping Method Magento 2