yaml($string)

Parses any string as YAML

  • $string (string)
  • return (array)

You can store structured data in fields with YAML. YAML is a simple structuring syntax, which is easy to understand and use.

For this example we are going to store multiple addresses in a single field:

Title: Addresses
----
Addresses:

-
  Street: Rue de WTF 17
  ZIP:    1112
  City:   Monaco
  Phone:  555-1234
  Email:  me@monaco.org
-
  Street: 1212 Broadway
  ZIP:    4321
  City:   New York
  Phone:  666-4321
  Email:  me@ny.org
-
  Street: At the beach
  ZIP:    9999
  City:   The capitol of the Bahamas
  Phone:  777-9999
  Email:  me@bahamas.org

Those addresses can be fetched and parsed very easily in your templates with the yaml() helper.

<?php foreach(yaml($page->addresses()) as $address): ?>
  <div class="address">
    <?= $address['street'] ?><br />
    <?= $address['zip'] ?> <?= $address['city'] ?>
  </div>
  <div class="contact">
    <?= $address['phone'] ?><br />
    <?= $address['email'] ?>
  </div>
</div>
<?php endforeach ?>