Reference

Guide

File methods

File methods are registered with the fileMethods extension.

Default file methods

For a full list of default file methods, please check out the Reference.

Getting started

You can extend the set of defined file methods very easily in a plugin file.

/site/plugins/file-methods/index.php
Kirby::plugin('my/plugin', [
    'fileMethods' => [
        'download' => function () {
            return '<a download href="' . $this->url() . '">' . $this->filename() . '</a>';
        }
    ]
]);

This example shows the basic architecture of a file method. You define the method name with the key for the fileMethods extension array. $this in the callback function refers to the $file object.

Working with method arguments

In some cases it might be helpful to be able to pass arguments to the method:

<?= $file->download('Download me') ?>

The definition for such a method with arguments is very simple:

Kirby::plugin('my/plugin', [
    'fileMethods' => [
        'download' => function ($text = null) {
            return '<a download href="' . $this->url() . '">' . $text ?? $this->filename() . '</a>';
        }
    ]
]);