Parlons de votre projet

Blog PartITech

Blog technologique

Analyses techniques, guides pratiques et retours d’expérience pour concevoir, moderniser et maintenir des applications durables.

241 articles Page 15

Symfony 4 / Sonata : créer une administration ManyToMany

Nous allons ici développer l’ensemble des manipulations pour construire une interface many to many via Sonata.Nous prendrons comme exemple une gestion de zones avec une liaison par départements. Chaque zones est donc constitué d’un liaison multiple avec la table département.Sous MysqlWorkbench, cela donne ceci : Pour générer les entity, nous utilisons la commande suivante : php bin/console doctrine:mapping:im...

Symfony / Sonata : Ajouter une fonction clone dans un CRUD

Pour ajouter une fonctionnalité de duplication d’objet sur une liste CRUD, il faut modifier la liste en ajoutant le bouton, configurer une route, et exécuter un code de duplication d’objet, et pour finir, référencer le controller qui accueillera notre fonction dans notre interface, via son service.Ajouter le bouton :Dans votre controller ajouter le bouton en donnant en référence le template du bouton.Ici nous mettons le path ‘Admin/l...

Symfony 4 / Sonata : Créer une interface CRUD imbriquée (child 1->N) avec l’ordre en drag’n Drop

En gros on souhaites faire une interface CRUD, 1N, avec laquelle, lorsque l’on est sur l’édition d’un élément, on ajoute un panel pour gérer tous les éléments fils.Ici nous avons une table wtype, avec une table wconf qui contient une série d’enregistrement reliés a un item wtype. Tout comme pour l’exemple d’implémentation du sortable avec drag&r...

Symfony 4 / Sonata : Gérer l’ordre en drag’n drop

Il faut installer pixassociates/sortable-behavior-bundle et stof/doctrine-extensions-bundle composer require stof/doctrine-extensions-bundle composer require pixassociates/sortable-behavior-bundle Ajouter la configuration dans pix_sortable.yamlEn ajoutant l’entité et le champs dans position_field (ici wconf, et le champs position) pix_sortable_behavior: db_driver: orm # mongodb default value : orm position_field: default: position #default value : position ...

Symfony 4 / Sonata : utiliser les types de formulaire

Voici une liste de forms types comums utilisés dans les interfaces d’admin.Date time picker Ajouter le template dans le fichier config/packages/twig.yaml twig: form_themes: - '@SonataCore/Form/datepicker.html.twig' Et dans le controller : $formMapper->with('Date d\'activation', ['class' => 'col-md-4 abcdaire']) ->add('activation_debut', DatePickerType::class, ['required' => false, 'label'=>'Activation début','attr...

Symfony 4 / Sonata ajouter un filtre lié à une entité OneToMany

Les filtres sont géré dans la méthode configureDatagridFilters protected function configureDatagridFilters(DatagridMapper $datagridMapper) { $filers=$datagridMapper->getAdmin()->getFilterParameters(); } On peu rajouter un filtre simple sur un titre ou n’importe quel paramètre de notre entité.Le paramètre show_filter permet d’afficher celui-ci au chargement de la page. Combiné avec la valeur de $filters on peut spéc...

Symfony 4 / Sonata : Utiliser une clé primaire avec un /

Aussi bizarre que cela puisse paraître j’ai du utiliser une entity avec une primary key positionné sur un champ de type varchar, et certaines valeurs contenaient un « / ».Tant que l’on est pas confronté au problème, impossible de se dire que cela va poser un soucis. Et la c’est le drame. An exception has been thrown during the rendering of a template ("Parameter "id" for route "admin_app_wtype_...

Mettre les bonnes permissions aux fichiers WordPress

Les permissions de wordpress doivent être de 755 pour les dossiers et de 644 pour les fichiers.L’ensemble doit avoir le même user/groupe que le serveur. chown www-data:www-data -R * find . -type d | xargs chmod -v 755 find . -type f | xargs chmod -v 644 Reproduire cette personnalisation aujourd’hui Le principe du hook reste utile, mais les écrans d’administration et les API WordPress ont évolué depuis la publication. Testez le code dans un environnement de recette avec la...

Symfony 4 / Sonata : Créer une administration OneToMany (1N)

Nous allons créer une une interface d’administration 1N, avec deux entités. La première One, et la seconde Many, et faire un panel d’admin pour la table One, qui pourras affected plusieurs éléments de la table Many. Pour corser le truc, on s’ajoute quelques paramètres additionnels, tel que des champs timestamps pour une date de synchro avec un SI, et des champs primary qui ne s’appellent pas ID et qui ne sont pas auto incr&eac...

Symfony 4 / Sonata : Créer une authentification front-end

Pour utiliser une table différente de celle par défaut pour l’authentification,Il faut d’abords créer notre entity qui va gérer nos utilisateurs.Cette entity doit ensuite être implémenté à UserInterface.Il faut donc ajouter un référence au composant et l’implémenter : <?php namespace App\Entity; use Doctrine\Common\Collections\ArrayCollection; use Doctrine\Common\Collections\Collection; use Doct...

Symfony 4 / Sonata : Initialiser un projet Symfony 4 + Sonata + FosUser + Media

Voici les commandes pour initialiser un projet symfony, avec un admin sécurisé. On commence par installer le skeleton du projet.composer create-project symfony/skeleton nom-du-projet On rajoute les briques nécessaires : cd nom-du-projet composer require symfony/debug-pack --no-update composer require symfony/maker-bundle --dev --no-update composer require sonata-project/doctrine-orm-admin-bundle --no-update composer require templating --no-update compose...

Désactiver l’intégration de la souris dans VIM

Pour désactiver la souris dans vim, il suffit d’inscrire l’instruction suivante dans ~/.vimrcset mouse-=aPuis de reloader le fichier parametre . ~/.vimrc Précautions avant d’exécuter la commande Ce tutoriel conserve la commande et le contexte de sa publication. Avant de l’utiliser sur un dépôt actuel, inspectez la branche, les fichiers modifiés et la cible exacte : git status --short git log --oneline --decorate -5 Créez une branche ou un tag de sauvegarde lorsque l’opéra...