metal:define-slot

Этот атрибут должен быть объявлен внутри тега, объявляющего макрос (metal:define-macro).

Слоты могут заменяться вызывающим шаблоном на динамически генерируемый XML/XHTML.

Cлоты помогают разнообразить страницы. Если макрос представить как целую страницу, то слоты можно предствить как секции, варьирующиеся в зависимости от, например, URL. К примеру, на той же главной странице сайта слот выводит свежие новости или перечень действий, доступных пользователю после его авторизации.

<span metal:define-slot="news_place">
  <table>
    <tr tal:repeat="item php:latestNews()">
      <td tal:content="item/value">news description</td>
    </tr>
  </table>
</span>

В этом примере мы определяем секцию под названием 'news_place', содержимое которой может быть подменено вызывающим шаблоном. Ниже мы рассмотрим, как использовать слоты, ссылаясь на этот пример.