2017 © Pedro Peláez
 

library laravel-page-module

laravel 5.1 page management module package

image

erenmustafaozdal/laravel-page-module

laravel 5.1 page management module package

  • Wednesday, January 25, 2017
  • by erenmustafaozdal
  • Repository
  • 0 Watchers
  • 1 Stars
  • 113 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 6 Versions
  • 0 % Grown

The README.md

Laravel Page Module

Laravel 5.1 Source License, (*1)

Laravel Page Module, Laravel 5.1 projelerinde sayfa yönetimi işlemlerini kapsayan bir modül paketidir. Bu paket kullanıcı arayüzü (views) hariç, arka plandaki bütün işlemleri barındırmaktadır. İstersen görünümleri kapsayan Laravel Modules Core paketini kullanarak, modüle tam kapsamıyla sahip olabilirsin., (*2)

  1. Kurulum
    1. Dosyaların Yayınlanması
    2. Migration
  2. Kullanım
    1. Ayar Dosyası
      1. Genel Ayarlar
      2. URL Ayarları
      3. Controller Ayarları
      4. Rota Açıp/Kapatma Ayarları
      5. Görünüm Ayarları
    2. Görünüm Tasarlama
      1. Model Kullanımı
        1. Page Category
        2. Page
      2. Rotalar
        1. Sayfa Kategori Rotaları
        2. Kategoriye Ait Sayfa Rotaları
        3. Sayfa Rotaları
      3. Form Alanları
        1. Sayfa Kategori Formları
        2. Kategoriye Ait Sayfa Formları
        3. Sayfa Formları
    3. Onaylamalar
    4. Olaylar
      1. Sayfa Kategori Olayları
      2. Sayfa Olayları
  3. Lisans

, (*3)

Kurulum

Composer ile yüklemek için aşağıdaki kodu kullanabilirsin., (*4)

composer require erenmustafaozdal/laravel-page-module

Ya da composer.json dosyana, aşağıdaki gibi ekleme yapıp, paketleri güncelleyebilirsin., (*5)

{
    "require": {
        "erenmustafaozdal/laravel-page-module": "~0.1"
    }
}
$ composer update

Bu işlem bittikten sonra, service provider'i projenin config/app.php dosyasına eklemelisin., (*6)

ErenMustafaOzdal\LaravelPageModule\LaravelPageModuleServiceProvider::class,

:exclamation: Eğer Laravel Modules Core paketini kullanacaksan, o paketin service provider dosyasını üstte tanımlamalısın., (*7)

, (*8)

Dosyaların Yayınlanması

Laravel Page Module paketinin dosyalarını aşağıdaki kodla yayınlamalısın., (*9)

php artisan vendor:publish --provider="ErenMustafaOzdal\LaravelPageModule\LaravelPageModuleServiceProvider"

, (*10)

Migration

Dosyaları yayınladıktan sonra migration işlemi yapmalısın., (*11)

php artisan migrate

:exclamation: Paket editör aracılığıyla veri tabanına kayıt yapmaktadır. Tahmin edebileceğin gibi Laravel Blade şablonunda {{ }} ile html etiketler ekranda metin olarak işlenecektir. Laravel'in {!! !!} şeklindeki kullanımı ise; güvenilir olmayan bir kişinin veri kaydetmesi sonucu XSS açığı oluşturabilir. Bunun önüne geçmek için Laravel Page Module mewebstudio/Purifier paketini kullanıyor. Sıradaki işlem olarak Purifier paketine yazma izni vermen gerekiyor., (*12)

Önce bu paketin dosyalarını yayınlayalım, (*13)

php artisan vendor:publish --provider="Mews\Purifier\PurifierServiceProvider"

Daha sonra da izni verelim., (*14)

sudo chmod 777 vendor/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCache/Serializer

Son olarak App\PageCategory ve App\Page modellerini uygun bir şekilde tanımlamalısın. Bunun için App\PageCategory modelini ErenMustafaOzdal\LaravelPageModule\PageCategory modelinden, App\Page modelini ErenMustafaOzdal\LaravelPageModule\Page modelinden genişletmelisin., (*15)

namespace App;

use ErenMustafaOzdal\LaravelPageModule\PageCategory as EMOPageCategory;

