Bonjour,
Petit problème, lorsque je valide un formulaire, j'ai un champ qui est apparemment vide mais invisible, donc ce même formulaire n'envoie pas la requête.
J'ai alors le droit à un "veuillez compléter ce champs". Je soupçonne le champ du token...
J'ai bien le :
[code] {{ form_rest(form) }}[/code]
dans ma vue.
Côté constructeur de formulaire, j'ai bien mon fichier xType.
Si quelqu'un a une idée ou une suggestion de manip' pour trouver le problème je suis preneur !
Une des vues d'administration, pour ajouter un page :
[code]{% extends "AkodiBlogBundle::layoutAdmin.html.twig" %}
{% block body %}
<h2 class="page-header">Ajouter une page</h2>
<div class="well">
{{ form_start(form, {'attr': {'class': 'form'}}) }}
{{ form_errors(form) }}
<div class="form-group">
{{ form_label(form.titre) }}
{{ form_errors(form.titre) }}
{{ form_widget(form.titre, {'attr': {'class': 'form-control'}}) }}
</div>
<div class="form-group">
{{ form_label(form.contenu) }}
{{ form_errors(form.contenu) }}
{{ form_widget(form.contenu, {'attr': {'class': 'form-control', 'rows': '20'}}) }}
</div>
{{ form_rest(form) }}
<input type="submit" class="btn btn-primary" />
{{ form_end(form) }}
</div>
{% endblock %}[/code]
L'action du controlleur page :
[code]public function ajouterAction()
{
if (!$this->get('security.context')->isGranted('ROLE_ADMIN')) {
return $this->redirect($this->generateUrl('login'));
}
$page = new Page;
$form = $this->createForm(new PageType, $page);
$request = $this->get('request');
if($request->getMethod() == 'POST') {
$form->bind($request);
if($form->isValid()) {
$this->get('akodi_page_manager')->savePage($page);
return $this->redirect($this->generateUrl('akodi_page_single', array(
'id' => $page->getId()
)));
}
}
return $this->render('AkodiBlogBundle:Page:ajouter.html.twig', array('form' => $form->createView()));
}
[/code]
Et le PageType généré en ligne de commande :
[code]<?php
namespace Akodi\BlogBundle\Form;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolverInterface;
class PageType extends AbstractType
{
/**
@param array $options
*/
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('titre')
->add('contenu')
;
}
/**
@param OptionsResolverInterface $resolver
*/
public function setDefaultOptions(OptionsResolverInterface $resolver)
{
$resolver->setDefaults(array(
'data_class' => 'Akodi\BlogBundle\Entity\Page'
));
}
/**
À savoir aussi que cela est survenu au moment où j'ai rajouté l'ajout des pages (donc ce code-ci). Avant cela, l'ajout des articles, catégories, ect... fonctionnaient très bien. Mais le beug s'étend à tout les formulaire d'ajout (donc vide au chargement de la page). Pas de beug pour les formulaires de modif'.
Merci & bonne journée !