Cipher Bliss

Mot-clé - symfony2

Fil des billets - Fil des commentaires

dimanche 22 novembre 2015

convertir les fichiers de config de symfony2 facilement

un site bien sympa nommé __Symfony2 Service Config Converter__ permet de convertir du code au format .yml en .php , en .ini, en .xml
Rosstuck le donne aussi en bundle sur github afin de l'intégrer à vos commandes perso symfony2.

https://github.com/rosstuck/TuckConverterBundle Essayez, c'est marvellous pour faire correspondre une config de tuto à vos besoins!

mardi 7 avril 2015

un datepicker dans un formulaire symfony2

de base les formulaires symfony fournissent des sélecteurs pour choisir nos dates. pas besoin de jquery ou d'un bundle entier pour avoir des datepicker en HTML5, il suffit de définir les options du champ de formulaire avec un widget de single_text, de mettre le format de date en année-mois-jour, et de définir l'attribut type d'input à "date".

// ajouter un usage use Symfony\Component\Form\Extension\Core\Type\DateType; // déclaration de classe FactureType pour l'exemple class FactureType extends AbstractType { // dans le constructeur de form on ajoute notre champ /** * @param FormBuilderInterface $builder * @param array $options */ public function buildForm(FormBuilderInterface $builder, array $options) { $builder // ... dans le builder de votre formulaire ->add('paid_date', DateType::class, ['widget' => 'single_text', 'format' => 'yyyy-MM-dd', 'attr' => [ 'type' => 'datetime']])

enjoyez!

mercredi 4 juin 2014

FOSUserBundle could not convert database value to doctrine type array

Si lorsque vous tentez de faire un ajout ou suppression de role en ligne de commande pour FOSUserBundle (FOSUB) vous obtenez un message d'erreur de conversion de Doctrine, 

could not convert database value to doctrine type array

c'est parce que dans votre base de données, dans la colonne "role" de vos utilisateurs, vous avez des valeurs vides, au lieu d'avoir des sérialisations de tableaux vides.

Pour remédier à cela vous pouvez définir par défaut la chaine correspondant à un Array vide, et remplir les vides a coup de commande SQL.

UPDATE table SET column="a:0:{}" WHERE column = ""; 

(en remplaçant les noms de table (ma_table_des_utilisateurs) et de column (role) Vos commande de promotion de rôles fonctionneront alors comme par magie!

php app/console fos:user:promote jojo ROLE_ADMIN 
Role "ROLE_ADMIN" has been added to user "jojo".

sources: Trouvé et traduit depuis stackoverflow , image