Неустранимая ошибка: вызов функции-члена url () для необъекта в строке 8

Я новичок в PHP, в настоящее время получаю сообщение об ошибке

Неустранимая ошибка: вызов функции-члена url () для необъекта в строке 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>';
}
?>

-4

Решение

Вот ваш код исправлен:

<?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() перечислить всех детей сайта
    Посмотреть Кирби документы
  • Вы определяете $image_url а также $title перед foreach, который не является правильным. Я переместил их только в начале foreach
    петля. Также исправлено image_url, чтобы использовать подстраницы вместо подстраниц.
  • Вы используете text() на вашем названии. Этого не существует, используйте либо kirbytext() или же html() в зависимости от того, что вы хотите сделать. Увидеть
    Docs.
0

Другие решения

Вы должны проверить, каковы значения и методы в $ subpages? Я думаю, что есть проблема, когда вы присваиваете значения переменной.

0

По вопросам рекламы [email protected]