Kadir Özdemir

  • Ben Kimim
  • PHP
  • Sencha Touch
  • Home/
  • Cms /
  • Silverstripe yeni sayfa tipleri

Silverstripe yeni sayfa tipleri

Skorp 01.11.2011 1 Comment

Silverstripe’i ilk kurdugumuzda bazi standard sayfa türleri ile gelir.
Sistemimizin gereksinime göre degisik sayfa türleri üretmemiz gereklidir.
Bugünki yazimizda SS’de baska bir sayfa türü nasil olusturulur ona bakacagiz.

Önce SS ile default olarak gelen sayfa türlerini taniyalim:

  • Page:en temel sayfa türüdür.Ilerki yazilarda üretecegimiz tüm sayfalar bu türden olacaktir
  • ErrorPage:Hata oldugunda gösterilicek olan sayfa. Degisik hatalara degisik sayfalar üretile bilinir. mesela 404 bulunamadi ile 403 erisim engellendi sayfalari degisik görüne bilinir
  • RedirectorPage: Baska bir sayfaya veya Websitesine yönlendirmek icin kullanilir
  • VirtualPage: baska bir sayfanin icerigini kullanir. Redirector sayfasindan bunu ayiran, sadece sitemiz icindeki sitelerde kullanilir ve icerigini kopyalar.

Kendi Sayfa türümüzü olusturalim
/mysite/code klasörü icinde Baslik, tarih, resim ve icerik eklene bilen bir sayfa türü üretelim, adinida ArticlePage koyalim.

/mysite/code/ArticlePage.php

<?php

class ArticlePage extends Page { // Model
    static $db = array(
       'Date' => 'Date',
    );
    public static $has_one = array(
        'Picture' => 'Image',
    );    
    function getCMSFields() {
       $fields = parent::getCMSFields();
    
       $fields->addFieldToTab('Root.Content.Main', new DateField('Date'), 'Content');
       $fields->addFieldToTab("Root.Content.Main", new ImageField('Picture'));
            
       return $fields;
    }    
}
/* controller */
class ArticlePage_Controller extends Page_Controller {
}

?>

Silverstripe MVC tasarim kalibini kullanmaktadir.
Silverstripe de olusturdugumuz her sayfa Model ve Controller kismini barindirmaktadir.
Her sayfa Page sayfasindan extend etmelidir.

static $db = array('Date' => 'Date',);

db degiskeninin özel bir islevi vardir, veritabani alanlari tanimlamak icin kullanilir.
Örnegimizde tarihi kaydetmek icin Date tipinde bir alan adi tanimladik.

has_one degiskeni her ArticlePage sayfamiza bir resim eklemesini söylüyor.
Bu baglantilara daha sonraki bir yazimizda daha detayli bakacagiz.

Gerekli alanlari tanimladikdan sonra bunlari Admin e eklememiz gerekiyor.
GetCMSFields ile bu isi yapa biliriz.

View kismina bakalim.
theme dosyamizda ArticlePage.ss adinda bir dosya olusturalim.
/themes/blackcandy/templates/Layout/ArticlePages.ss


    <div>
        <h1>$Title</h1>
        <div>Date : $Date.nice</div>
        <div>$Picture</div>
        $Content
        $Form
    </div>

Model, view ve Controlleri tamamladikdan sonra adres satirina /dev/build/?flush=all yazip degisiklikleri kaydedelim.
Simdi Admin de yeni bir sayfa üretmek istedigimizde ArticlePage sayfamizi sece biliriz.

Skorp
2011-11-01
Tags:
Cms PHP Silverstripe
Share story:
← PreviousMSSQL snippetler
Next →Eclipse 3.7 Android ADT kurulum hatasi

Written by Skorp

View all articles by Skorp

Website: http://www.skorp.eu

Related Articles

  • Silverstripe snippetler

  • Silverstripe login sorunu

  • Silverstripe: Sorgulari Cachleme

  • Php 5.4 yayinlandi

  • Silverstripe

One comment

  1. Hüseyin
    Kasım 02, 2011 at 01:14 pm

    görünüşe göre silverstripe ile pek içli dışlı olmuşsun 😀

Leave a Comment Cancel Reply

Your email address will not be published. Required fields are marked *

Social networks

Etiket Bulutu

Android Bilgisayar & Internet C# Cms css diger Kodlar featured Genel Java Javascript Linux Mobile PHP Silverstripe typo3 Veritabani Windows Zend Framework

Links

  • H E R K O N U
  • Hüseyin Koyun
  • Urban23k

Son Yorumlar

  • Primary Key – Unique ve Index nedir? için Onur
  • Centos de apache, php ve mysql kurulumu için sezer fidancı
  • React Native – Kurulum için React Native | Kadir Özdemir
  • React Native için React Native – Kurulum | Kadir Özdemir
  • Ben Kimim için serkan

Twitter

Follow @skorp54
There is an error in twitter widget, please make sure that you have set up the Twitter API settings
  • Ben Kimim
  • PHP
  • Sencha Touch

Arsivler

Kategoriler

Copyright © 2014 webberz.at