Работая с Kirby CMS, я пытаюсь вытащить все файлы страницы и применить разную разметку к изображениям и видео. В Кирби есть команда $ file-> type (), которую, как мне кажется, мне пришлось бы использовать в if-выражении, чтобы разложить файлы, но мой текущий код не работает. Я пробовал вот что:
<?php
$page = page('PageTitle');
$page_files = $page->files();
?>
<div class = "slider-container" id = "slider#">
<div class = "slider">
<?php foreach($page_files->sortBy('sort', 'asc') as $page_file): ?>
<?php if ($page_file->type() == 'image') { ?>
<div style = "background: url('<?= $page_file->url() ?>'); background-size: cover; height: 100vh;"></div>
<?php endif; ?>
<?php endforeach ?>
</div>
</div>
Что я делаю неправильно?






Ответ на мой вопрос довольно очевиден. Я допустил простую синтаксическую ошибку, использовав { вместо : в первой строке if-оператора. Это будет правильная рабочая версия кода, различающая изображения и видео:
<?php if ($file->type() == 'image'): ?>
<!-- markup for image -->
<?php endif ?>
<?php if ($file->type() == 'video'): ?>
<!-- markup for video -->
<?php endif ?>