Bonjour,
Alors me voici lancer sur l'utilisation de cakePHP pour mon site. En effet, je suis entrain de créer un site en utilisant le framework.
j'ai suivi les tutos de grafikart et d'ailleurs sont très bien faits. cependant je voudrais vraiment savoir quelle est la différence entre "Eléments" et "Bloc". bon je m'explique :)
j'ai vu qu'on pouvais créer des portions de vues dans le layout par défaut. et comme je voudrais créer un menu horizontal je ne sais pas quoi utiliser entre les "elements" ou bien créer un bloc directement dans le layout par défaut (en utilisant
$this->fetch('menu'
)).
Apres avoir créer le menu je voudrais quand même faire en sorte qu'à chaque item (exemple accueil ou portofolio) est associé un contenu dynamique. alors à parir de là je me suis dis qu'il faudrait stocker tout ca en base. mais je ne sais pas trop comment faire tout ca (je suis un peu perdu :( ).
PS: les menus seront sur toutes les pages de mon site.
si quelqu'un peut m'aider ca serait avec grand plaisir :D
Bonjour,
@druide : je ne vois pas pourquoi "include ici" :S ???
@snap : oui en effet je pense avoir saisi le truc. mon menu sera sur tout le site donc pas de spécificité pour une page. donc à priori mieux vaut utiliser les éléments.
bon maintenant que je connais la différence entre ces deux eléments, comment je pourrai afficher mon menu sur la page. alors pour ce faire toujours dans le tuto de grafickart j'ai crée un elément "menu.ctp" que j'appelle dans le layout par defaut (default.ctp). dans ma base, ma table page se présente comme ceci : id, nom_page, contenu, etc...
jusque là j'ai pu récupérer toutes les différentes pages que j'ai inséré dans ma table (Accueil, Portofolio, Contact, etc.) que j'ai stocké dans un tableau. j'ai parcouru le tableau pour afficher ces données (Accueil, Portofolio, Contact). mais j'ai un problème qui se pose j'ai ajouté des icones à chaque item du menu... ci-dessous un exemple dont je veux m'inspirer
comment faire pour chaque page associé l'icone correspondante ???
Merci d'avance :)
bonjour,
Je n'ai pas tout compris, mais si tu veux incruster des portions de vue dans une autre vue.
utilise un
include 'ta_portion_de_vue.php';
re dirigeant vers ta portion de vu, non ?
Gaffe cependant, à ne rien charger AVANT ton header, sinon tu auras la fameuse erreur 'header already sent'.
Sinon, pour ton fetch, il n'y pas une histoire de star et de end ...
exemple :
<?php echo $this->start('menu'); ?>
<?php echo $this->end('menu'); ?>
ou juste un :
$this->append('menu');
bref, j'espère avoir pu t'aidé.
include : bof
tu as effectivement le choix entre element ou block. Essaye de distinguer ce qui est commun à toute les pages et ce qui est spécifique à une page. Dans l'élément menu il y a toujour moyen de faire des choses spécifiques à chaque page.