موقع إلكتروني من الصفر إلى الإحتراف بcakephp الجزء الثاني

موقع إلكتروني من الصفر إلى الإحتراف بcakephp الجزء الثاني


فهاد الجزء الثاني من هاد المشروع لي عبارة عن موقع باستعمال cakephp غادي نكملو الصفحة الرئيسية لي غادي تمكن من عرض المعلومات لي فقاعدة البيانات بالإضافة للصفحات الأخرى.

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

- الملف search.ctp

هاد الملف هو لي غادي يمكن المستخدم من البحث على معلومات فقاعدة البيانات ولي غادي يكون غير فالصفحة الرئيسية وصفحة العرض ديال فرص العمل فغادي نمشي ل Template/Element وغادي نزيد ملف نسميه search.ctp ولي غادي يكون الكود ديالو :

                                <div class="row">
    <div class="col-md-10 col-md-offset-1">
        <div class="well">
            <?php echo $this->Form->create($offres, ['url' => ['action' => 'find']]);?>
                <div class="row">
                    <div class="col-md-3">
                        <input type="text" class="form-control" id="search" name="keywords" placeholder="Entrer un mot clé">
                    </div>
                    <div class="col-md-4">
                        <select name="ville" id="ville" class="form-control">
                            <option value="default">Veuillez choisir une ville</option>
                            <option value="Taza">Taza</option>
                            <option value="Fés">Fés</option>
                            <option value="Rabat">Rabat</option>
                            <option value="Casablanca">Casablanca</option>
                            <option value="Tanger">Tanger</option>
                            <option value="Oujda">Oujda</option>
                            <option value="Agadir">Agadir</option>
                        </select>
                    </div>
                    <div class="col-md-4">
                        <select name="categorie" id="categorie" class="form-control">
                            <option value="default">Veuillez choisir une catégorie</option>
                            <?php foreach($categories as $categorie):?>
                                <option value="<?php echo $categorie->id;?>"><?php echo $categorie->name;?></option>
                            <?php endforeach;?>
                        </select>
                    </div>
                    <div class="col-md-1">
                        <button class="btn btn-default"><span class="fa fa-search"></span></button>
                    </div>
                </div>
            <?php echo $this->Form->end();?>
        </div>
    </div>
</div>
                            

- الملف index.ctp

من بعد فالمجلد Template غادي نزيد مجلد جديد نسميه Offres لي غادي تكون فيه الصفحة الرئيسية وكل الصفحات لي عندهم علاقة بعروض العمل وغادي نزيد ملف نسميه index.ctp ولي غادي يكون هو الصفحة الرئيسية ولي غادي يمكن من عرض جميع عروض العمل لي مسجلين عندي فقاعدة البيانات بالإضافة للملف search.ctp لي غادي يكون داخل فيه الكود ديال index.ctp هو :

                                <?php echo $this->element('search');?>
<div class="row categories">
    <?php foreach($categories as $categorie):?>
      <div class="col-md-3"><?php echo $this->Html->link($categorie->name,array('controller'=>'offres','action'=>'browse',$categorie['id']))?></div>
    <?php endforeach;?>
</div>
<div class="col-md-11 col-md-offset-1 offre">
    <h2 class="text-primary">Les dérniéres offres</h2>
    <?php foreach($offres as $offre):?>
        <div class="row">
            <div class="col-md-12">
                <div class="">
                    <h3 class="text-primary"> <span class="<?php echo $offre->type->color;?>"><?php echo $offre->type->name;?></span> <?php echo $offre['title'];?>(<?php echo $offre['ville'];?>)</h3>
                    <?php if(!empty($offre->created)):?>
                    <small><?php echo $offre->created->format("Y-m-d h:i:s");?></small>
                    <?php endif;?>
                    <p class="lead">
                        <?php echo $this->Text->truncate($offre['desc'],200,array('ellipsis'=>'...','exact'=>false));?>
                        <?php echo $this->Html->link('Voir'.$this->Html->tag('i', '', array('class' => 'fa fa-arrow-right')),array('controller'=>'offres','action'=>'view',$offre['id']),array('escape' => false))?>
                    </p>
                </div>
            </div>
        </div>
        <hr> 
    <?php endforeach;?>
</div>
                            

- الملف browse.ctp

