CakePHP передает данные элементу

У меня в контроллере есть следующий код:

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'));
    }
}

, и я хочу, чтобы он а) отображал список портфолио элементы для индекса, например / портфолио / , и б) показать список элементов портфолио внутри элемента, чтобы пользователь мог получить доступ к элементам портфолио с моей боковой панели на сайте.

Вот мой элемент для боковая панель:

<?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]

И не отображает список элементов на боковой панели.

Я почти уверен то, что я написал в своем контроллере, - мусор, так что если кто-нибудь может помочь мне заставить его работать, это было бы здорово.

Спасибо

12
задан Cameron 2 April 2011 в 12:45
поделиться