taingk / blossom

Projet annuel
0 stars 1 forks source link

Ajout de modules dynamiques #102

Closed taingk closed 6 years ago

taingk commented 6 years ago

Ajout dynamique de :

taingk commented 6 years ago

Comment ça marche ?

1) Tout d'abord, cibler le contenu que vous souhaitez ajouter dynamiquement sur votre view

Prenons pour exemple des produits à afficher dans une page de catégorie sur le front-office. Bien sûr, cela se fait sur le back-office, donc controllers/back/ProductsController.class.php

2) Localisez addAction

Vous la voyez cette méthode ? C'est LA méthode qui ajoute un produit en base. C'est aussi celle qui ajoute tout en base ! Bref, dans cette méthode, vous allez implémenter l'ajout d'un produit en :

On instancie aussi un objet View pour lui donner la vue et le template.

Très bien, mais le formulaire n'est pas encore initialisé !

3) Ajout du formulaire

Vous voyez le model dont je vous ai parlé juste en haut ? Et bien on vas CREER une méthode retournant un tableau qui composera notre futur formulaire d'ajout de produit ! Notre tableau sera composé d'un truc comme cela :

[config] => [ "method" ] => "POST", "action" => "", "submit" => "Ajouter un produit", "class" => "form col-xxs-..."
[input] => [
      "name de votre input" => [
                                    "paramètre de votre input genre type/placeholder/id ... selon vos besoins" => "valeur de votre type/placeholder/id ...",
                                    "Et vous en créez" => "autant que vous en avez besoin ..."
                               ]
      "name de votre input" => [
                                    "paramètre de votre input genre type/placeholder/id ... selon vos besoins" => "valeur de votre type/placeholder/id ...",
                                    "Et vous en créez" => "autant que vous en avez besoin ..."
                               ]
]

Voilà ce fut long. On retourne dans notre controllers/back/ProductsController.class.php pour récuperer notre tableau !

Si vous avez bien suivi les étapes, vous avez déjà instancier un objet produit. Et bien ça tombe bien car on vas déclarez une variable et on vas lui donner le tableau qu'on vient tout juste de créer grâce à l'objet qu'on a instancié juste avant. Ensuite on utilise la méthode assign de l'objet View, puis on lui donne notre beau tableau pour pouvoir l'afficher sur notre vue.

4) Affichage du formulaire

On vas de suite créer un fichier .mdl.php dans le dossier views/modals/ qui servira de template pour notre ajout de produit. Ce fichier est très important, c'est dedans qu'on précise et qu'on met en forme notre formulaire : je ne peux que vous conseillez de regarder l'exemple préfait (par mes soins) views/modals/form/mdl/php

Bien, une fois terminé, vous avez un formulaire bien formé tout ça tout ça, sauf qu'il ne s'affiche pas lol. Pour terminer, aller dans la view où vous voulez l'afficher et écrivez simplement :

<?php $this->addModal( "Nom de votre .mdl.php sans cette extension", $aConfig, $aErrors ) ?>

Magie, votre formulaire est en point ! (ou pas ..)