💳OpenCart
Model View Controller Yapısı
MVC hakkında bilgi sahibi olmak istersen buraya tıklayabilirsin.
Lazım ise veri tabanında
[name]adı verilen sütun oluşturulur.MySQL sorgu örneği için buraya tıklayın.
[Name]bir değişken ismidir. Örn: product_info
Model dizinindeki gerekli veri tabanı metodlarını güncelleme
add*,edit*metodlarındaki mySQL sorguları (Insert, Update) güncellenirDosya ve dizin yolları:
...\webadmin\model
...\model
...\webadmin\model
dizindosya adı.php
Controller dizinindeki uygun dosyadan model yüklenir.
Model yüklenir. Kod örneği için buraya tıklayabilirsin.
Veri modelden alınır. Kod örneği için buraya tıklayabilirsin.
View'a veriyi gönderme: Kod örneği için buraya tıklayabilirsin.
Dosya ve dizin yolları:
...\webadmin\controller
...\controller
...\webadmin\controller
dizindosya adı.php$datadeğikeni içindeki veriler view'a iletilir.
View dizinindeki TPL uzantılı dosya üzerinde görsel düzenleme yapılır.
Dosya ve dizin yolları:
...\webadmin\view
...\view
...\webadmin\view
dizindosya adı.tpl
Modeli yükleme
$this->load->model('catalog/manufacturer');Veriyi modelden alma
$[veri adı] = $this->[model]->[get metodu]();Veriyi view'a gönderme
CSS dosyaları
Örnek dizin:
...\catalog\view\asset\style\Tam dizin:
C:\xampp\htdocs\ecommerce2\catalog\view\asset\style\custom.scss
Ana sayfaya satır ekleme
Lazım ise veri tabanında
[name]adı verilen sütun oluşturulur.MySQL sorgu örneği için buraya tıklayın.
View için değişken oluşturma. Kaynak kod örneği için buraya tıklayabilirsin.
View kısmında
$[veri ismi]olarak kullanabilirsin.
Form / List Ekleme
Veri tabanında
[name]adı verilen sütun oluşturulur.MySQL sorgu örneği için buraya tıklayın.
[Name]bir değişken ismidir. Örn: product_infoModel dizinindeki gerekli veri tabanı metodlarını güncelleme
MySQL üzerindeki verileri sorgular yardımıyla projeye ekleyen yapıdır.
add*,edit*metodlarındaki mySQL sorguları (Insert, Update) güncellenirÖrnek Yol: webadmin\model
Örn: C:\xampp\htdocs\ecommerce2\webadmin\model\sale\special_promotions.php
Controller dizinindeki Uygun dosyanın
getForm/getListmetodunda entry değişkenlerini ve verileri oluşturmaVeriler $data değişkeni ile .tpl uzantılı dosyaya aktarılır.
Languages dizinindeki PHP uzantılı dil dosyası üzerinde değişken oluşturulur.
Dillere özgü metinler oluşturmak adına kullanılır.
Örnek Yol: webadmin\language\turkish
Örn: ecommerce2\webadmin\language\turkish\sale\special_promotions.php
View template dizinindeki .tpl uzantılı dosya üzerinde görsel düzenleme yapılır.
Front-end kısmıdır.
trsatırı kopyalanıp,namedeğerlerientry_[name]yapısı ile alınırÖrn: ecommerce2\webadmin\view\template\sale\special_promotions_form.tpl
Form için entry ekleme
$this->data['entry_[name]'] = $this->language->get('entry_[name]');Form verisi oluşturma
if (isset($this->request->post['[name]'])) { $this->data['[name]'] = $this->request->post['[name]'];} elseif (!empty($special_promotion)) { $this->data['[name]'] = $[değişken]['[name]'];} else { $this->data['[name]'] = 0; }[değişken]Model ile alınan mySQL verilerini tutan değişkenTablo değişkeni için
$special_promotionveya$order_infoörnek olabilir.[name]MySQL sütun ismiSütun ismi için
$product_infoörnek olabilir.
Veri oluşturulmazsa
TLP(front-end) kısmında görmez.
Filtreleme
$results = $this->model_sale_order->getOrders($data);Model dizinindeki gerekli veri tabanı metodlarını güncelleme
MySQL üzerindeki verileri sorgular yardımıyla projeye ekleyen yapıdır.
get*s,getTotal*smetodlarındaki mySQL sorguları güncellenir. Kaynak kodu için buraya tıklayabilirsin.$datadeğişkeninin kullanıldığı alanlar güncellenir.Örnek Yol: webadmin\model
Örn: C:\xampp\htdocs\ecommerce2\webadmin\model\sale\order.php
Controller dizinindeki Uygun dosyanın
getListmetodunda filtreleme değişkenlerini (filters) ve verileri oluşturmaVeriler $data değişkeni ile .tpl uzantılı dosyaya aktarılır.
Filtre Alanı Ekleme
<?php<select name="filter_[names]"> <?php foreach ($[names] as $[name]) { ?> <?php if ($[name]['[name_id]'] == $[name_id]) { ?> <option value="<?php echo $[name][[name_id]]; ?>" selected="selected"><?php echo $[name]['name']; ?></option> <?php } else { ?> <option value="<?php echo $[name][[name_id]]; ?>"><?php echo $[name]['name']; ?></option> <?php } ?> <?php } ?></select>Filtreleme değişkeni oluşturma
if (isset($this->request->get['[filter_name]'])) { $[filter_[name]] = $this->request->get['filter_name'];} else { $filter_store_id = null;}[name]MySQL sütununua eş değer değişken ismidir.
Filtreleme verisini oluşturma
$data = array( 'filter_[name]' => $filter_[name];);[name]MySQL sütununua eş değer değişken ismidir.
Data verisinde birden fazla değişken olabilir. Örn:
$data = array( 'filter_store_id' => $filter_store_id, 'filter_store_name' => $filter_store_name, 'filter_order_id' => $filter_order_id, 'filter_customer' => $filter_customer, 'filter_order_status_id' => $filter_order_status_id, 'filter_total' => $filter_total, 'filter_date_added' => $filter_date_added, 'filter_date_modified' => $filter_date_modified, 'filter_payment_method' => $filter_payment_method, 'filter_[name]' => $filter_[name], 'sort' => $sort, 'order' => $order, 'start' => ($page - 1) * $this->config->get('config_admin_limit'), 'limit' => $this->config->get('config_admin_limit'));Filtreleme URL'i oluşturma
if (isset($this->request->get['filter_[name]'])) { $url .= '&filter_[name]=' . $this->request->get['filter_[name]'];}Her
$url = '';aşaması için üstteki yapılır.
$this->data['filter_[name]'] = $filter_[name];[name]MySQL sütununua eş değer değişken ismidir.
Filtreleme Sorgusu
if (!empty($data['filter_[name]'])) { $sql .= " AND [tablo].[name] = '" . $this->db->escape($data['filter_[name]']) . "'";}Filtreleme filter() metodu
var filter_[name] = $('select[name=\'filter_[name]\']').val();if (filter_[name]) { url += '&filter_[name]=' + encodeURIComponent(filter_[name]);}[name]MySQL sütununua eş değer değişken ismidir.
Karma Kodlar
MySQL Kodları
SELECT [ID], [Sütun] FROM [Tablo] WHERE [ID] = [Sayı];UPDATE [Tablo] SET [Sütun] = [Değişken Tipine Uygun Değer] WHERE [ID] = [Sayı];INSERT INTO [Tablo] VALUES ([Sütun1 Değeri], [Sütun2 Değeri]);CREATE TABLE IF NOT EXISTS [Tablo] ( [ID Sütunu] [Değişken Tipi] DEFAULT [Varsayılan Değer] PRIMARY KEY, [Sütun] [Değişken Tipi]);ALTER TABLE [Tablo] ADD COLUMN [Sütun] [Değişken Tipi] DEFAULT [Varsayılan Değeri] AFTER [Önceki Sütun];ALTER TABLE [Tablo] DROP COLUMN [Sütun];ALTER TABLE `cookplus_order` ADD COLUMN `cancel_status_id` int(1) DEFAULT '0';Checkbox kodu
OpenCard form verisine checkbox ekleme yapısı
<tr> <td><?php echo $entry_[name]; ?></td> <td> <input type="checkbox" name="[name]" value="1" <?php if($[name]) echo 'checked="checked"'; ?> /> </td></tr>
nameDeğişken ismi
Controller'da view için değişken oluşturma kodu
$[veri ismi] = $this->model_catalog_manufacturer->getManufacturers();foreach ($[veri ismi] as $[veri parçası]) { $this->data['[veri ismi]'][$[veri parçası]['[özellik1]']] = array( '[özellik2]' => $[veri parçası]['[özellik]'], '[özellik3]' => $[veri parçası]['[özellik]'] );}Selection box kodu
<?php<select name="filter_[names]"> <?php foreach ($[names] as $[name]) { ?> <?php if ($[name]['[name_id]'] == $[name_id]) { ?> <option value="<?php echo $[name][[name_id]]; ?>" selected="selected"><?php echo $[name]['name']; ?></option> <?php } else { ?> <option value="<?php echo $[name][[name_id]]; ?>"><?php echo $[name]['name']; ?></option> <?php } ?> <?php } ?></select>Last updated
Was this helpful?