cakephp передает переменную в home.ctp - PullRequest
0 голосов
/ 28 августа 2018

С cakephp я делаю простое слайд-шоу.

В моем PagesController я пишу действие home следующим образом:

public function home(){
    // slider
    $this->loadModel('CmsStoreSlider');
    $cmsStoreSlider = $this->CmsStoreSlider->find('all')->toArray();
    $this->set(compact('cmsStoreSlider'));
    $this->set('_serialize', ['cmsStoreSlider']);
}

... и в моем Pages / home.ctp я пытаюсь вызвать $ cmsStoreSlider, но без удачи.

<?php foreach ($cmsStoreSlider as $cmsStoreSlider): ?>
           <img src="<?= $cmsStoreSlider->image; ?>" alt="Imagem do slider">
<?php endforeach; ?>

Изображения не отображаются, потому что cakephp сообщает, что недопустимый аргумент для foreach . Я сделал var_dump и сказал, что $ cmsStoreSlider - неопределенная переменная.

Любые решения. я новичок в торте и, возможно, что-то не хватает в моей логике.

Ps. Сущность и табличная модель созданы.

1 Ответ

0 голосов
/ 28 августа 2018

Cakephp по умолчанию принимает действия дисплея контроллера Pages как домашнюю страницу. Функция display сама управляет страницами и подстраницами, поэтому вы получаете ошибку. Либо вы можете изменить домашнюю страницу по умолчанию в вашем /config/routes.php

 $routes->connect('/', ['controller' => 'Pages', 'action' => 'home']);

OR

Удалить код из действия на дисплее

class PagesController {
    function display()
    {
        // default controller code here
        // your custom code here
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...