ca fonctionne merci
Petite question j'ai vu pas mal de personne revenir sur un sujet que je traite une erreur lié au menu.ctp
Warning (2): Invalid argument supplied for foreach() [APP/View/Elements/menu.ctp, line 3]
et
Declaration of Post::afterFind() should be compatible with Model::afterFind($results, $primary = false) [APP/Model/Post.php, line 3]
Ma page controller
<?php
class PagesController extends AppController {
public $uses = array('Post');
function menu(){
$pages = $this-> Post->find('all',array(
'conditions' => array('type'=>'page','online'=>1)
));
return $pages;
}
function show($id = null,$slug = null){
}
}
mon Post.php
<?php
class Post extends AppModel{
public function afterFind($data){
foreach($data as $k=>$d){
if (isset($d'Post']'slug']) && isset($d'Post']'id'])){
$d'Post']'link'] = array(
'controller' => 'pages',
'action' => 'show' ,
'id' => $d'Post']'id'],
'slug' => $d'Post']'slug']
);
}
$data$k] = $d;
}
debug($data);
}
}
mon menu.ctp
<?php $pages = $this->requestAction(array('controller'=>'pages','action'=>'menu'));?>
<ul class="nav navbar-nav">
<?php foreach($pages as $k=>$v): $v = current($v);?>
<li> <?php echo $this->Html->link($v'name'],$v'link']);?></li>
<?php endforeach; ?>
</ul>
Je n'ai pas beaucoup trouver d'infos sur ce sujet
Cdt