-4

我是 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>';
   }
?>
4

2 回答 2

1

这是您更正的代码:

<?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()列出站点的所有子项 查看 kirby 文档
  • 您正在定义不正确的 foreach 之前$image_url$title我在 foreach 循环的开头移动了它们。还更正了 image_url 以使用子页面而不是子页面。
  • 您正在使用text()您的标题。那不存在,使用任何一个kirbytext()html()取决于你想要做什么。请参阅文档。
于 2016-05-28T07:33:50.340 回答
0

您应该检查 $subpages 中的值和方法是什么?我认为将值分配给变量时存在问题。

于 2016-02-09T11:21:28.673 回答