我是PHP新手,目前收到错误
致命错误:在第8行的非对象上调用成员函数url()
以下是我正在尝试的代码
<?php
$subpages = $site->pages()->children()->visible();
$image_url = $subpages->image()->url();
$title = $subpage->title()->text();
foreach($subpages as $subpage) {
echo '<div class="col-md-4">';
echo '<h2>' . $title . '</h2>';
echo '<a href="' . $subpage->url() . '" title="' . $title . '">';
echo '<img src="' . $image_url . '" alt="' . $title . '" class="img-responsive img-thumbnail">';
echo '</a>';
echo '</div>';
}
?>
答案 0 :(得分:0)
您应该检查$ subpages中的值和方法是什么?我认为将值赋给变量时会出现问题。
答案 1 :(得分:0)
此处更正了您的代码:
<?php
$subpages = $site->children()->visible();
foreach($subpages as $subpage) {
$image_url = $subpage->image()->url();
$title = $subpage->title()->html();
echo '<div class="col-md-4">';
echo '<h2>' . $title . '</h2>';
echo '<a href="' . $subpage->url() . '" title="' . $title . '">';
echo '<img src="' . $image_url . '" alt="' . $title . '" class="img-responsive img-thumbnail">';
echo '</a>';
echo '</div>';
}
?>
您的代码有什么问题:
$site->children()
列出该网站的所有子级
See kirby docs $image_url
和$title
,这是不正确的。我刚刚在foreach的开头移动它们
环。还修正了image_url以使用子页面而不是子页面。text()
。这不存在,请使用kirbytext()
或html()
,具体取决于您要执行的操作。见
文档。