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