【发布时间】:2015-01-29 01:35:02
【问题描述】:
我正在尝试使用从元素内部的控制器填充的内容,以便我可以使用该内容来构建视图。
到目前为止,我有以下元素(.ctp 文件)
<?php $categories = $this->requestAction('categories/menu'); ?>
<ul class="hidden">
<?php foreach ($categories as $categorie): ?>
<li><?= $this->Html->link($categorie->name, '#'); ?></li>
<?php endforeach; ?>
</ul>
用这个控制器
class CategoriesController extends AppController
{
public function index()
{
$categories = $this->Categories->find('all');
$this->set(compact('categories'));
}
public function menu()
{
$categories = $this->paginate();
$this->set('categories', $categories);
}
}
使用此处的代码时,日志中出现错误,Error: [Cake\View\Exception\MissingTemplateException] Template file "Categories\menu.ctp" is missing.
页面上没有显示任何内容。
如果我将这个$this->set('categories', $categories);更改为这个return $categories;,我的页面上会显示以下错误Error: Controller action can only return an instance of Response。
我最初尝试了this tutorial 中的代码(抱歉滚动到缓存元素之前的最后一个示例),但它导致了第二条错误消息。
如何使用Element 中的Controller?
【问题讨论】:
标签: cakephp-3.0