Gelişen Modüller ve MVC Yapısı

file struct

Gelişen Modüller ve MVC

OpenCart modüllerini yazmak, OpenCart’ın esaslarının nasıl çalıştığını öğrenmek için çok iyi bir yol olabilir . Tıpkı OpenCart’ın geri kalanında olduğu gibi, modüller MVCL tasarım kalıbını takip eder. Bu dokümantasyon kılavuzu, modülünüzün yönetici ve Front End kısımlarını oluşturmak için MVC-L bileşenlerinin her birini nasıl kullanacağınızı açıklayacaktır . Bir modül oluşturmanın en kolay yolu, DIY Module Builder iskeletini HostJars‘dan indirmektir . Bu modül, kendi modüllerini anlama ve oluşturma hakkındaki dizin yapısı, dosyaları ve talimatları içerir. Bu sayfa daha teorik bir kılavuzdur.

Temel dizin (MVC) yapısı

Modülünüzün temel dosya yapısı, yönetici ve katalog klasörleri olmak üzere iki bölüme ayrılır. Her bir klasörün içeriği sırasıyla MVC-L çerçevesini izleyecektir, ancak yöneticinin yalnızca Backend ile uğraşılacağı ve FrontEnd sahip kataloğun farkı vardır. Modülünüzün kullanıcıları, mağazanın yönetim tarafında etkileşim kuracak ve ayarlarını yapılandıracaktır. Bu nedenle, admin klasöründeki dosyalar, ayarlarındaki tüm değişiklikleri, modülün yönetimde görüntülenme biçimini, modülün kurulumunu / kaldırılmasını vb. işleyecektir. Benzer şekilde, modülün görüntülenme şekli ve Frontend deki çalışma şekli mağaza katalog klasöründeki dosyalar tarafından ele alınacaktır.

Dosya yapısı

Yukarıdaki resim, modülünüzün uyması gereken dizin yapısının bir iskeletini görüntüler. Modülünüzü kullanmaya başlamanın iyi bir yolu, klasör yapısını çoğaltmak ve yukarıdaki dosyaları oluşturmaktır. Bu dosyalara gidecek olan şey, modülünüzün gerçekleştirmeye çalıştığı şey tarafından belirlenir, ancak temel işlevler aşağıdaki bölümlerde detaylandırılmıştır.

Yönetici modülü işlevselliği

Bir mağaza sahibi modülünüzü kullandığında, modülü hangi modüllerin görüntüleneceğine (etkin veya devre dışı bırakılmasına) ve modüle özgü seçeneklere karar vermek için yöneticideki modülün yapılandırma seçeneklerini düzenlemek isteyecektir. Modül geliştiricisi olarak, modülün düzenlenebildiği ve yapılandırma seçeneklerinin eklendiği veya ayarlandığı yönetici sayfasını oluşturmanız gerekecektir.

Tüm admin dosyaları admin / klasöründedir. Yönetici / klasör içinde dört klasör bulacaksınız:

  1. Kontrolör – Controller
  2. Görünüm – View
  3. Dil – Language
  4. Model – Model

Tüm modüller, görünüm ve denetleyici klasörlerinin her birinde en az bir dosya gerektirecektir. Çoğu, model ve dil klasörlerinin her birinde bir dosyaya ihtiyaç duyacaktır. Görünüm dosyasının farklı bir sonek (.tpl) olması dışında, dosyaların adları aynı olur. Bu dosyaları birer birer geçeceğiz.

 

Kontrolör (Controller)

İlk yaptığınız dosya, modülünüzün yönetici arayüzü sayfası için denetleyici olacaktır. OpenCart, mağazanızın admin / controller / module klasörünü okuyarak mevcut modülleri otomatik olarak tanımlar. Bu klasörde bulunan tüm modüller Modüller sayfasında ve Kullanıcı İzinleri sayfasında otomatik olarak gösterilir . Denetleyici dosyasını my_module.php olarak arayabilirsiniz.

Denetleyici dosyası, metni şablon dosyasında kullanılacak değişkenlere dönüştürmek için dil dosyalarını yükleyebileceğiniz bir yerdir. Yukarıdaki şemada, denetleyicinin işlediği $ _ [‘metin’] değişkenini görebilirsiniz, ardından görünüme $ metin olarak gönderilir. Ayrıca, modülün model dosyası da dahil olmak üzere birden çok model dosyasını ve bunların sınıf işlevlerini burada kullanacaksınız. Dosyaları yükleme hakkında daha fazla bilgi için, bkz . Dosyaları denetleyiciye yükleme .

