Неустранимая ошибка: вызов функции-члена 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>';
}
?>
2 ответа
Решение
Вот ваш код исправлен:
<?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 - Вы определяете
$image_url
а также$title
перед foreach, который не является правильным. Я переместил их только в начале цикла foreach. Также исправлено image_url, чтобы использовать подстраницы вместо подстраниц. - Вы используете
text()
на вашем названии. Этого не существует, используйте либоkirbytext()
или жеhtml()
в зависимости от того, что вы хотите сделать. Смотрите документы.
Вы должны проверить, каковы значения и методы в $subpages? Я думаю, что есть проблема, когда вы присваиваете значения переменной.