من بعد فالمجلد Offres غادي نزيد ملف نسميه browse.ctp ولي غادي يمكن من عرض جميع عروض العمل لي مسجلين عندي فقاعدة البيانات الفرق بينو وبين index.ctp هو أن browse.ctp كيعرض جميع عروض العمل لي فقاعدة البيانات بينما index.ctp كيعرض فقط واحد العدد محدد الكود ديال browse.ctp هو :

                                <div class="col-md-11 col-md-offset-1 offre">
    <h2 class="text-primary">Les dérniéres offres</h2>
    <?php foreach($offres as $offre):?>
        <div class="row">
            <div class="col-md-12">
                <div class="">
                    <h3 class="text-primary"> <span class="<?php echo $offre->type->color;?>"><?php echo $offre->type->name;?></span> <?php echo $offre['title'];?>(<?php echo $offre['ville'];?>)</h3>
                    <?php if(!empty($offre->created)):?>
                    <small><?php echo $offre->created->format("Y-m-d h:i:s");?></small>
                    <?php endif;?>
                    <p class="lead">
                        <?php echo $this->Text->truncate($offre['desc'],200,array('ellipsis'=>'...','exact'=>false));?>
                        <?php echo $this->Html->link('Voir'.$this->Html->tag('i', '', array('class' => 'fa fa-arrow-right')),array('controller'=>'offres','action'=>'view',$offre['id']),array('escape' => false))?>
                    </p>
                </div>
            </div>
        </div>
        <hr> 
    <?php endforeach;?>
</div>
                            

- الملف view.ctp

من بعد فالمجلد Offres غادي نزيد ملف نسميه view.ctp ولي غادي يمكن من عرض المعلومات الخاصة بعرض عمل لي اختار المستخدم الكود ديال رview.ctp هو :

                                    <div class="col-md-11 col-md-offset-1 offre">
    <div class="row">
        <div class="col-md-12">
            <div class="">
                <h3 class="text-primary"> <span class="<?php echo $offre->type->color;?>"><?php echo $offre->type->name;?></span> <?php echo $offre->title;?>(<?php echo $offre->ville;?>)</h3>
                <?php if(!empty($offre->created)):?>
                    <small><?php echo $offre->created->format("Y-m-d h:i:s");?></small>
                <?php endif;?>
                <p class="lead">
                    <?php echo $offre->desc;?>
                </p>
                <p class="lead">
                    <span class="label label-primary"><i class="fa fa-user"></i> <?php echo $offre->company_name;?></span>
                    <span class="label label-success">Contact: <?php echo $offre->contact_email;?></span>
                    <?php if($authUser):?>
                    <span> <?php echo $this->Html->link($this->Html->tag('i', '', array('class' => 'fa fa-pencil')).' Modifier',array('controller'=>'offres','action'=>'edit',$offre['id']),array('escape' => false,'class'=>'text-warning'))?></span>
                    <span>
                        <?php echo $this->Form->postLink(
                            'Supprimer',
                            ['action' => 'delete', $offre->id],
                            ['class' => 'text text danger','confirm' => 'Êtes vous sûr ?']
                        );
                        ?> 
                    </span>
                    <?php endif;?>
                </p>
            </div>
        </div>
    </div>
    <hr> 
</div>
                                

- الملف add.ctp

من بعد فالمجلد Offres غادي نزيد ملف نسميه add.ctp ولي غادي يمكن من إضافة عرض عمل لقاعدة البيانات الكود ديال add.ctp هو :

                                    <div class="row">
    <div class="col-md-11 col-md-offset-1 offre">
        <div class="row">
            <div class="col-md-6 col-md-offset-2">
                <h2 class="text-primary">Ajouter une offre</h2>
                <?php echo $this->Form->create($offre, ['url' => ['action' => 'add'],'class'=>'well']);?>
                <div class="form-group">
                    <?php echo $this->Form->input('Titre*', ['required' => false,'name'=>'title','placeholder'=>'Entrer le titre','class'=>'form-control']); ?>
                </div>
                <div class="form-group">
                    <?php echo $this->Form->input('Entreprise*', ['required' => false,'name'=>'company_name','placeholder'=>'Entrer l\'entreprise','class'=>'form-control']); ?>
                </div>
                 <div class="form-group">
                    <?php echo $this->Form->input('Catégorie*',array(
                        'type'=>'select',
                        'options'=>$categories,
                        'empty'=>'Veuillez choisir une catégorie',
                        'class'=>'form-control',
                        'name'=>'category_id'
                    ));
                    ?>
                </div>
                <div class="form-group">
                    <?php echo $this->Form->input('Type*',array(
                        'type'=>'select',
                        'options'=>$types,
                        'empty'=>'Veuillez choisir un type',
                        'class'=>'form-control',
                        'name'=>'type_id'
                    ));
                    ?>
                </div>
                <div class="form-group">
                    <?php echo $this->Form->input('quote', ['required' => false,'name'=>'desc','label'=>'Description*','rows'=>'5','cols'=>'40','placeholder'=>'Entrer la description','class'=>'form-control']); ?>
                </div>
                <div class="form-group">
                    <?php echo $this->Form->input('Ville*', ['required' => false,'name'=>'ville','placeholder'=>'Entrer la ville','class'=>'form-control']); ?>
                </div>
                <div class="form-group">
                    <?php echo $this->Form->input('Email*', ['required' => false,'name'=>'contact_email','placeholder'=>'Entrer votre email','class'=>'form-control']); ?>
                </div>
                <div class="form-group">
                    <?php echo $this->Form->button('Ajouter',['class'=>'btn btn-success']); ?>
                </div>
             </div>
             <?php echo $this->Form->end();?>
        </div>   
    </div>
</div>
                                


بحث في الموقع


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