class PageCategory extends EMOPageCategory
{
    //
}

```php namespace App;, (*16)

use ErenMustafaOzdal\LaravelPageModule\Page as EMOPage;, (*17)

class Page extends EMOPage { // }, (*18)


<a name="kullanim"></a> Kullanım -------- Kurulum tamamlandığında; [Laravel Modules Core](https://github.com/erenmustafaozdal/laravel-modules-core) paketini de dahil ettiysen, tasarım dahil olarak kullanıma hazır olacaktır. > :exclamation: metinler yanlış görünüyorsa, [Laravel Modules Core](https://github.com/erenmustafaozdal/laravel-modules-core) paketinin İngilizce dil dosyaları hazır olmadığı içindir. Bu sebeple projenin `config/app.php` dosyasında `'locale' => 'tr'` tanımlaması yapmalısın. <a name="kullanim-ayarDosyasi"></a> ### Ayar Dosyası <a name="kullanim-ayarDosyasi-genelAyarlar"></a> ##### Genel Ayarlar Paketin içinde kullanılan genel ayarlar. Ayar dosyası içinde kök alanda bulunan ayarlar. | Ayar | Açıklama | Varsayılan Değer | |---|---|---| | date_format | Kullanılacak tarih formatı | d.m.Y H:i:s | <a name="kullanim-ayarDosyasi-urlAyarlari"></a> ##### URL Ayarları Tarayıcının adres çubuğunda görünecek adreslerin tanımlandığı ayarlar. Ayar dosyasının `url` alanında bulunan ayarlardır. > Örneğin: `activate_route` ayarı ile aktivasyon sayfası adresi `account-activate` şeklinde tanımlanmıştır. Bu şekilde adres çubuğunda şuna benzer bir görünüm olacaktır: `www.siteadi.com/account-activate/{id}/{code}` | Ayar | Açıklama | Varsayılan Değer | |---|---|---| | page_category | Sayfa Kategorileri sayfa adresi | page-categories | | page | Sayfaların sayfa adresi | pages | | admin_url_prefix | Yönetim panelinin adres çubuğundaki ön adı. Örneğin: `www.siteadi.com/admin/pages` | admin | | middleware | Rotalarda kullanılacak katman filtre sınıfları | ['auth', 'permission'] | <a name="kullanim-ayarDosyasi-controllerAyarlari"></a> ##### Controller Ayarları Bazı metotlarda değişiklik yapmak isteyebilirsin. Burada yapacağın tanımlamalarda kendi `Controller` sınıfını tanımlayıp, **Laravel Page Module**'ün ilgili controller'ından genişletirsen, istediğin metotların üzerine yazabilirsin. Ayar dosyasının `controller` alanında bulunan ayarlardır. | Ayar | Açıklama | Varsayılan Değer | |---|---|---| | page_category_admin_namespace | Sayfa Kategorisi yönetim paneli isim uzayı | ErenMustafaOzdal\LaravelPageModule\Http\Controllers | | page_admin_namespace | Sayfaların yönetim paneli isim uzayı | ErenMustafaOzdal\LaravelPageModule\Http\Controllers | | page_category_api_namespace | Sayfa Kategorisi api isim uzayı | ErenMustafaOzdal\LaravelPageModule\Http\Controllers | | page_api_namespace | Sayfaların api isim uzayı | ErenMustafaOzdal\LaravelPageModule\Http\Controllers | | page_category | Sayfa Kategori Controller | PageCategoryController | | page | Sayfa Controller | PageController | | page_category_api | Sayfa Kategori Api Controller | PageCategoryApiController | | page_api | Sayfa Api Controller | PageApiController | <a name="kullanim-ayarDosyasi-routeOnOffAyarlari"></a> ##### Rota Açıp/Kapatma Ayarları Projeye göre bazı rotalar işe yaramayabilir. Bunların açık olmasını istemeyebilirsin. Aşağıdaki ayarları kullanarak istediğin rotaları açıp kapatabilirsin. Ayar dosyasının `routes` alanında bulunan ayarlardır. Bütün rotaların başlangıçta `true` değerine sahiptir ve açıktır. | Ayar | Açıklama | |---|---|---| | admin.page_category | Sayfa Kategorisi yönetim paneli `resource` rotaları | | admin.page | Sayfa yönetim paneli `resource` rotaları | | admin.page_publish | Sayfa yayınlama yönetim paneli `get` rotası | | admin.page_notPublish | Sayfa yayından kaldırma yönetim paneli `get` rotası | | admin.category_pages | Kategoriye ait sayfaların yönetim paneli `resource` rotaları | | admin.category_pages_publish | Kategoriye ait sayfaların yayınlama yönetim paneli `get` rotası | | admin.category_pages_notPublish | Kategoriye ait sayfaların yayından kaldırma yönetim paneli `get` rotası | | api.page_category | Sayfa Kategorisi api `resource` rotaları | | api.page_category_models | Sayfa Kategorilerinin çekildiği api `post` rotası (Örneğin **Laravel Modules Core** paketinde *Select2* içine kategoriler çekilirken kullanılıyor) | | api.page_category_group | Sayfa Kategorilerinin grup olarak işlem yapıldığı api `post` rotası | | api.page_category_detail | Sayfa Kategorilerinin detay bilgisinin *Datatables* formatında çekildiği api `get` rotası | | api.page_category_fastEdit | Sayfa Kategorisinin hızlı düzenleme amacıyla çekildiği api `post` rotası | | api.page | Sayfa api `resource` rotaları | | api.page_group | Sayfaların grup olarak işlem yapıldığı api `post` rotası | | api.page_detail | Sayfaların detay bilgisinin *Datatables* formatında çekildiği api `get` rotası | | api.page_fastEdit | Sayfanın hızlı düzenleme amacıyla çekildiği api `post` rotası | | api.page_publish | Sayfa yayınlama api `get` rotası | | api.page_notPublish | Sayfa yayından kaldırma api `get` rotası | | api.page_contentUpdate | Sayfa içeriğini güncelleme api `post` rotası | | api.category_pages_index | Kategoriye ait sayfaların çekildiği api `get` rotası | <a name="kullanim-ayarDosyasi-gorunumAyarlari"></a> ##### Görünüm Ayarları Paketin kullanacağı görünümlerin tanımlandığı ayarlardır. Ayar dosyasının `views` alanı altında bulunan ayarlardır. Buradaki değerler varsayılan olarak [Laravel Modules Core](https://github.com/erenmustafaozdal/laravel-modules-core) paketinin görünümlerine tanımlıdır. | Ayar | Açıklama | Varsayılan Değer | |---|---|---| | page_category.layout | Sayfa Kategori sayfaları şablon görünümü | laravel-modules-core::layouts.admin | | page_category.index | Sayfa Kategorilerinin listelendiği sayfanın görünümü | laravel-modules-core::page_category.index | | page_category.create | Sayfa Kategorisi ekleme sayfasının görünümü | laravel-modules-core::page_category.create | | page_category.show | Sayfa Kategorisi bilgilerinin olduğu sayfanın görünümü | laravel-modules-core::page_category.show | | page_category.edit | Sayfa Kategorisi bilgilerinin düzenlendiği sayfanın görünümü | laravel-modules-core::page_category.edit | | page.layout | Sayfa sayfaları şablon görünümü | laravel-modules-core::layouts.admin | | page.index | Sayfaların listelendiği sayfanın görünümü | laravel-modules-core::page.index | | page.create | Sayfa ekleme sayfasının görünümü | laravel-modules-core::page.create | | page.show | Sayfa bilgilerinin olduğu sayfanın görünümü | laravel-modules-core::page.show | | page.edit | Sayfa bilgilerinin düzenlendiği sayfanın görünümü | laravel-modules-core::page.edit | <a name="kullanim-gorunumTasarlama"></a> ### Görünüm Tasarlama Paket [Laravel Modules Core](https://github.com/erenmustafaozdal/laravel-modules-core) paketiyle beraber direkt kullanıma hazırdır. Ancak istersen kendine özel görünümlerde tasarlayabilirsin. Bu bölüm özel tasarımlar için bir rehberdir. <a name="kullanim-gorunumTasarlama-modelKullanimi"></a> ##### Model Kullanımı Görünümler içinde `PageCategory` ve `Page` modellerinin özellik ve metot kullanımı hakkında bilgileri kapsamaktadır. Bu metotlar ve özellikler `App\PageCategory` ve `App\Page` içinde üzerine yazılarak değiştirilebilir. <a name="kullanim-gorunumTasarlama-modelKullanimi-page_category"></a> ###### Page Category ####### Genel Özellikler 1. **protected $table =** 'page_categories' 2. **protected $fillable =** ['name'] ####### $page_category->pages `Collection` `hasMany()` metoduyla `App\Page` modeliyle ilişkiyi sağlar ####### $page_category->name_uc_first `string` Baş harfleri büyük formatta sayfa kategorisinin adını döndürür ####### $page_category->created_at `string` Sayfa kategorisinin kayıt tarihini ayar dosyasındaki tanıma göre döndürür ####### $page_category->created_at_for_humans `string` Sayfa kategorisinin kayıt tarihini okunaklı veri şeklinde döndürür. Örneğin: *1 hafta önce* ####### $page_category->created_at_table `array` Sayfa kategorisinin kayıt tarihini `display`(last_login_for_humans) ve `timestamp` şeklinde tutulan bir dizi şeklinde döndürür. Datatable'da kullanılması amacıyla oluşturulmuştur ####### $page_category->updated_at `string` Sayfa kategorisinin güncellenme tarihini ayar dosyasındaki tanıma göre döndürür ####### $page_category->updated_at_for_humans `string` Sayfa kategorisinin güncellenme tarihini okunaklı veri şeklinde döndürür. Örneğin: *1 hafta önce* ####### $page_category->updated_at_table `array` Sayfa kategorisinin güncellenme tarihini `display`(last_login_for_humans) ve `timestamp` şeklinde tutulan bir dizi şeklinde döndürür. Datatable'da kullanılması amacıyla oluşturulmuştur <a name="kullanim-gorunumTasarlama-modelKullanimi-page"></a> ###### Page ####### Genel Özellikler 1. **protected $table =** 'pages' 2. **protected $fillable =** ['category_id','title','slug','content','description','meta_title','meta_description','meta_keywords','is_publish'] ####### $page->category `App\PageCategory` `belongsTo()` metoduyla `App\PageCategory` modeliyle ilişkiyi sağlar ####### $page->title_uc_first `string` Baş harfleri büyük formatta sayfa başlığı ####### $page->slug `string` Sayfa url formatındaki hali ####### $page->content `string` XSS saldırılarından temizlenmiş sayfa içeriği ####### $page->description `string` Sayfa açıklaması ####### $page->meta_title `string` Sayfa meta başlığı ####### $page->meta_description `string` Sayfa meta açıklaması ####### $page->meta_keywords `string` Sayfa meta anahtar kelimeleri ####### $page->read `boolean` Sayfa okunma sayısı *(Geliştirilecek ön yüzde bu değer arttırılıp, gösterilebilir)* ####### $page->is_publish `boolean` Sayfa yayında mı ####### $page->created_at `string` Sayfanın kayıt tarihini ayar dosyasındaki tanıma göre döndürür ####### $page->created_at_for_humans `string` Sayfanın kayıt tarihini okunaklı veri şeklinde döndürür. Örneğin: *1 hafta önce* ####### $page->created_at_table `array` Sayfanın kayıt tarihini `display`(last_login_for_humans) ve `timestamp` şeklinde tutulan bir dizi şeklinde döndürür. Datatable'da kullanılması amacıyla oluşturulmuştur ####### $page->updated_at `string` Sayfanın güncellenme tarihini ayar dosyasındaki tanıma göre döndürür ####### $page->updated_at_for_humans `string` Sayfanın güncellenme tarihini okunaklı veri şeklinde döndürür. Örneğin: *1 hafta önce* ####### $page->updated_at_table `array` Sayfanın güncellenme tarihini `display`(last_login_for_humans) ve `timestamp` şeklinde tutulan bir dizi şeklinde döndürür. Datatable'da kullanılması amacıyla oluşturulmuştur <a name="kullanim-gorunumTasarlama-rotalar"></a> ##### Rotalar **Laravel Page Module** paketi *CRUD* işlemleri için sahip olduğu rotaların dışında, `ajax` ile işlem yapabileceğin birçok rotaya da sahiptir. Görünümlerini tasarlarken bunları kullanabilirsin. > Rotalarda kullanılabilecek form elemanları bir sonraki bölümde anlatılacaktır. <a name="kullanim-gorunumTasarlama-rotalar-page_category"></a> ###### Sayfa Kategori Rotaları Başta sayfa kategorisi CRUD işlemleri olmak üzere, bir kısım *ajax* işlemini de kapsayan rotalar. | Rota Adı | Açıklama | Tür| |---|---|---| | admin.page_category.index | Sayfa kategorilerinin listelendiği sayfa | GET | | admin.page_category.create | Yeni sayfa kategorilerisi eklendiği sayfa | GET | | admin.page_category.store | Yeni sayfa kategorilerisi eklendiği sayfadan form verilerinin gönderildiği sayfa | POST | | admin.page_category.show | Sayfa kategorisi bilgilerinin gösterildiği sayfa. Bu sayfayı oluşturulacak görünümlere `$page_category` değişkeni aktarılır. | GET | | admin.page_category.edit | Sayfa kategorisi bilgilerinin düzenlendiği sayfa. Bu sayfayı oluşturulacak görünümlere `$page_category` değişkeni aktarılır. | GET | | admin.page_category.update | Sayfa kategorisi bilgilerinin düzenlendiği sayfadan form verilerinin gönderildiği sayfa | PUT-PATCH | | admin.page_category.destroy | Sayfa kategorisinin silindiği sayfa | DELETE | | api.page_category.index | Bu rotada ajax ile Datatable türü veriler çekilir. Gelen sütunlar şunlardır: `id`, `name`, `created_at`, `urls` *(tablonun eylemler sütununda kullanılmak üzere oluşturulmuş bazı adreslerdir.)*. Bütün bunlar dışında `action=filter` verisi ile birlikte; *id*, *name*, *created_at_from* ve *created_at_to* verileri gönderilerek; filtrelenmiş veriler elde edebilirsin | GET | | api.page_category.store | Yeni sayfa kategorilerisi eklenmesi için verilerin gönderildiği sayfa. | POST | | api.page_category.update | Sayfa kategorisi bilgilerinin düzenlenmesi için verilerin gönderildiği sayfa. | PUT-PATCH | | api.page_category.destroy | Sayfa kategorisinin silinmesi için verilerin gönderildiği sayfa | DELETE | | api.page_category.models | Sayfa kategorisi rollerinin isme veya url tanımlamasına göre filtrelenip döndürüldüğü rota | POST | | api.page_category.group | Sayfa kategorileri üzerinde grup işlemleri yapmak için kullanılan bir rota. Silme işlemini destekliyor. `action=destroy` gibi bir veri ile birlikte, dizi içinde işlem yapılacak kullanıcı id'leri gönderilir. Aşağıda veri detayları açıklanmıştır. | POST | | api.page_category.detail | Sayfa kategorisi id'si iliştirilmiş rota ile kullanıcı *id*, *name*, *updated_at*, *created_at* bilgileri Datatable formatında gönderilir | GET | | api.page_category.fastEdit | Hızlı bir şekilde sayfa kategorisi bilgisini düzenlemek için; bilgilerin çekildiği rotadır. Rotaya sayfa kategorisi id'si iliştirilir ve sayfa kategorisi bilgilerinin tamamı çekilir | POST | <a name="kullanim-gorunumTasarlama-rotalar-category_pages"></a> ###### Kategoriye Ait Sayfa Rotaları Belirli kategoriye ait sayfaların CRUD işlemleri olmak üzere, bir kısım *ajax* işlemini de kapsayan rotalar. | Rota Adı | Açıklama | Tür| |---|---|---| | admin.page_category.page.index | Belirli kategoriye ait sayfaların listelendiği sayfa | GET | | admin.page_category.page.create | Belirli kategoriye ait yeni sayfa eklendiği sayfa | GET | | admin.page_category.page.store | Belirli kategoriye ait yeni sayfa eklendiği sayfadan form verilerinin gönderildiği sayfa | POST | | admin.page_category.page.show | Belirli kategoriye ait sayfa bilgilerinin gösterildiği sayfa. Bu sayfayı oluşturulacak görünümlere `$page_category` ve `$page` değişkeni aktarılır. | GET | | admin.page_category.page.edit | Belirli kategoriye ait sayfa bilgilerinin düzenlendiği sayfa. Bu sayfayı oluşturulacak görünümlere `$page_category` ve `$page` değişkeni aktarılır. | GET | | admin.page_category.page.update | Belirli kategoriye ait sayfa bilgilerinin düzenlendiği sayfadan form verilerinin gönderildiği sayfa | PUT-PATCH | | admin.page_category.page.destroy | Belirli kategoriye ait sayfanın silindiği sayfa | DELETE | | admin.page_category.page.publish | Belirli kategoriye ait sayfanın yayınlandığı rota | GET | | admin.page_category.page.notPublish | Belirli kategoriye ait sayfanın yayından kaldırıldığı rota | GET | | api.page_category.page.index | Bu rotada ajax ile Datatable türü veriler çekilir. Gelen sütunlar şunlardır: `id`, `category_id`, `slug`, 'title', `is_publish`, `created_at`, `urls` *(tablonun eylemler sütununda kullanılmak üzere oluşturulmuş bazı adreslerdir.)*. Bütün bunlar dışında `action=filter` verisi ile birlikte; *id*, *title*, *slug*, *status*, *created_at_from* ve *created_at_to* verileri gönderilerek; filtrelenmiş veriler elde edebilirsin | GET | <a name="kullanim-gorunumTasarlama-rotalar-page"></a> ###### Sayfa Rotaları Sayfaların CRUD işlemleri olmak üzere, bir kısım *ajax* işlemini de kapsayan rotalar. | Rota Adı | Açıklama | Tür| |---|---|---| | admin.page.index | Sayfaların listelendiği sayfa | GET | | admin.page.create | Yeni sayfa eklendiği sayfa | GET | | admin.page.store | Yeni sayfa eklendiği sayfadan form verilerinin gönderildiği sayfa | POST | | admin.page.show | Sayfa bilgilerinin gösterildiği sayfa. Bu sayfayı oluşturulacak görünümlere `$page` değişkeni aktarılır. | GET | | admin.page.edit | Sayfa bilgilerinin düzenlendiği sayfa. Bu sayfayı oluşturulacak görünümlere `$page` değişkeni aktarılır. | GET | | admin.page.update | Sayfa bilgilerinin düzenlendiği sayfadan form verilerinin gönderildiği sayfa | PUT-PATCH | | admin.page.destroy | Sayfanın silindiği sayfa | DELETE | | admin.page.publish | Sayfanın yayınlandığı rota | GET | | admin.page.notPublish | Sayfanın yayından kaldırıldığı rota | GET | | api.page.index | Bu rotada ajax ile Datatable türü veriler çekilir. Gelen sütunlar şunlardır: `id`, `category_id`, `slug`, `title`, `is_publish`, `created_at`, `category` (kategorinin adı, id'si vb), `urls` *(tablonun eylemler sütununda kullanılmak üzere oluşturulmuş bazı adreslerdir.)*. Bütün bunlar dışında `action=filter` verisi ile birlikte; *id*, *title*, *slug*, *category*, *status*, *created_at_from* ve *created_at_to* verileri gönderilerek; filtrelenmiş veriler elde edebilirsin | GET | | api.page.store | Yeni sayfa eklenmesi için verilerin gönderildiği sayfa. | POST | | api.page.update | Sayfa bilgilerinin düzenlenmesi için verilerin gönderildiği sayfa. | PUT-PATCH | | api.page.destroy | Sayfanın silinmesi için verilerin gönderildiği sayfa | DELETE | | api.page.group | Sayfaların üzerinde grup işlemleri yapmak için kullanılan bir rota. Yayınlama, yayından kaldırma ve silme işlemini destekliyor. `action=publish` gibi bir veri ile birlikte, dizi içinde işlem yapılacak kullanıcı id'leri gönderilir. Aşağıda veri detayları açıklanmıştır. | POST | | api.page.detail | Sayfa id'si iliştirilmiş rota ile kullanıcı *id*, *category_id*, *title*, *slug*, *description*, *content*, *updated_at*, *created_at* bilgileri Datatable formatında gönderilir | GET | | api.page.fastEdit | Hızlı bir şekilde sayfa bilgisini düzenlemek için; bilgilerin çekildiği rotadır. Rotaya sayfa id'si iliştirilir ve sayfa bilgilerinin tamamı çekilir | POST | | api.page.publish | Sayfanın yayınlandığı rota | POST | | api.page.notPublish | Sayfanın yayından kaldırıldığı rota | POST | | api.page.contentUpdate | Sayfanın içeriğinin güncellendği rota | POST | <a name="kullanim-gorunumTasarlama-formAlanlari"></a> ##### Form Alanları İşlemler sırasında görünümlerinde kullanacağın form elemanları veri tabanı tablolarındaki sütun isimleriyle aynı olmalıdır. Aşağıda her işlem için gereken eleman listesi verilmiştir. :exclamation: Aşağıda belirtilen form isimleri kullanılması zorunlu olup, sırası değişebilir. > `lang/.../validation.php` dosyanda bu form isimlerinin metin değerlerini belirtmeyi unutma! Ayrıca her dil için validation dosyası oluşturmalısın. <a name="kullanim-gorunumTasarlama-formAlanlari-page_category"></a> ###### Sayfa Kategori Formları * `store` işlemi form elemanları * name **StoreRequest** ```php public function rules() { return [ 'name' => 'required|max:255' ]; }
  • update işlemi form elemanları
    • name