Ayrıca public function install () olarak tanımlanan bir işleve sahip olabilirsiniz. Bu işlev Uzantılar> Modüller sayfasında yükleme bağlantısı tıklandığında tetiklenecektir . Benzer şekilde, kaldırma bağlantısı tıklandığında public function uninstall () olarak tanımlanan bir işlev tetiklenecektir. Bu işlevleri, modülünüz tarafından gerekli olan tüm yapıları (veritabanı tabloları veya yapılandırma ayarları gibi) oluşturmak veya kaldırmak için kullanabilirsiniz. Modülünüzün yaptığı tüm değişiklikleri temizlemek için bir kaldırma işlevi oluşturmak iyi bir uygulamadır. Bir install (), uninstall () için belirli kodu görmek için bir modülü Yükle / Kaldır’ı ziyaret edin .

 

URL’den erişim

Kontrolör, OpenCart’da URL tarafından erişilebilen MVC-L çerçevesindeki tek dosyadır. Yönetimde, URL /admin/index.php?route=module/my_module&token benzeyecektir. Yönetici, URL’ye bir simge eklerken, katalogdaki bağlantı buna sahip değildir. Sonuç olarak, denetleyici dosyasında ‘public function index()’ olarak tanımlanan bir işlev bulunur. Bu, URL tarafından yüklenen ve Düzenle düğmesi tıklandığında gösterilecek ve görünüm formunun nereye gönderileceği herkese açık bir sayfa . Verilen veriler bu işleve işlenecek ve denetleyicinin config nesnesi aracılığıyla `settings` veritabanı tablosuna kaydedilecektir.

 

Görünüm (View)

Modülünüzün yönetici arabirimi için ikinci gerekli dosya görünüm dosyasıdır. Bu, admin / view / template / module klasöründe oluşturulacak ve .tpl sonekine sahip olacaktır. Bu, OpenCart görüntüleme dosyaları için standarttır. Bu dosyada, kullanıcıya doldurup göndermek için bir form oluşturacaksınız. Modül denetleyicisinin dizin işlevine gönderilecektir. Görünüm dosyanızı oluşturmanın en kolay yolu, mevcut benzer bir görünüm dosyasını kopyalayıp yapıştırmak ve formun modül yapılandırma seçenekleri için doğru alanları içerecek şekilde düzenlemektir. Görüntü dosyasını my_module.tpl olarak arayabilirsiniz.

Görünüşte, denetleyici dosyasının bir PHP değişkeni olarak depolandığı dildeki metne erişebileceksiniz. Bunun nasıl yapılacağı ile ilgili kod için Denetleyiciye Dosya Yükleme konusuna bakın.

 

Model (Model)

Modüllerin, yönetici tarafında bir model dosyası istemek nadirdir. Bununla birlikte, modülünüz kendi veritabanı tablosuna veya belirli bir formatta veri oluşturmak için özel bir soruna dayanıyorsa, kendinize bir model dosyası yazarken bulabilirsiniz. Bunun bir örneği, ziyaretçinin sayaç modülünü yazarken, her bir ziyaretçinin IP adresi ve ziyaret sayısı ile bir veritabanı tablosunda depolandığı olabilir. Ardından OpenCart veritabanında bu ilave tabloyu tanımlamak ve oluşturmak için bir işlevle bir model dosyası oluşturabilirsiniz. Model dosyası admin / model / modül klasöründe bulunur. Model dosyasını my_module.php olarak arayabilirsiniz, denetleyiciniz ve dil dosyalarınızla aynıdır.

 

Frontend modülü işlevselliği

Modülünüzün ön tarafı, daha önce açıklanan yönetici arayüzüyle aynı kalıbı izler. Her frontend dosyanıza ne ekleyeceğiniz büyük ölçüde modülünüzün ne yapması gerektiği üzerine bağlı olacaktır. Bir modül, zaten OpenCart’da bulunan tüm model dosyalarına erişebilir; aynı sorgu zaten varsa, kendi veritabanı sorgularınızı yazmak zorunda kalmazsınız. Örneğin, katalog / ürün modeli, ürünleri getirmek için birçok yararlı sorgu içerir. Tekerleği yeniden üretmekten çok bu model fonksiyonların kullanılması tercih edilmelidir.

Modülünüzün ön tarafındaki önemli bir fark, görüntüleme dosyanızın katalog / görünüm / tema / (themename) / şablon / modül klasöründe olmasıdır. Bu, temalar nedeniyle admin görünüm dosyasına göre daha derin bir klasör yapısına sahiptir. Bir OpenCart mağazasında birçok farklı Front End teması olabilir , ancak yalnızca bir yönetici şablonu olabilir. (themename)

Modülünüzün ön kısmında modülünüz tarafından kaydedilen yapılandırma seçeneklerine hem denetleyicinin yapılandırma nesnesi hem de modül denetleyicisinin dizin işlevine geçirilen $ ayarları değişkeninden erişebilirsiniz. Bu ayarlara dayanarak ön ekranın görünümlerini kontrol edebilirsiniz.

Sosyal Medyada Paylaş

Bunları Okudunuz mu?

Peki Siz Bu Konuda Ne Düşünüyorsunuz?