Skip to end of banner
Go to start of banner

banner_grid

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Current »

container of banners which displays a grid of banner with a label and variable height and width. The children blocks of this Layout Block are typically meant to be banner Layout Blocks.

Picture:

 Structure explanations

To make the children block simple to configure, we recommend that the layout size differences are part of the configuration of the banner_grid. In the example, we have a list of elements in the parameter “grid” which indicate the number of cols and rows for each element per device (considering a typical 16 cols grid framework like Bootstrap).

To have the same result as in the picture, the grid would need to be:

[
  {
    "col": 12,
    "col-sm": 12,
    "col-md": 6,
    "col-lg": 6,
    "rows": [
      {
        "col": 12,
        "col-sm": 12,
        "col-md": 12,
        "col-lg": 12,
        "rows": []
      },
      {
        "col": 12,
        "col-sm": 12,
        "col-md": 6,
        "col-lg": 6,
        "rows": []
      },
      {
        "col": 12,
        "col-sm": 12,
        "col-md": 6,
        "col-lg": 6,
        "rows": []
      }
    ]
  },
  {
    "col": 12,
    "col-sm": 12,
    "col-md": 6,
    "col-lg": 6,
    "rows": []
  }
]

We recommend to loop through the structure to define automatically the order of the banner index, which would do a mapping like this (the number beint the index of the banner in the children block:

1

4

2

3

 JSON Schema
{
  "title": "Banner Grid",
  "type": "object",
  "definitions": {
    "row": {
      "type": "object",
      "properties": {
        "col": {
          "type": "number",
          "description": "extra small devices - screen width less than 576px"
        },
        "col-sm": {
          "type": "number",
          "description": "small devices - screen width equal to or greater than 576px"
        },
        "col-md": {
          "type": "number",
          "description": "medium devices - screen width equal to or greater than 768px"
        },
        "col-lg": {
          "type": "number",
          "description": "large devices - screen width equal to or greater than 992px"
        },
        "rows": {
          "type": "array",
          "title": "Children Rows",
          "items": {
            "$ref": "#/definitions/row"
          }
        }
      }
    }
  },
  "properties": {
    "title": {
      "type": "object",
      "title": "Label",
      "properties": {
        "de": {
          "type": "string",
          "description": "value for German"
        },
        "fr": {
          "type": "string",
          "description": "value for French"
        }
      }
    },
    "grid": {
      "type": "array",
      "title": "Grid Layout",
      "items": {
        "$ref": "#/definitions/row"
      }
    },
    "accessor": {
      "type": "string",
      "description": "hits accessor (typically leave empty)"
    }
  }
}

Complete Layout Block:

  • No labels