UpdateRequest, (*19)

public function rules()
{
    return [
      'name'          => 'required|max:255'
    ];
}
  • Api index filtreleme işlemi verileri, (*20)

    • action=filter
    • id
    • name
    • created_at_from
    • created_at_to
  • Api store işlemi verileri, yukarıdaki store işlemi ile aynıdır., (*21)

  • Api update işlemi verileri, yukarıdaki update işlemi ile aynıdır., (*22)

  • Api group işlemi verileri, (*23)

    • action=destroy
    • id (array şeklinde model id'leri)

, (*24)

Kategoriye Ait Sayfa Formları
  • store işlemi form elemanları
    • category_id (Belirli bir kategoriye ait sayfa olduğu için; görünüm içinde hidden elementte değer tutulur)
    • title
    • slug
    • description
    • is_publish
    • content
    • meta_title
    • meta_description
    • meta_keywords

StoreRequest, (*25)

public function rules()
{
    return [
      'category_id'       => 'required|integer',
      'title'             => 'required|max:255',
      'slug'              => 'alpha_dash|max:255|unique:pages',
      'description'       => 'max:255',
      'meta_title'        => 'max:255',
      'meta_description'  => 'max:255',
      'meta_keywords'     => 'max:255',
    ];
}
  • update işlemi form elemanları
    • category_id (Belirli bir kategoriye ait sayfa olduğu için; görünüm içinde hidden elementte değer tutulur)
    • title
    • slug
    • description
    • is_publish
    • content
    • meta_title
    • meta_description
    • meta_keywords

UpdateRequest, (*26)

public function rules()
{
    $id = is_null($this->segment(5)) ? $this->segment(3) : $this->segment(5);
    return [
      'category_id'       => 'required|integer',
      'title'             => 'required|max:255',
      'slug'              => 'alpha_dash|max:255|unique:pages,slug,'.$id,
      'description'       => 'max:255',
      'meta_title'        => 'max:255',
      'meta_description'  => 'max:255',
      'meta_keywords'     => 'max:255',
    ];
}
  • Api index filtreleme işlemi verileri, (*27)

    • action=filter
    • id
    • slug
    • title
    • status
    • created_at_from
    • created_at_to
  • Api store işlemi verileri, yukarıdaki store işlemi ile aynıdır., (*28)

  • Api update işlemi verileri, yukarıdaki update işlemi ile aynıdır., (*29)

  • Api group işlemi verileri, (*30)

    • action=publish|not_publish|destroy
    • id (array şeklinde model id'leri)

, (*31)

Sayfa Formları

Bütün alanlar yukarıdaki Kategoriye Ait Sayfa Formları bölümüyle aynıdır. Farklı olan yer sadece Api index filtreleme işlemidir., (*32)

  • Api index filtreleme işlemi verileri
    • action=filter
    • id
    • slug
    • title
    • category
    • status
    • created_at_from
    • created_at_to

, (*33)

Onaylamalar

Laravel Page Module paketi yapılan her form isteği için onaylama kurallarını belirlemiştir. Bu tür form istek onaylama kuralları için yapman gereken bir şey yoktur. Yukarıda Request sınıflarının rules metotlarında açıklamaları yapılmıştır., (*34)

, (*35)

Olaylar

Paket içindeki hemen hemen tüm işlemler belli bir olayı tetikler. Sen kendi listener dosyanda bu olayları dinleyebilir ve tetiklendiğinde istediğin işlemleri kolay bir şekilde yapabilirsin., (*36)

, (*37)

Sayfa Kategori Olayları
Olay İsim Uzayı Olay Verisi Açıklama
StoreSuccess ErenMustafaOzdal\LaravelPageModule\Events\PageCategory PageCategory Model Ekleme işlemi başarılı olduğunda tetiklenir
StoreFail ErenMustafaOzdal\LaravelPageModule\Events\PageCategory Form verileri (Array) Ekleme işlemi başarısız olduğunda tetiklenir
UpdateSuccess ErenMustafaOzdal\LaravelPageModule\Events\PageCategory PageCategory Model Düzenleme işlemi başarılı olduğunda tetiklenir
UpdateFail ErenMustafaOzdal\LaravelPageModule\Events\PageCategory PageCategory Model Düzenleme işlemi başarısız olduğunda tetiklenir
DestroySuccess ErenMustafaOzdal\LaravelPageModule\Events\PageCategory PageCategory Model Silme işlemi başarılı olduğunda tetiklenir
DestroyFail ErenMustafaOzdal\LaravelPageModule\Events\PageCategory PageCategory Model Silme işlemi başarısız olduğunda tetiklenir

, (*38)

Sayfa Olayları
Olay İsim Uzayı Olay Verisi Açıklama
StoreSuccess ErenMustafaOzdal\LaravelPageModule\Events\Page Page Model Ekleme işlemi başarılı olduğunda tetiklenir
StoreFail ErenMustafaOzdal\LaravelPageModule\Events\Page Form verileri (Array) Ekleme işlemi başarısız olduğunda tetiklenir
UpdateSuccess ErenMustafaOzdal\LaravelPageModule\Events\Page Page Model Düzenleme işlemi başarılı olduğunda tetiklenir
UpdateFail ErenMustafaOzdal\LaravelPageModule\Events\Page Page Model Düzenleme işlemi başarısız olduğunda tetiklenir
DestroySuccess ErenMustafaOzdal\LaravelPageModule\Events\Page Page Model Silme işlemi başarılı olduğunda tetiklenir
DestroyFail ErenMustafaOzdal\LaravelPageModule\Events\Page Page Model Silme işlemi başarısız olduğunda tetiklenir
PublishSuccess ErenMustafaOzdal\LaravelPageModule\Events\Page Page Model Yayınlama işlemi başarılı olduğunda tetiklenir
PublishFail ErenMustafaOzdal\LaravelPageModule\Events\Page Page Model Yayınlama işlemi başarısız olduğunda tetiklenir
NotPublishSuccess ErenMustafaOzdal\LaravelPageModule\Events\Page Page Model Yayından kaldırma işlemi başarılı olduğunda tetiklenir
NotPublishFail ErenMustafaOzdal\LaravelPageModule\Events\Page Page Model Yayından kaldırma işlemi başarısız olduğunda tetiklenir

, (*39)

Lisans

MIT, (*40)

The Versions

25/01 2017

dev-master

9999999-dev

laravel 5.1 page management module package

  Sources   Download

MIT

The Requires

 

28/09 2016

dev-develop

dev-develop

laravel 5.1 page management module package

  Sources   Download

MIT

The Requires

 

24/08 2016

v0.1.3

0.1.3.0

laravel 5.1 page management module package

  Sources   Download

MIT

The Requires

 

12/08 2016

v0.1.2

0.1.2.0

laravel 5.1 page management module package

  Sources   Download

MIT

The Requires

 

11/08 2016

v0.1.1

0.1.1.0

laravel 5.1 page management module package

  Sources   Download

MIT

The Requires

 

11/08 2016

v0.1.0

0.1.0.0

laravel 5.1 page management module package

  Sources   Download

MIT

The Requires