Как отобразить данные с другого контроллера на страницах? Торт PHP 4.х - PullRequest
0 голосов
/ 07 апреля 2020

Я хочу подключить статьи к страницам, но на последнем экране появляется ошибка.

enter image description here enter image description here enter image description here

Ответы [ 2 ]

0 голосов
/ 11 апреля 2020

Вы находитесь в PageController. php, я никогда не использовал этот контроллер для чего-то другого, кроме метода display (). Я не знаю, является ли то, что вы делаете, предполагаемым использованием.

Если вы хотите перечислить свои статьи, я бы посоветовал вам настроить это в ArticlesController. php.

//in src/Controller/ArticlesController.php
public function home() {
$lastArticles = $this->Articles->find('all', ['limit' => 3, 'order' => 'Articles.created DESC']);
  $this->set('lastArticles', $lastArticles);
} 

Затем вам нужно создать шаблон представления, соответствующий имени метода в контроллере (см. Соглашения об именах) - для метода, который я разместил, это "home. php".

//in templates/Articles/home.php
<?php foreach ($lastArticles as $lastArticle): ?>
//.. your fields ..
 <?php endforeach; ?>
0 голосов
/ 07 апреля 2020

В действии вашей домашней страницы

public function homepage() {
    $this->loadModel('Articles');
    $lastArticles = $this->Articles->find('all', ['limit' => 3, 'order' => 'Articles.created DESC'])->toArray();

$this->set('lastArticles', $lastArticles);

}

View::set ожидает 2 параметра, один из которых является именем переменной в представлении, а второй - значения этой переменной для представления.

...