Symfony 3 - Problème formulaire
Salut,
Mon problème est que mon contenu ne s'affiche pas sur la page d'accueil, je vous met tout mes controllers/views correspondant à mon problème :
Quand je valide mon formulaire, les données ne vont pas en BDD..
admin Controller :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
| <?php
namespace SiteBundle\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
class AdminController extends Controller
{
public function homePageAdministrationAction(){
return $this->render('@Site/admin/default/administration.html.twig');
}
public function articleAction()
{
//récupere l'enitty manager ( stockée dans la variable $em )
$em = $this->getDoctrine()->getManager();
//récupère le repository lié à l'entité auteur ( stockée dans $rep )
$repArticle = $em->getRepository('SiteBundle:Article');
// findAll() = Récupère toutes les données en tableau de la BDD de la table auteur du Repository
$articles = $repArticle->findAll();
//var_dump($autheur); die();
return $this->render('@Site/admin/default/addArticlehome.html.twig', ['value' => $articles]);
}
} |
addArticleHome :
Code:
1 2 3 4 5
| % for value in article %}
{{ value.artTitle }}
{{ value.artContent }}
{{ value.artImg }}
{% endfor %} |
FormController :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
|
<?php
namespace SiteBundle\Controller;
use SiteBundle\Entity\Article;
use SiteBundle\Form\ArticleType;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\Request;
class FormController extends Controller
{
public function addArticleAction(Request $request)
{
$em = $this->getDoctrine()->getManager();
$article = new Article();
$form = $this->createForm(ArticleType::class,$article);
if ($request->isMethod('post')){
$form->handleRequest($request);
if ($form->isValid()){
$em->persist($article);
$em->flush();
}
return $this->render($this->redirectToRoute('site_homepage'));
}
$vars ['form'] = $form->createView();
return $this->render('@Site/admin/form/formArticle.html.twig', $vars);
}
} |
FormArticle :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
|
{{ form_start(form) }}
{{ form_label(form.artTitle, 'Title :' )}}
{{ form_errors(form.artTitle) }}
{{ form_widget(form.artTitle) }}
{{ form_label(form.artContent, 'Contenu :' )}}
{{ form_errors(form.artContent) }}
{{ form_widget(form.artContent) }}
{{ form_label(form.artImg, "Lien de l'image :" )}}
{{ form_errors(form.artImg) }}
{{ form_widget(form.artImg)}}
<button type="submit">Ajouter</button>
{{ form_end(form) }} |
base :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
| <!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/html">
<head>
<meta charset="UTF-8" />
<title>{% block title %}Welcome!{% endblock %}</title>
{% block stylesheets %}
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.0/css/bootstrap.min.css" integrity="sha384-9gVQ4dYFwwWSjIDZnLEWnxCjeSWFphJiwGPXr1jddIhOegiu1FwO5qRGvFXOdJZ4" crossorigin="anonymous">
<link href="https://fonts.googleapis.com/css?family=Roboto" rel="stylesheet">
<link rel="stylesheet" href="">
<link rel="stylesheet" href="{{ asset('assets/css/reset.css') }}">
<link rel="stylesheet" href="{{ asset('assets/css/global.css') }}">
{% endblock %}
<link rel="icon" type="image/x-icon" href="{{ asset('favicon.ico') }}" />
</head>
<body>
{{ include('@Site/components/header.html.twig') }}
{% block body %}{% endblock %}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="{{ asset('assets/js/main.js') }}"></script>
</body>
</html> |
administration :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| {% extends '@Site/base.html.twig' %}
{% block body %}
<section>
<div class="optionsAdministration">
<h3 class="titleOptionAdministration">Les options :</h3>
<div class="separation-admin"></div>
<div id="flip"><p class="adminAddArticle">Ajouter un article sur l'accueil</p></div>
<div id="panel">{{ render(controller('SiteBundle:Form:addArticle')) }}</div>
<div id="flip1"><p class="adminAddCategory">Ajouter une catégorie forum</p></div>
<div id="panel1">morning</div>
<div id="flip2"><p class="adminEditGradeMembers">Modifier les grades des members</p></div>
<div id="panel2">good night</div>
</div>
</section>
{% endblock %} |
Merci,
Bonne journée,