Change Log

  • Added 'buttonName' parameter

Contributors:

Adam Wilson - Logo Pogo

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

Parameter
Values
Required
Description
type
ecommerce_buy_now

This is the name of the entity that needs to be used for the component retrieving function.

itemId
<Item ID>
The module item ID (specific Product) the data is to be sourced from
layout
<path/to/layout>

Path to file that will contain the Liquid layout content to be parsed.

If an empty string, nothing will be rendered.
If paramater is not included, the default virtual layout will be rendered (see below).

buttonName
Buy now (default)
<YOUR TEXT>

The text label shown on the button.
collectionVariable
<yourLiquidVariableName>

Assigns the data to a Liquid collection enabling further access to the data on the Page or Template using Liquid.

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']}}