Bonjour à tous,
Cela fait un moment que je n'ai pas sollicité votre aide.
J'essai de créer des pages sauce bootstrap, qui soient administrables via un backoffice.
J'ai regardé à peu près tous les tutos que j'ai trouvé sur le net, mais là je bloque.
Voici ce que je compte faire
Une page => plusieurs sections
Une section => plusieurs blocs
J'ai réussi à faire ces relations entre mes model et les HABTM. Ca ca fonctionne.
Ca me permet d'envoyer toutes ces infos dans mon $this->request->data de mon PageController pour l'édition dans mon admin_edit().
Voici le tableau que j'obtiens
array(
'Page' => array(
'id' => '2',
'meta_key' => 'mes keywords',
'meta_desc' => 'ma description',
'name' => 'mon titre',
'slug' => 'slug-qui-va-bien'
'content' => 'Contenu généré dynamiquement, et qui va bientôt disparaitre !!!',
'created' => '2014-10-31 18:03:26',
'online' => '0',
'user_id' => '2',
'category_id' => '0',
'draft' => '0'
),
'sections' => array(
(int) 0 => array(
'Section' => array(
'id' => '1',
'name' => 'section n°1',
'background' => 'gray1',
'page_id' => '2'
),
'Page' => array(
'id' => '2'
),
'Block' => array(
(int) 0 => array(
'id' => '1',
'cols' => '9',
'offset' => '1',
'background' => '',
'content' => 'Mon contenu du bloc 1',
'section_id' => '1'
),
(int) 1 => array(
'id' => '2',
'cols' => '2',
'offset' => '0',
'background' => '',
'content' => 'Mon contenu du bloc 2',
'section_id' => '1'
)
)
),
(int) 1 => array(
'Section' => array(
'id' => '2',
'name' => 'section N°2',
'background' => '',
'page_id' => '2'
),
'Page' => array(
'id' => '2'
),
'Block' => array(
(int) 0 => array(
'id' => '3',
'cols' => '2',
'offset' => '0',
'background' => '',
'content' => 'Mon autre contenu',
'section_id' => '2'
)
)
)
)
)
J'arrive à créer un formulaire d'administration et à récupérer tout ce qui se trouve dans l'index "Page" avec mes form helpers.
Par contre, je n'ai aucune idée de comment récupérer les infos liés aux models associés "Section" et "Bloc" dans ce même formulaire via mes Form Helpers !
Si l'un d'entre vous à déjà essayé de faire quelque chose comme ça, je suis à l'écoute !
Merci pour votre aide
Fabien
Bonsoir,
Je n'avais pas vu que tu m'avais apporté une réponse. Merci !
Alors j'ai potassé tout ce que j'ai pu trouver et je suis parvenu à faire ce que je voulais.
En gros, je peux créer une page, qui par défaut crée une section, et un block associé à cette section.
Une page peut avoir plusieurs sections, ayant également un ou plusieurs blocks.
Tout fonctionne nikel, en ajout, suppression et modification ( je n'ai pas encore testé ma vue de front, mais ca devrait fonctionner sans soucis)
J'ai créé des fonctions ajax pour créer mes sections et mes blocks dynamiquement (lol ca marche aussi. Si j'édite ou crée un post, je peux ajouter autant de sections et blocks que je veux et sauvegarder sans aucun souci)
Voici un exemple de nouveaux tableaux que je génère (mieux qu'avant dis donc !)
array(
'Page' => array(
'id' => '4',
'meta_key' => 'keywords1, etc',
'meta_desc' => 'description qui va bien',
'name' => 'mon titre de page',
'slug' => 'mon-titre-de-page',
'content' => '',
'created' => '2014-11-16 22:47:24',
'online' => '0',
'user_id' => '2',
'category_id' => '0',
'draft' => '0',
'acl' => '2'
),
'Section' => array(
(int) 0 => array(
'id' => '5',
'background' => '',
'page_id' => '4',
'sectionorder' => '0',
'draft' => '0',
'Block' => array(
(int) 0 => array(
'id' => '6',
'cols' => '10',
'offset' => '0',
'background' => '',
'content' => '<p>Mon premier bloc de ma première section</p>
',
'section_id' => '5',
'blockorder' => '1',
'draft' => '0'
),
(int) 1 => array(
'id' => '7',
'cols' => '2',
'offset' => '0',
'background' => '',
'content' => '<p>Mon deuxième bloc de ma première section</p>
',
'section_id' => '5',
'blockorder' => '0',
'draft' => '0'
)
)
),
(int) 1 => array(
'id' => '6',
'background' => '',
'page_id' => '4',
'sectionorder' => '0',
'draft' => '0',
'Block' => array(
(int) 0 => array(
'id' => '9',
'cols' => '12',
'offset' => '0',
'background' => '',
'content' => '<p>Contenu généré dynamiquement</p>
',
'section_id' => '6',
'blockorder' => '1',
'draft' => '0'
)
)
)
)
)
Cet aprem, je me suis lancé dans l'internationalisation de mon site.
Par contre là je suis bloqué et sévèrement.
Bon j'ai commencé le tuto sur Grafikart.
Les débuts étaient prometteurs, mais j'ai fait un rollback de tout ce que j'avais fait.
Voilà toute l'histoire:
Ma question est simple ?
Je fais quoi !!! non je rigole !!!
Comment est-ce j'indique au behavior "Translate" que j'ai plusieurs blocs sur ma page afin de pouvoir tout traduire comme il faut ?
Si vous avez besoin de code, dites moi lesquels ?
Merci pour votre aide.
Bonsoir,
Une section peut appartenir a 2 pages différentes?!
Dans le cas contraire , tes liaisons sont 2 hasMany.. pas de HABTM