blog ب zendframework 2 الجزء الخامس

imadbelasri Zend
ZN

فهاد الجزء الخامس من blog ب zendframework 2 غادي نكملوا الملفات لي كيمكنو من عرض وحدف article كما غادي نقادوا الملفات لي غادي يمكنوا من إضافة وعرض les catégories لي عندنا فقاعدة البيانات.


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


1- الملف view.phtml

دائما فالمجلد module/Post/view/post/post كنزيد ملف جديد كنسميه view.phtml فيه كنعرض ل article لي اختار المستخدم ولي جاني من ل fonction viewAction ولي جبدناه بل id ديالو بالإضافة لل catégorie ديالو وكنعرضهم الكود ديال الملف هو :

                                                    
                                                        <?php
 $title = $post->title;
 $this->headTitle($title);
 ?>
 <h1><?php echo $this->escapeHtml($title); ?></h1>
 <hr>
 <strong> Ajouté le : </strong><small class="text-danger"><?php echo $this->escapeHtml($post->created);?></small><br>
 <hr>
 <strong> Catégorie : </strong><small class="text-success"><?php echo $this->escapeHtml($categorie->name);?></small>
 <hr>
 <table class="table">
    <tr>
        <th>Description</th>
    </tr>
    <tr>
        <td><?php echo $this->escapeHtml($post->body);?></td>
    </tr>
 </table> 
                                                    
                                                

2- الملف delete.phtml

دائما فالمجلد module/Post/view/post/post كنزيد ملف جديد كنسميه delete.phtml فيه كاين deux boutons باش كي ي confirmer ل utilisateur la suppression ديال un article اختارو ولي ملي كيكليكي على oui كيمشي ل id ديال ل article لل fonction deleteAction لي كتمسح ل article من قاعدة البيانات الكود ديال الملف هو :

                                                        
                                                            <?php

$title = 'Supprimer un article';
$this->headTitle($title);
?>
<div class="container">
    <div class="row">
       <div class="col-md-6 col-md-offset-3">
            <h3 class="text-info"><?php echo $this->escapeHtml($title); ?></h3>
            <br><br>
            <p class="lead text-primary">Voulez vous vraiment supprimer cet article ?</p>
            <p class="text-default">'<?php echo $this->escapeHtml($post->title); ?>'</p>
            <?php
            $url = $this->url('post', array(
                'action' => 'delete',
                'id'     => $this->id,
            ));
            ?>
            <form action="<?php echo $url; ?>" method="post">
                <div>
                    <input type="hidden" name="id" value="<?php echo (int) $post->id; ?>" />
                    <button type="submit" name="del" value="Yes" class="btn btn-success btn-xs">Oui</button>
                    <button type="submit" name="del" value="No" class="btn btn-danger btn-xs">Non</button>
                </div>
            </form>
        </div> 
    </div> 
</div>
                                                        
                                                    

3- الملف category/index.phtml

فالمجلد module/Post/view/post زيد مجلد جديد سميه category كنزيد فيه ملف جديد كنسميه index.phtml فيه كيتعرضوا les catégories لي كيجيو من ل fonction indexAction لي عندنا فالملف CategoryController فجدول مع الروابط لي كتدي للملفات الخاصين بتعديل أوحدف catégorie وأيضا الرابط لي كيدي للملف الخاص بإضافة catégorie الكود ديال الملف هو :

                                                        
                                                            <?php
 $title = 'Catégories';
 $this->headTitle($title);
 ?>
 <h1><?php echo $this->escapeHtml($title); ?></h1>
 <hr>
 <p class="pull-right">
     <a href="<?php echo $this->url('category', array('action'=>'add'));?>" class="btn btn-primary">Ajouter</a>
 </p>
 <table class="table">
    <tr>
        <th>Catégorie</th>
        <th>Action</th>
    </tr>
    <?php foreach ($categories as $categorie) : ?>
    <tr>
        <td><?php echo $this->escapeHtml($categorie->name);?></td>
        <td>
            <a href="<?php echo $this->url('category',
                array('action'=>'edit', 'id' => $categorie->id));?>" class="text-warning">Modifier</a>
            <a href="<?php echo $this->url('category',
                array('action'=>'delete', 'id' => $categorie->id));?>" class="text-danger">Supprimer</a>
        </td>
    </tr>
    <?php endforeach; ?>
 </table>
                                                        
                                                    

4- الملف category/add.phtml

دائما فالمجلد module/Post/view/post/category كنزيد ملف جديد كنسميه add.phtml فيه كاين الفورم لي كتمكن من إدخال المعلومات الخاصة ب categorie ولي كيمشيو لل fonction addAction لي كاينة ف CategoryController الكود ديال الملف هو :

                                                        
                                                            <?php

 $title = 'Ajouter une catégorie';
 $this->headTitle($title);
 ?>
 <div class="container">
    <div class="row">
       <div class="col-md-6 col-md-offset-3">
       <h3 class="text-info"><?php echo $this->escapeHtml($title); ?></h3>
       <hr>
            <?php
                $form->setAttribute('action', $this->url('category', array('action' => 'add')));
                $form->prepare();

                echo $this->form()->openTag($form);
                echo $this->formHidden($form->get('id'));
                echo '<div class="form-group">'.$this->formRow($form->get('name')).'</div>';
                echo '<div class="form-group">'.$this->formSubmit($form->get('submit')).'</div>';
                echo $this->form()->closeTag();
            ?>
        </div> 
    </div> 
 </div>
                                                        
                                                    

5- الملف category/edit.phtml

دائما فالمجلد module/Post/view/post/category كنزيد ملف جديد كنسميه edit.phtml فيه كاين الفورم لي كتمكن من تعديل المعلومات الخاصة ب categorie ولي كيمشيو لل fonction editAction لي كاينة ف CategoryController فمنبعد مكيضغط المستخدم على modifier كيتوجه للملف لي فيه الفورم ولي فيها كتعرض ال categorie لي اختار الكود ديال الملف هو :

                                                        
                                                            <?php

 $title = 'Modifier une catégorie';
 $this->headTitle($title);
 ?>
<div class="container">
    <div class="row">
        <div class="col-md-6 col-md-offset-3">
            <h3 class="text-info"><?php echo $this->escapeHtml($title); ?></h3>
            <hr>
            <?php
            $form = $this->form;
            $form->setAttribute('action', $this->url(
                'category',
                array(
                    'action' => 'edit',
                    'id'     => $this->id,
                )
            ));
            $form->prepare();
            echo $this->form()->openTag($form);
            echo $this->formHidden($form->get('id'));
            echo '<div class="form-group">'.$this->formRow($form->get('name')).'</div>';
            echo '<div class="form-group">'.$this->formSubmit($form->get('submit')).'</div>';
            echo $this->form()->closeTag();
            ?>
        </div> 
    </div> 
 </div>