Kirby CMS/php:检查文件类型以应用不同的标记?
使用Kirby CMS,我尝试提取页面中的所有文件,并对图像和视频应用不同的标记。在Kirby中,有$file->type()命令,我想我必须在if语句中使用该命令才能区分文件,但我当前的代码不起作用。我尝试的是:Kirby CMS/php:检查文件类型以应用不同的标记?,php,html,if-statement,foreach,kirby,Php,Html,If Statement,Foreach,Kirby,使用Kirby CMS,我尝试提取页面中的所有文件,并对图像和视频应用不同的标记。在Kirby中,有$file->type()命令,我想我必须在if语句中使用该命令才能区分文件,但我当前的代码不起作用。我尝试的是: <?php $page = page('PageTitle'); $page_files = $page->files(); ?> <div class="slider-container" id="slider#"> <div cla
<?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 ?>