我正在循环使用这样的一组产品
<?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">
我做错了什么?
答案 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