我正在使用CakePHP,我有一个我编写的组件,它使用一个名为“Users”的组件来处理用户登录,注销,注册等。我想在侧栏中的default.ctp布局上呈现它。我怎么能这样做?
我试过了:
<div id="leftNav">
<div id="login-block" class="block">
<?php echo $this->element('loginblock', array('component' => 'user')); ?>
<ul>
<li><a href="/users/login">Login</a></li>
<li><a href="/users/register">Register</a></li>
<li><a href="/users/logout">Logout</a></li>
</ul>
</div>
</div>
但这不成功。
答案 0 :(得分:0)
根据定义,您无法呈现组件。只能呈现MVC体系结构的V部分(或者至少应该),并且组件属于C部分。
将信息从组件传递到视图的最佳方法是set
通过控制器传递它,如下所示:
class MyComponent extends Object {
function initialize(&$controller) {
$this->controller =& $controller;
}
function someMethod() {
$this->controller->set('user', $someInformation);
}
}
在视图中,您可以照常输出$user
变量。