Opencart'ı Anlamak Bölüm 3 Opencartta MVC +L |
|||
Konuyu görüntüleyenler: 2 Misafir
|
|||
|
|||
|
|||
|
|||
sabitertan
Süper Moderator Mesajlar: 290 Konular: 31 Katılma Tarihi: Dec 2011 Rep Puanı: 21 Teşekkürler: 22
127 Mesajına, 601 Teşekkür edildi. Kişisel Bilgileri:
Konu Tarihi: 08-20-2013 09:10 PM
MVC +L (Model- View-Controller +Language) en temel haliyle görüntüleme, veri işleme, kullanıcı etkileşimi işlemlerini birbirinden ayrı tutarak düzenli bir kodlama yapısı oluşturmaya yarayan programlama yöntemidir. Bu yöntem her ne kadar Ruby on Rails ile ünlendiyse de aslında çok daha eskiye dayanır. Bugün bir çok genel programlama çatısı(framework) tarafından kullanılmaktadır. Bunların başında Django, Ruby on Rails, CakePHP, ASP.MVC, CodeIgniter, YiiFramework, Symfony gelmektedir. Bir e-ticaret yazılımı olarak da MVC yapısında pek çok alternatif bulunmaktadır. Opencart ta bunlardan biridir. Opencart çok dilli bir yapıya da destek verdiğinden +L, yani dil desteğini de ayrı tutarak geliştirilmektedir.(Not: Bu özelliğin performansı tek dil kullanan bir site için sorgulanmalıdır!) Şimdi burada opencart tarafından MVC nasıldır onu inceleyelim. Unutmayalım ki her MVC yapısı kullanan yazılım Opencart gibi bir yapıya sahip olmayabilir. MODEL Opencartta Model sınıfları temel olarak veritabanı ile iletişimi sağlamaktadır ve veritabanından gelen ham veriyi düz metin, veri satırı veya bir dizi olarak Controller sınıflarına ve işlevlerine aktarmaktadır. Model aynı zamanda veritabanında veri oluşturma, silme, güncelleme işlevlerini de içermektedir. VIEW Kullanıcıya gösterilecek HTML içeriğin oluşturulduğu bölümdür. Opencartta düzen açısından genellikle burada bir php işlevi(function) bulunmaz. View genellikle Controller tarafından çağrılır/içe aktarılır ve Modelden gelen veri View içerisinde gerekli yerlere dağıtılır. Genel olarak her Controller işlevi için bir View varsa da bir Controller tarafından bir çok View çağrılabilir. Bu şekilde birden çok view çağrılabilmesine ödeme yöntemlerini ya da sipariş toplamlarını örnek gösterebiliriz. CONTROLLER Tüm kullanıcı etkileşimlerinin denetlendiği bölümdür. Kod yapısı itibariyle genellikle SQL ya da HTML içermez(AJAX çağrıları hariç). Controller bir sayfada olup bitebilecek hemen herşeyden sorumludur. Kullanıcı ya da sayfa isteklerini işler, gerekirse Model sınıflarını kullanarak veritabanından verileri alır düzenler ve View bölümünü çağırarak verilerin kullanıcıya/sayfaya geri gönderilmesini sağlar. Opencart içerisinde Language, yani çevirileri de Controller içe aktararak bir diziye yerleştirir. Şunu diyebiliriz ki bir hata alındığında ilk bakılması ve düzenlenmesi gereken yer Controller olacaktır. LANGUAGE Opencart sistemi kendi çeviri sistemini kullanmaktadır. Bu nedenle herbir sayfa/modül için ayrı çeviri dosyalarını görürüz. Bu dosyalar içerisinde "$_" dizisine tanımlı ve anlaşılır anahtarlarla çeviriler yazılır. "$_" dizisi daha index.php işletilir işletilmez " system/library/language.php->Language->load" işlevi çağrılarak oluşturulur ve her bir sayfa/modül çevirisi bu diziye atanır. Bir sayfada gösterilecek tüm çeviriler Controller içerisinde $this->language->get('anahtar_adi'); ile çağrılırlar. |
|
sabitertan
Süper Moderator Mesajlar: 290 Konular: 31 Katılma Tarihi: Dec 2011 Rep Puanı: 21 Teşekkürler: 22
127 Mesajına, 601 Teşekkür edildi. Kişisel Bilgileri:
Konu Tarihi: 08-21-2013 08:07 PM
Opencart Yukarıdaki başlıklarda belirttiğimiz bölümleri düzenli bir şekilde dizin yapısında uygular. Örnek olarak ürün sayfasının oluşturulmasından sorumlu tüm bölümler aşağıdaki gibidir.
Kod: -catalog Bu dosyalar incelendiğinde her birinin kendine özgü yapısı gözümüze çarpacaktır. Yönetim tarafında görüldüğü gibi ürünlerin listelenmesini sağlayan View bölümü(product_list.tpl) ile ürün özelliklerinin girildiği View bölümü(product_form.tpl) birbirinden ayrı olmasına rağmen tek bir Controller vardır. Çünkü benzer işlevler kullanılıp değişik sonuçlar elde edilmeye çalışılmıştır. |
|
unsound
Üye Mesajlar: 74 Konular: 13 Katılma Tarihi: Jan 2012 Rep Puanı: 0 Teşekkürler: 8
11 Mesajına, 15 Teşekkür edildi. Kişisel Bilgileri: |
|
|
|
|
|
Direk Link | |
HTML Link | |
BBCode Link | |
Sosyal Paylaş |
Benzeyen Konular | |||||
Konu: | Yazar | Cevaplar: | Gösterim: | Son Mesaj | |
[Video] Opencart 1.5.x Seo Link Sadece Ürün İsmi Olsun | e-ticaretdersleri | 5 | 14,956 |
10-17-2017 05:34 PM Son Mesaj: fotoğrafçı |
|
Opencart 2 Afiş Boyutları | tolozgun | 2 | 16,081 |
02-02-2016 08:04 PM Son Mesaj: tolozgun |
|
Opencart 1.5.x tüm versiyonlarda Slayt ve afiş(banner)oluşturmak (resimli anlatım) | osdem66 | 9 | 23,298 |
01-26-2015 04:18 PM Son Mesaj: can.55 |
|
Opencart'ı Anlamak Bölüm 4 Basit Bir Eklenti Yazalım | sabitertan | 2 | 22,487 |
08-25-2013 09:35 AM Son Mesaj: sabitertan |
|
Opencart'ı Anlamak Bölüm 2- system dizini ve startup.php | sabitertan | 3 | 19,916 |
07-28-2013 01:19 PM Son Mesaj: GokhanKorkut |
|
Opencart'ı Anlamak Bölüm 1- index.php | sabitertan | 3 | 15,356 |
07-14-2013 05:20 PM Son Mesaj: sabitertan |