You can outsource the link code into a field method. Useful if you need such a link in multiple locations:
- Create a field method in a plugin:
<?php
Kirby::plugin('my/methods', [
'fieldMethods' => [
'editLink' => function($field) {
$page = $field->parent();
$title = $page->title();
if (kirby()->user()) {
$title .= ' ' . Html::a($page->panelUrl(), 'Edit page', ['class' => 'editlink']);
}
return $title;
}
]
]);
- Then in your template where needed
<h1><?= $page->title()->editLink() ?></h1>
Adapt as needed to show only an edit icon (with accessible text) or add more checks (e.g. for user permissions), use another field etc…