blog ب zendframework 2 الجزء السادس والأخير


فهاد الجزء السادس والأخيرغادي نكملو الملفات لي كيمكنوا من تعديل categorie وحدف categorie والملف لي غادي يتعرضوا فيه les articles ديال categorie اختارها المستخدم وغادي نشوفو الملف لي غادي يكونوا فيه روابط ال css وغادي تكون فيه قائمة التصفح كما غادي نشوفو كيفاش نحددو لل action لي غادي تكون par défaut هي لي غادي تعرض فالصفحة الرئيسية.

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

1- الملف category/view.phtml

دائما فالمجلد module/Post/view/post/category كنزيد ملف جديد كنسميه view.phtml فيه كنعرض les articles الخاصين بل categorie لي اختار المستخدم ولي جاونا من ل fonction viewAction  لي كاينة فالملف CategoryController ولي جبدناهم بل id ديال ل categorie   وكنعرضهم الكود ديال الملف هو :

                                <?php
 $title = 'Zend Blog';
 $this->headTitle($title);
 ?>
 <h1><?php echo $this->escapeHtml($title); ?></h1>
 <hr>
 <div class="container">
    <div class="row">
        <div class="col-md-8">
            <?php foreach ($posts as $post) : ?>
                <h4 class="text-info"><?php echo $this->escapeHtml($post->title);?></h4>
                <small class="text-danger"><?php echo $this->escapeHtml($post->created);?></small><br>
                <small class="text-success"><?php echo $this->escapeHtml($categorie->name);?></small>
                <p class="lead"><?php echo $this->escapeHtml(substr($post->body,0,100));?>...</p>
                <a href="<?php echo $this->url('post',
                    array('action'=>'view','id'=>$post->id));?>" class="text-warning">Voir</a>
                <hr>
            <?php endforeach; ?>
        </div>  
                                                                                              
    </div>  
</div>   
    
   
                            

2- الملف category/delete.phtml

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

                                <?php

$title = 'Supprimer une catégorie';
$this->headTitle($title);
?>
<div class="container">
    <div class="row">
       <div class="col-md-6 col-md-offset-3">
            <h3 class="text-primary"><?php echo $this->escapeHtml($title); ?></h3>
            <br><br>
            <p class="text-info lead">Voulez vous vraiment supprimer cette catégorie ?  </p>
            <p class="text-default">'<?php echo $this->escapeHtml($categorie->name); ?>'</p>
            <?php
            $url = $this->url('category', array(
                'action' => 'delete',
                'id'     => $this->id,
            ));
            ?>
            <form action="<?php echo $url; ?>" method="post">
                <div>
                    <input type="hidden" name="id" value="<?php echo (int) $categorie->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
<hr>
                            

3- الملف layout.phtml

 فالمجلد module/Application/view/layout كاين الملف  layout.phtml لي فيه الروابط لملفات css وjs لي غادي نحتاجو والقائمة لي كنديرو عليها تغييرات باش توالم داكشي لي غادي نحتاجو فكنزيد الروابط لي كيديوني للملفات لي زدت ولي كيمكنو من عرض les articles إضافة article ونفس الشي بالنسبة لل categorie الكود ديال الملف هو :

                                <?php echo $this->doctype(); ?>

