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>