Fatal error: Call to a member function url() on a non-object on line 8
Fatal error: Call to a member function url() on a non-object on line 8
我是 PHP 的新手,目前收到错误提示
Fatal error: Call to a member function url() on a non-object on line 8
下面是我正在尝试的代码
<?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>';
}
?>
你应该检查$subpages中的值和方法是什么?我认为将值分配给变量时存在问题。
您的代码已更正:
<?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()
列出站点的所有 children
See kirby docs
- 您在 foreach 之前定义了
$image_url
和 $title
,这是不正确的。我在 foreach 的开头移动了它们
环形。还更正了 image_url 使用子页面而不是子页面。
- 您在标题中使用了
text()
。这不存在,请根据您的需要使用 kirbytext()
或 html()
。见
文档。
我是 PHP 的新手,目前收到错误提示
Fatal error: Call to a member function url() on a non-object on line 8
下面是我正在尝试的代码
<?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>';
}
?>
你应该检查$subpages中的值和方法是什么?我认为将值分配给变量时存在问题。
您的代码已更正:
<?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()
列出站点的所有 children See kirby docs - 您在 foreach 之前定义了
$image_url
和$title
,这是不正确的。我在 foreach 的开头移动了它们 环形。还更正了 image_url 使用子页面而不是子页面。 - 您在标题中使用了
text()
。这不存在,请根据您的需要使用kirbytext()
或html()
。见 文档。