В моем контроллере есть следующий код:
function index()
{
$posts = $this->set('posts', $this->Portfolio->find('all'));
if (isset($this->params['requested']))
{
return $posts;
}
else
{
$this->set('posts', $this->Portfolio->find('all'));
}
}
и то, что я хочу сделать, это a) показать список позиций портфеля для индекса, например. /portfolio/
и b) отобразить список элементов портфеля внутри элемента, чтобы пользователь мог получить доступ к элементам портфеля из моей боковой панели по всему сайту.
Вот мой элемент для боковой панели:
<?php $posts = $this->requestAction('portfolio/index'); ?>
<ul>
<?php foreach ($posts as $post): ?>
<li><?php echo $this->Html->link($post['Portfolio']['title'], array('action' => 'view', $post['Portfolio']['id']));?></li>
<?php endforeach; ?>
</ul>
а затем я называю это так в моем макете:
<?php $this->element('portfolio-nav', array('posts' => $posts) ); ?>
Однако он дает следующую ошибку:
Notice (8): Undefined variable: posts [APP/controllers/portfolio_controller.php, line 16]
И не отображает список элементов на боковой панели.
Я почти уверен, что я написал в своем контроллере мусор, поэтому, если кто-нибудь может помочь мне заставить его работать, это будет потрясающе.
Спасибо