CakePHP:调用元素时无法设置变量

时间:2014-01-21 04:28:40

标签: cakephp

我正在循环使用这样的一组产品

<?php foreach ($results as $result): ?>
   <?php echo $this->element('result_item', array('product', $result)); ?>
<?php endforeach; ?>

这里是我的元素代码的摘录:

[...]
<?php echo $this->Html->url(array('controller' => 'view', 'action' => 'index', $product['Product']['product_slug'])) ?>
[...]

每次尝试访问$ product

时,我都会收到以下错误消息
Notice (8): Undefined variable: product [APP/View/Elements/result_item.ctp, line 2]/view">

我做错了什么?

2 个答案:

答案 0 :(得分:1)

你要传递两个参数,而不是一个命名参数。

将您的观看代码更改为:

<?php foreach ($results as $result): ?>
   <?php echo $this->element('result_item', array('product' => $result)); ?>
<?php endforeach; ?>

(注意元素调用中的=&gt;而不是

答案 1 :(得分:0)

使用数组将变量传递给元素。

请参阅此处的文档:http://book.cakephp.org/2.0/en/views.html#passing-variables-into-an-element