ecommerce_buy_now
This component renders an anchor element allowing the javascript function to add the item to the shopping cart and then proceeding directly to the shopping cart page.
{% component type: "ecommerce_buy_now", itemId: "<Item ID>" %}
Parameters and Options
ecommerce_buy_now
This is the name of the entity that needs to be used for the component retrieving function.
<Item ID>
<path/to/layout>
If an empty string, nothing will be rendered.
If paramater is not included, the default virtual layout will be rendered (see below).
Buy now (default)
<YOUR TEXT>
<yourLiquidVariableName>
Your collectionVariable value must only contain English letters, numbers or underscores. Spaces or special characters are not supported.
Liquid Output
The below example shows the output data for the specified item ID. The Liquid data output from this example would look like the following (for example, when using a collectionVariable to create the collection):
{
"Id": 2535,
"Name": "DEMO Product 1",
"Url": "/catalogs/demo-product-1",
"Url_List": [
"/catalogs/demo-product-1"
],
"UrlSlug": "demo-product-1",
"ParentId": 2485,
"ParentId_List": [
-1
],
"ParentName": "",
"ParentUrl": "",
"TemplateName": "",
"Module_Alias": "Product",
"Module_ID": 2485,
"Enabled": true,
"ReleaseDate": "2020-05-04T23:00:00",
"ExpiryDate": "2099-12-11T13:00:00",
"SiteSearchKeywords": [
"figgle"
],
"Description": "<p>Sample product 1 for the ecommerce store.</p>",
"Weighting": 0,
"DisableForSiteSearch": false,
"SKUCode": "DEMO1",
"SmallImage": "/images/template-detail-dinewine-mobile@2x.png",
"LargeImage": "/images/template-detail-dinewine-desktop@2x.jpg",
"OnSale": false,
"IsGiftVoucher": false,
"ProductWeight": 0.0000,
"ProductWidth": 0.0000,
"ProductHeight": 0.0000,
"ProductDepth": 0.0000,
"EnableDropShipping": false,
"UnitType": "",
"MinimumUnits": 0,
"MaximumUnits": 0,
"RecurringType": "None",
"IsShippable": true,
"IsDownloadable": false,
"NumberOfPossibleDownloads": 0,
"Supplier": 0,
"Price": 39.9500,
"PriceHtml": "<span data-cms_product_data_price=\"2535\">39.95</span>",
"priceWithTax": 41.55,
"priceWithTaxHtml": "<span data-cms_product_data_price_with_tax=\"2535\">41.55</span>",
"RecommendedPriceWithTax": 51.95,
"RecommendedPriceWithTaxHtml": "<span data-cms_product_data_recommended_price_with_tax=\"2535\">51.95</span>",
"RecommendedPrice": 49.9500,
"RecommendedPriceHtml": "<span data-cms_product_data_recommended_price=\"2535\">49.95</span>",
"EnableInventoryControl": true,
"HasGeneratedInventoryProducts": true,
"InStockHtml": "<span data-cms_product_data_in_stock=\"2535\">170</span>",
"IsHide": false,
"InStock": 170,
"IsDisable": false,
"taxRate": 0.0400,
"IsGroupedProduct": true,
"decimalsQuantity": 2,
"VolumeDiscount": [
{
"Price": 39.9500,
"Quantity": 0
}
],
"ProductDataJSON": {
"itemId": 2535,
"maximumUnits": 0,
"minimumUnits": 0,
"recommendedPrice": 49.9500,
"QuantityThreshold": [
{
"Price": 39.9500,
"Quantity": 0
}
],
"inStockTotal": 170,
"prices": {
"0": 39.9500
},
"enablePreOrder": false,
"variations": {
"4608": {
"id": "4608",
"enabled": true,
"inStock": 70,
"optionIds": [
"3654"
]
},
"4606": {
"id": "4606",
"enabled": true,
"inStock": 0,
"optionIds": [
"3653"
]
},
"4604": {
"id": "4604",
"enabled": true,
"inStock": 100,
"optionIds": [
"3652"
]
}
},
"attributes": {
"3661": {
"id": "3661",
"isInventory": true,
"name": "Size",
"type": 2,
"required": true,
"optionIds": [
"3652",
"3653",
"3654"
]
}
},
"options": {
"3652": {
"id": "3652",
"attributeId": "3661",
"name": "Small",
"image": "/images/template-detail-crafter-mobile.png",
"price": 0.0000
},
"3653": {
"id": "3653",
"attributeId": "3661",
"name": "Medium",
"image": "/images/template-crafter@2x.jpg",
"price": 2.0000
},
"3654": {
"id": "3654",
"attributeId": "3661",
"name": "Large",
"image": "/images/template-detail-crafter-desktop@2x.jpg",
"price": 4.0000
}
},
"taxRate": 0.0400,
"taxInPercent": 4.0000
},
"ProductDataJsonHTML": "<script>initEcommerceProductPriceVariations(2535,{\"itemId\":2535,\"maximumUnits\":0,\"minimumUnits\":0,\"recommendedPrice\":49.9500,\"QuantityThreshold\":[{\"Price\":39.9500,\"Quantity\":0}],\"inStockTotal\":170,\"prices\":{\"0\":39.9500},\"enablePreOrder\":false,\"variations\":{\"4608\":{\"id\":\"4608\",\"enabled\":true,\"inStock\":70,\"optionIds\":[\"3654\"]},\"4606\":{\"id\":\"4606\",\"enabled\":true,\"inStock\":0,\"optionIds\":[\"3653\"]},\"4604\":{\"id\":\"4604\",\"enabled\":true,\"inStock\":100,\"optionIds\":[\"3652\"]}},\"attributes\":{\"3661\":{\"id\":\"3661\",\"isInventory\":true,\"name\":\"Size\",\"type\":2,\"required\":true,\"optionIds\":[\"3652\",\"3653\",\"3654\"]}},\"options\":{\"3652\":{\"id\":\"3652\",\"attributeId\":\"3661\",\"name\":\"Small\",\"image\":\"/images/template-detail-crafter-mobile.png\",\"price\":0.0000},\"3653\":{\"id\":\"3653\",\"attributeId\":\"3661\",\"name\":\"Medium\",\"image\":\"/images/template-crafter@2x.jpg\",\"price\":2.0000},\"3654\":{\"id\":\"3654\",\"attributeId\":\"3661\",\"name\":\"Large\",\"image\":\"/images/template-detail-crafter-desktop@2x.jpg\",\"price\":4.0000}},\"taxRate\":0.0400,\"taxInPercent\":4.0000});</script>",
"CreatedByMemberId": "0",
"ItemCategories": [],
"ItemCategoryIdList": [],
"ItemTags": [],
"Author": 0,
"Author_Name": "",
"Author_Url": "",
"Item_Rating": 0,
"MyCustomProperty": "My custom value",
"ShowPageForSearchEngine": false,
"MetaTitle": "",
"SEOTitle": "",
"MetaDescription": "",
"CanonicalLink": "",
"SocialMetaTags": "",
"SeoPriority": 0.5,
"EnableAMP": false,
"AMPContent": "",
"OpenGraphProperties": {
"title": null,
"type": null,
"url": null,
"locale": null,
"image": null
},
"ExternalId": 0,
"Params": {
"type": "ecommerce_buy_now",
"layout": "",
"itemid": "2535",
"collectionvariable": "buynowCollection"
}
}
Virtual Layout
If not using any custom layout or collection, the default virtual layout will output as follows:
<a href="javascript:" data-ecommerce_buy_now_Item="{{this.id}}" class="ecommerceBuyNow_Item system_button">{{this.buttonName | default:"Buy now "}}</a>
Accessing the Data
JSON Output
You can output the full JSON for your component data by referencing the root Liquid object {{this}}
in your module’s layouts, or directly on your page, if using the collectionVariable
parameter in your component tag.
For example:
{% component type: ... collectionVariable: "myData" %}
You can then render the JSON like so:
{{myData}}
For more details on using this approach, see Part 2 of the free ‘Learning Liquid Course’.
Rendering Property Values
This data is also accessible directly on the Page or Template via a Liquid Collection by adding collectionVariable
to the Component.
An example using collectionVariable
with value "buynowCollection":
{% component type: "ecommerce_buy_now", itemId: "2535", collectionVariable: "buynowCollection" %}
Accessing the name of the item, which in our example would render the value DEMO Product 1
{{buynowCollection['name']}}