Kurulum işlemimiz tamamlanmış olup , aşağıdaki url ile erişim sağlayabiliriz.
http://localhost/your_folder_name/panel/
Uyarı
Dökümantasyonda verilen linkler local ortama göre verilecektir. Canlı sunucuda
geliştirme yapılacak
ise bu hususa dikkat edilmelidir.
Genel Klasör Yapısı
Klasör yapısı, Codeigniter 3 Framework ile çoğunlukla aynıdır. Anlatım videosu aşağıdadır.
Veritabanı
Sizlere verilen database dosyasında birçok database tablosu bulunmaktadır. Ancak bu tablolar
her proje
için müşteri talepleri doğrultusunda yeterli olmayabilir . O yüzden mevcut tabloların duruma
düzenlenmesi
yada yenilerinin eklenmesi gerekir. Database hazırlanırken dikkat edilmesi gereken hususlar
aşağıda
listelenmiştir.
Lütfen öncelikle database tablolarını inceleyim. İsimlendirme gibi hususlara dikkat
edelim.
Çoklu dilli projelerde örnek olarak ; baslik, baslik_en, baslik_ru gibi sütün isimleri
kullanalım
Tabloya eklediğimiz sütünlarda anlaşılması güç olabilecek olanlara açıklama yazalım.
Tablolardaki sütünların veri tipleri esneklik açısından TEXT NULL , VARCHAR(255) NULL
olarak
ayarlanmıştır.
Ne işe yaradından emin olmadığınız tabloları kesinlikle silmeyiniz.
Panel Geliştirme
Yönetim panelimizde birden fazla kullacı giriş yaparak işlem yapabilir. Her kullanıcının
bir yetki
grubu vardır. O yetki grubunun vermiş olduğu izinler neticesinde düzenleme yapabilirler.
Ayrıca panelde
yapılan işlemler basit bir log yapısı ile kayıt altına alınmaktadır. Modüllerde MVC
yapısı mevcuttur.
Dolayısıyla her modülün model , view, controller klasörlerinde dosyaları bulunmaktadır.
Uyarı
Panel geliştirmesi elinizdeki projeye göre farklılıklar gösterir. Mevcut
modüllerde düzenleme yada yenisini ekleme gibi çalışmalar yapacaksınız.
Dolayısıyla panelin çalışma mantığına ve kod yapısına hakim olmanız
gerekmektedir.
Genel MVC Yapısı
Modüllerde MVC yapısı mevcuttur. Dolayısıyla her modülün model , view, controller
klasörlerinde dosyaları
bulunmaktadır.
Model Yapısı
Model dosyalarımız hem dosya adında hemde class isminde büyük harfle başlamalıdır. Model
dosyalarımız
çağırırken model olduğu anlaşılması açısından isminin yanına örnekte olduğu gibi _model eki
eklenmelidir.
Yönetim panelinde kullanılan modellerin içindeki methodlar genellikle aynıdır. get(),
get_all(), add(),
update(), delete() metodları örnekte göründüğü gibidir. Crud işlemlerimizi daha etkili
olarak
yapabilmemizi sağlamaktadırlar.
// Örnek Model
//C:\xampp\htdocs\your_folder_name\panel\application\models\Blog_model.php
class Blog_model extends CI_Model
{
public $tableName = "blog"; // ilgili veritabını tablosunun adı
public function __construct(){
parent::__construct();
}
public function get($where = array()){
return $this->db->where($where)->get($this->tableName)->row();
}
/** Tüm Kayıtları bana getirecek olan metot.. */
public function get_all($where = array(), $order = "id ASC"){
return $this->db->where($where)->order_by($order)->get($this->tableName)->result();
}
public function add($data = array()){
return $this->db->insert($this->tableName, $data);
}
public function update($where = array(), $data = array()){
return $this->db->where($where)->update($this->tableName, $data);
}
public function delete($where = array()){
return $this->db->where($where)->delete($this->tableName);
}
}
Controller Yapısı
Controller dosyalarımız crud , view a veri gönderme vb. işlemlerimizi yapmaya yararlar.
Panelimizde
çeşitli controller yapıları mevcuttur. Controller içinde bulunan metod fonksiyonları
yardımıyla
istediğimiz her türlü işlemi yapabilmekteyiz.
View Yapısı
View klasörmüzde panelin temasında ki frontend kodları ile backend yapısının uyum halinde
çalışmasını sağlamaktadır. Her modülün view da bir karşılığı bulunmaktadır. Viewda
controllerdan gelen veriler işlenir. Ve crud yapılmasına olanak sağlar.
Helper Yapısı
Proje genelinde fonksiyonel işlemlerimizi yapmamızı sağlayan butün fonksiyonlarımızı
barındırdığımız dosyadır. Projenin hemen hemen her yerinden fonksiyonlara erişim imkanı
sağlar.
// Örnek Helperlar
// C:\xampp\htdocs\your_folder_name\panel\application\helpers\tools_helper.php
function get_title()
{
$t = &get_instance(); // bu yöntemle $this çağrılmış olur.
$qq = $t->db->select("*")->get("site_ayarlari")->row(); // Veritabanına erişerek sorguda yazılabilir
return !empty($qq) ? $qq->panel_title : "";
}
function get_readable_date($date)
{
setlocale(LC_ALL, 'tr_TR.UTF-8');
return strftime('%e %B %Y', strtotime($date));
}
Genel Yetki Yapısı
Panel genelinde kullanıcılara verilen yetkilerin ve rollerin belirnep, düzenlenmesi.
İşlem kayıtları
Yönetim panelinde yapılan aksiyonel işlemler ve login işlemlerinin geçmişini tutar. Anlatım
videosu aşağıdadır.
Ana Ekran
Yönetim panelinde giriş yapıldığında karşımıza çıkan sayfadır. Kısayollar ve grafik
bulunmaktadır. Anlatım videosu aşağıdadır.
Tanım Yönetimi
Bu alanda sitemizde bulunan bazı sabit içeriklerin düzenlenmesi için gerekli olan moduller
bulunmaktadır.
Sabit Tanımlar
SEO Tanımlar
Form Tanımları
E-posta Şablonları
Url Yönlendirmeleri
Uyarı
Tanımlarda ki yapı elinizdeki projenin gereksinimlerine ve arayüzüne göre değişkenlik
göstermektedir. Kendi projenize uygun olacak ve bütün içerikler düzenlenecek bir
şekilde entegrasyon yapılmalıdır.
Form Yönetimi
Bu alanda veritabanımızda bulunan form verilerinin ve ebülten verilerinin tutulduğu alandır.
Anlatım videosu aşağıdadır.
Header & Footer
Bu alanda sitede tarafında ki header menu ve footer menu alanları dinamik bir şekilde
düzenlenmektedir. Anlatım videosu aşağıdadır.
Genel Ayarlar
Bu alanda site tarafında ki bazı ayarlamalın olduğu modüller bulunmaktadır.Anlatım videosu
aşağıdadır.
Genel Panel Tanıtımı
Bu alanda öğrendiğimiz bilgileri pekitirmek için tek videoda genel panel tanıtımı
anlatılmıştır. Anlatım videosu aşağıdadır.
Uygulama Videoları
Bu alanda doğrudan canlı kodlama videoları bulunmaktadır. Bu videolar sayesinde daha
hızlı ve sağlıklı bir şekilde entegrasyon yapabilirsiniz.
Uyarı
Uygulama videolarını izlemeden önce , dökümanı sırasıyla bitirmenizi ve code
review yapmanız önerilir.
Yeni bir dinamik modül ekleme (Müşteri Yorumları)
Bu alanda dinamik modüllere örnek olabilicek bir Müşteri Yorumları geliştirmesi yapılmıştır.
Bu videoyu izledikten sonra benzer modülleri rahatlıkla geliştirebileceksiniz.
Yeni bir detay sayfalı dinamik modül ekleme (Hizmetler)
Bu alanda dinamik modüllere örnek olabilicek bir Hizmetler geliştirmesi yapılmıştır.
Bu videoyu izledikten sonra benzer modülleri rahatlıkla geliştirebileceksiniz.
Yeni bir statik sayfa ekleme
Bu alanda statik sayfa modüllerine örnek olabilicek bir Tarihçemiz geliştirmesi yapılmıştır.
Bu videoyu izledikten sonra benzer modülleri rahatlıkla geliştirebileceksiniz.
Yeni bir galeri modülü (Referanslar dropzone)
Bu alanda dopzone galeri tipi modüllere örnek olabilicek bir Referanslar geliştirmesi
yapılmıştır. Bu videoyu izledikten sonra benzer modülleri rahatlıkla geliştirebileceksiniz.
Form İşlemleri uygulama
(Talep Formu)
Bu alanda örnek olarak talep formu oluşturup, panelde form ile ilgili yapılması gereken çalışmalar uygulanacaktır.
Ck editor file upload ayarlamaları
Bu alanda ckeditor file upload yapısının kontrolü ve sisteme uygun hale getirlmesi uygulanmıştır.