Overblog
Editer l'article Suivre ce blog Administration + Créer mon blog

Le blog de Sictozo

Le blog de Sictozo

Le but principal de ce blog est de donner un accès libre, facile et compréhensible aux informations du monde informatique.


Cakephp : comment créer les éléments ?

Publié par Sictozo sur 10 Octobre 2010, 12:21pm

Catégories : #Cakephp

Un élément (elements) dans cakephp est utilisé comme peut l’être un include en php. Un élément permet d’afficher un morceau de la page qui est répété sur tout le site. Cela peut être un flux rss ou encore bien d’autres choses.
Pour créer un element dans cakephp, ceci est très simple. Il suffit de créer un fichier dans le dossier app/views/elements/le_nom_de_votre_element.ctp. Dans ce fichier, vous pouvez créer la même chose que dans un include. Par exemple :
Ici est le haut de ma page

 

Aller ensuite dans le layout correspondant à votre site web : app/view/default.ctp
Pour afficher votre element utiliser le code suivant :

<? php echo $this->element ('le_nom_de_votre_element.ctp'); ?>
Ainsi votre élément s’affichera sur toutes vos pages. En effet, le layout est en quelques sortes le gabarit de votre site.

L’exemple que nous avons vu était un exemple statique. Pour un exemple dynamique, c’est à dire qui utilise des éléments provenant de la base de données, quelques lignes de codes supplémentaires sont nécessaires :
function index() {
$this-> set('rubriques', $this->Rubrique->find('all'));
if(isset($this->params['requested'])) { //s’il s’agit de l’appel pour l’élément
$rubriques = $this->Rubrique->find('all');
return $rubriques;
}}

Dans cet exemple, nous souhaitons afficher les différentes rubriques du site et qui sont stockées en base de données.
Comme précédemment nous allons créer un nouveau fichier dans le dossier “elements” que l’on nomme menu.ctp. Dans ce fichier, nous allons devoir indiquer que nous récupérons les données depuis le controller rubriques de cette manière :
<? php $rubriques = $this->requestAction ('rubriques/index');?>
Ensuite pour afficher les éléments, cela se fait comme sur une vue (view) normal :
<?php if ($rubriques) { foreach ($rubriques as $rubrique) {
$titre = $rubrique['Rubrique']['titre']; ?>

<? php echo $html->link($rubrique['Rubrique']['titre'],’view/’.$rubrique['Rubrique']['id']); ?>

<? Php } //fin foreach
} //fin if
?>

Pour l’affichage de l’element, il suffit d’utiliser : <? php echo $this->element(’menu’); ?>

 

Pour être informé des derniers articles, inscrivez vous :
Commenter cet article
N
link($rubrique['Rubrique']['titre'],’view/’.$rubrique['Rubrique']['id']) ?&gt;<br /> <br /> Il manque le ';' au bout de la ligne!<br /> <br /> Merci bien pour cette explication, très claire !
Répondre
S
Bien vu, je l'ai mis à jour ;)

Archives

Nous sommes sociaux !

Articles récents