So I would like to use the new link field in Kirby 4, I found this documentation about how to use it in my .php template.
Now my question is, can I do some kind of if statement to check if it’s external or internal so I can put the target="_blank"
in it.
Yes, of course! Simply add the code for the output in the template:
<a href="<?= $page->link()->toUrl() ?>" target="_blank" rel="noopener"><?= $page->link() ?></a>
Edit: Ops, I overlooked that you still want to distinguish between internal and external links. In my example, all links are opened in a new window.
Ah yes. For example with a file upload you can check for the type:
<?php if($image->type() === 'video'): ?> <?php endif ?>
Can’t figure out to check for example if type = link, or if type = page.
You can check if the field value starts with http…
Ah of course! Do you have an example how to this in the shortest way in a if statement?
Something like
<?php if (Str::startsWith($page->nameOfLInkField()->value(), 'http')) {
// do something
} else {
// do something else
}
You could move this to a custom field method
1 Like