Element settings

An element can have settings to be rendered by Buto. This settins will not follow the element as an output to browser.

Disabled

Set disabled to true and the element will not be rendered. It will also reflect child elements.

  YML
  
-
  type: div
  innerHTML:
    -
      type: div
      innerHTML: Hello World
      settings:
        disabled: false
    -
      type: div
      innerHTML: Hello Buto
      settings:
        disabled: true


Hello World

Remote address

Render element by IP adress.

  YML
  
-
  type: div
  innerHTML:
    -
      type: div
      innerHTML: This element runs only if ip is 192.168.0.111.
      settings:
        ip:
          allow: true
          item:
            - '192.168.0.111'
    -
      type: div
      innerHTML: This element runs NOT if ip is 192.168.0.111.
      settings:
        ip:
          allow: false
          item:
            - '192.168.0.111'

Server name

One could allow element by server name like this.

  YML
  
-
  type: div
  innerHTML:
    -
      type: div
      innerHTML: This element runs only if servername is localhost.
      settings:
        server_name:
          allow: true
          item:
            - localhost
    -
      type: div
      innerHTML: This element will not run if servername is localhost.
      settings:
        server_name:
          allow: false
          item:
            - localhost

This element will not run if servername is localhost.

Cookie

Render element by Cookie. Use one of cookie/deny or cookie/allow params.

  YML
  
-
  type: div
  innerHTML:
    -
      type: div
      innerHTML: This element runs NOT if cookie cookieconsent_status has value dismiss.
      settings:
        cookie:
          deny:
            name: cookieconsent_status
            value: dismiss
    -
      type: div
      innerHTML: This element runs only if cookie cookieconsent_status has value dismiss.
      settings:
        cookie:
          allow:
            name: cookieconsent_status
            value: dismiss

Role

By setting the role attribute one could show or hide elements depending if user has sign in or not. Learn more about Users.

  YML
  
-
  type: div
  innerHTML:
    -
      type: div
      innerHTML: This element runs only if user has sign in.
      settings:
        role:
          allow: true
          item:
            - client
    -
      type: div
      innerHTML: This element runs only if user not has sign in.
      settings:
        role:
          allow: true
          item:
            - unknown

This element runs only if user not has sign in.

Date

Allow an element to be render depending on date params.

  YML
  
-
  type: div
  innerHTML:
    -
      type: div
      innerHTML: This element runs only if date is from 2017-01-01 to 2017-12-31.
      settings:
        date:
          allow: true
          from: '2017-01-01'
          to: '2017-12-31'
    -
      type: div
      innerHTML: This element runs only if date is before 2017-01-01 or after 2017-12-31.
      settings:
        date:
          allow: false
          from: '2017-01-01'
          to: '2017-12-31'

Param

Allow an element to be render depending on request param. The param settings/param/allow is optional and has true as default.

  YML
  
-
  type: div
  innerHTML:
    -
      type: div
      innerHTML: This element runs only if param Test=some_value.
      settings:
        param:
          name: Test
          value: some_value
          allow: true
    -
      type: div
      innerHTML: This element runs NOT if param Test=some_value.
      settings:
        param:
          name: Test
          value: some_value
          allow: false