$field->yaml()

Converts YAML-structured field content to an array

  • 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($page->addresses()->yaml() 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 ?>

Is something missing or incorrect? Edit this page on Github…