كيفاش تصاوب Notes Application ب symfony framework الجزء الثاني

فهاد الجزء الثاني من كيفاش تصاوب Notes Application ب symfony framework غادي نكملو الملفات لي غادي يعرضو جميع الفئات لي عندنا فقاعدة البيانات ولي غادي تكون فيهم الفورم ديال الإضافة والتعديل والملف لي غادي يكون هو الصفحة الرئيسية ديالنا.

نظرة سريعة بالفيديو


1- الملف categories/add.html.twig


فالمجلد app/resources/views زيد مجلد جديد سميه categories فيه زيد ملف جديد سميه add.html.twig هادا الملف لي غادي تكون فيه الفورم لي غادي تمكنا من إضافة catégorie فقاعدة البيانات بواسطة fonction addAction لي زدناها فالملف CategoriesController.php والفورم لي صاوبنا تما ورسلناها لهاد الملف هي لي كتعرض فهاد الملف الكود ديال الملف هو:

                                    
                                        {% extends 'base.html.twig' %}

{% block body %}
    <div class="row">
        <div class="col-md-6 col-md-offset-3">
            <div class="panel panel-info">
                <div class="panel-heading">
                    <h3 class="panel-title">Ajouter une catégorie</h3>
                </div>
                <div class="panel-body">
                    {{ form_start(form) }}
                    {{ form_widget(form) }}
                    {{ form_end(form) }}
                </div>
            </div>
        </div>
    </div>
{% endblock %}

{% block stylesheets %}

{% endblock %}
                                    
                                

2- الملف categories/edit.html.twig


دائما فالمجلد categories فيه زيد ملف جديد سميه edit.html.twig هادا الملف لي غادي تكون فيه الفورم لي غادي تمكنا من تعديل catégorie فقاعدة البيانات بواسطة fonction editAction لي زدناها فالملف CategoriesController.php والفورم لي صاوبنا تما ورسلناها لهاد الملف هي لي كتعرض فهاد الملف الكود ديال الملف هو:

                                    
                                        {% extends 'base.html.twig' %}

{% block body %}
    <div class="row">
        <div class="col-md-6 col-md-offset-3">
            <div class="panel panel-info">
                <div class="panel-heading">
                    <h3 class="panel-title">Modifier une catégorie</h3>
                </div>
                <div class="panel-body">
                    {{ form_start(form) }}
                    {{ form_widget(form) }}
                    {{ form_end(form) }}
                </div>
            </div>
        </div>
    </div>
{% endblock %}

{% block stylesheets %}

{% endblock %}
                                    
                                

3- الملف categories/index.html.twig


دائما فالمجلد categories فيه زيد ملف جديد سميه index.html.twig لي هو الصفحة الرئيسية ديال les catégories ولي كتستقبل les catégories لي ترسلو من لfonction indexAction لي فالملف CategoriesController.php وكنخدم ب for باش كنعرض المعلومات الخاصة بكل catégorie ثم كاين الروابط ليكيوجهو المستخدم للصفحات الخاصة بتعديل أو حدف catégorie الكود ديال الملف هو :

                                      
                                        {% extends 'base.html.twig' %}

{% block body %}
  <div class="container-fluid">
    <section class="col .col-xs-12 .col-sm-6 .col-md-8 col-lg-12 main">
        <h3 class="text-primary">Catégories</h3><hr>
        <table class="table table-striped table-bordered table-responsive">
            <thead>
            <tr><th>Catégorie</th><th>Ajoutée</th><th>Action</th></tr>
            </thead>
            <tbody>
               {% for category in categories %}
                <tr>
                    <td>{{category.name}}</td>
                    <td>{{category.createdAt|date('Y-m-d')}}</td>
                    <td> 
                        <a href="{{ path('edit_category',{'id':category.id})}}" class="btn btn-warning">Modifier</a>
                        <a href="{{ path('delete_category',{'id':category.id})}}" class="btn btn-danger">Supprimer</a>
                    </td>
                </tr>
               {% endfor %}
            </tbody>
        </table>
    </section>
{% endblock %}

{% block stylesheets %}

{% endblock %}
                                      
                                    

4- الملف default/index.html.twig


فالمجلد app/resources/views/default كاين ملف سميتو index.html.twig لي هو الصفحة الرئيسية ديالنا ولي فيها الروابط ليكيوجهو المستخدم للصفحات الخاصة بإضافة note أوcatégorie الكود ديال الملف هو :

                                        
                                            {% extends 'base.html.twig' %}

{% block body %}
    <div class="panel panel-info">
        <div class="panel-heading">
            <h3 class="panel-title">Bienvenue</h3>
        </div>
        <div class="panel-body">
            <a href="{{ path('add_note')}}" class="btn btn-success">Ajouter une note</a>
            <a href="{{ path('add_category')}}" class="btn btn-success">Ajouter une catégorie</a>
        </div>
    </div>
{% endblock %}

{% block stylesheets %}

{% endblock %}
                                        
                                    

5- الملف DefaultController.php


فالمجلد app/src/AppBundle/controller كاين ملف سميتو DefaultController.php لي هو controller par défault وفيه ل fonction indexAction ولي كتوجه المستخدم للصفحة الرئيسية ديالنا الكود ديال الملف هو :

                                        
                                            <?php

namespace AppBundle\Controller;

use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\Request;

class DefaultController extends Controller
{
    /**
     * @Route("/", name="homepage")
     */
    public function indexAction(Request $request)
    {
        // replace this example code with whatever you need
        return $this->render('default/index.html.twig', [
            'base_dir' => realpath($this->getParameter('kernel.root_dir').'/..').DIRECTORY_SEPARATOR,
        ]);
    }
}
                                        
                                    

كلمات مفاتيح :