<html lang="en">
    <head>
        <meta charset="utf-8">
        <?php echo $this->headTitle('ZF2 '. $this->translate('Skeleton Application'))->setSeparator(' - ')->setAutoEscape(false) ?>

        <?php echo $this->headMeta()
            ->appendName('viewport', 'width=device-width, initial-scale=1.0')
            ->appendHttpEquiv('X-UA-Compatible', 'IE=edge')
        ?>

        <!-- Le styles -->
        <?php echo $this->headLink(array('rel' => 'shortcut icon', 'type' => 'image/vnd.microsoft.icon', 'href' => $this->basePath() . '/img/favicon.ico'))
                        ->prependStylesheet($this->basePath('css/style.css'))
                        ->prependStylesheet($this->basePath('css/bootstrap-theme.min.css'))
                        ->prependStylesheet($this->basePath('css/bootstrap.min.css')) ?>

        <!-- Scripts -->
        <?php echo $this->headScript()
            ->prependFile($this->basePath('js/bootstrap.min.js'))
            ->prependFile($this->basePath('js/jquery.min.js'))
            ->prependFile($this->basePath('js/respond.min.js'), 'text/javascript', array('conditional' => 'lt IE 9',))
            ->prependFile($this->basePath('js/html5shiv.min.js'),   'text/javascript', array('conditional' => 'lt IE 9',))
        ; ?>

    </head>
    <body>
        <nav class="navbar navbar-inverse navbar-fixed-top" role="navigation">
            <div class="container">
                <div class="navbar-header">
                    <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
                        <span class="icon-bar"></span>
                        <span class="icon-bar"></span>
                        <span class="icon-bar"></span>
                    </button>
                    <a class="navbar-brand" href="<?php echo $this->url('home') ?>"><img src="<?php echo $this->basePath('img/zf2-logo.png') ?>" alt="Zend Framework 2"/> <?php echo $this->translate('Zend Blog') ?></a>
                </div>
                <div class="collapse navbar-collapse">
                    <ul class="nav navbar-nav">
                        <li class="active"><a href="<?php echo $this->url('home') ?>"><?php echo $this->translate('Accueil') ?></a></li>
                        <li class="dropdown">
                            <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Catégories <span class="caret"></span></a>
                            <ul class="dropdown-menu">
                                <li><a href="<?php echo $this->url('category', array('action' => 'index', 'controller' => 'Category'));?>">catégories</a></li>
                                <li><a href="<?php echo $this->url('category', array('action' => 'add', 'controller' => 'Category'));?>">ajouter</a></li>
                            </ul>
                        </li>
                        <li class="dropdown">
                            <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Articles <span class="caret"></span></a>
                            <ul class="dropdown-menu">
                                <li><a href="<?php echo $this->url('post', array('action' => 'index', 'controller' => 'Post'));?>">articles</a></li>
                                <li><a href="<?php echo $this->url('post', array('action' => 'add', 'controller' => 'Post'));?>">ajouter</a></li>
                            </ul>
                        </li>
                    </ul>
                </div><!--/.nav-collapse -->
            </div>
        </nav>
        <div class="container">
            <?php echo $this->content; ?>
            <hr>
            <footer>
                <p>© 2016 - <?php echo date('Y') ?> DarijaCoding.</p>
            </footer>
        </div> <!-- /container -->
        <?php echo $this->inlineScript() ?>
    </body>
</html>

                            

4- الملف module.config.php

 فالمجلد module/Application/config كاين الملف module.config.php فيه عندنا la configuration ديال ل application ديالنا فهنا كندير تغيير على routes فكنحدد ل homeAction لي عندي فال PostController  هي لي غادي تعرض فالصفحة الرئيسية par défaut الكود لي غادي تغير هو :

                                    'home' => array(
                'type' => 'Zend\Mvc\Router\Http\Literal',
                'options' => array(
                    'route'    => '/',
                    'defaults' => array(
                        'controller' => 'Post\Controller\Post',
                        'action'     => 'home',
                    ),
                ),
            ),
                                

5- الملف public/index.php

فباش متبانش عندنك فل application des erreurs حيت فل version 3 ديال zend دارو تغييرات على structure ديال les fichiers وديال les classes كنمشي للمجلد public وللملف index وكنزيد هاد السطر فأول الملف من بعد
la balise <?php :

                                    ini_set ( "error_reporting", E_ALL & ~ E_DEPRECATED & ~E_USER_DEPRECATED  & ~ E_STRICT );
                                


إشترك في قناتنا على اليوتيوب

بحث في الموقع


إشترك للتوصل بالجديد