­čĺ│
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├╝ncellenir
    • Dosya ve dizin yollar─▒:
      • ...\webadmin\model
      • ...\model
      • ...\webadmin\model dizin dosya 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 dizin dosya ad─▒.php
        $data de─č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 dizin dosya ad─▒.tpl

Modeli y├╝kleme

1
$this->load->model('catalog/manufacturer');
Copied!

Veriyi modelden alma

1
$[veri ad─▒] = $this->[model]->[get metodu]();
Copied!

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_info
  • Model 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 / getList metodunda entry de─či┼čkenlerini ve verileri olu┼čturma
    Veriler $data de─či┼čkeni ile .tpl uzant─▒l─▒ dosyaya aktar─▒l─▒r.
    • Entry eklenir. Kaynak kodu i├žin buraya t─▒klayabilirsin.
    • Veri olu┼čturma. Kaynak kod i├žin buraya t─▒klayabilirsin.
    • ├ľrnek Yol: webadmin\controller
    • ├ľrn: C:\xampp\htdocs\ecommerce2\webadmin\controller\sale\special_promotions.php
  • 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.
    • tr sat─▒r─▒ kopyalan─▒p, name de─čerleri entry_[name] yap─▒s─▒ ile al─▒n─▒r
    • ├ľrn: ecommerce2\webadmin\view\template\sale\special_promotions_form.tpl

Form i├žin entry ekleme

1
$this->data['entry_[name]'] = $this->language->get('entry_[name]');
Copied!

Form verisi olu┼čturma

1
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; }
Copied!
  • [de─či┼čken] Model ile al─▒nan mySQL verilerini tutan de─či┼čken
    Tablo de─či┼čkeni i├žin $special_promotion veya $order_info ├Ârnek olabilir.
  • [name] MySQL s├╝tun ismi
    S├╝tun ismi i├žin $product_info ├Ârnek olabilir.
Veri olu┼čturulmazsa TLP (front-end) k─▒sm─▒nda g├Ârmez.

Filtreleme

1
$results = $this->model_sale_order->getOrders($data);
Copied!
  • Model dizinindeki gerekli veri taban─▒ metodlar─▒n─▒ g├╝ncelleme
    MySQL ├╝zerindeki verileri sorgular yard─▒m─▒yla projeye ekleyen yap─▒d─▒r.
    • get*s, getTotal*s metodlar─▒ndaki mySQL sorgular─▒ g├╝ncellenir. Kaynak kodu i├žin buraya t─▒klayabilirsin.
      $data de─č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 getList metodunda filtreleme de─či┼čkenlerini (filters) ve verileri olu┼čturma
    Veriler $data de─či┼čkeni ile .tpl uzant─▒l─▒ dosyaya aktar─▒l─▒r.
    • Filtreleme de─či┼čkeni (filter) eklenir. Kaynak kodu i├žin buraya t─▒klayabilirsin.
    • Veri (data) olu┼čturma. Kaynak kod i├žin buraya t─▒klayabilirsin.
    • ├ľrnek Yol: webadmin\controller
    • ├ľrn: C:\xampp\htdocs\ecommerce2\webadmin\controller\sale\order.php
  • View k─▒sm─▒nda filtre ekleme alan─▒ olu┼čtulur. Kaynak kod i├žin buraya t─▒klayabilirsin.
    • Filtreleme butonunun js k─▒sm─▒ndaki filter() metodunda g├╝ncelleme yap─▒l─▒r. Kaynak kod i├žin buraya t─▒klayabilirsin.

Filtre Alan─▒ Ekleme

1
<?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>
Copied!

Filtreleme de─či┼čkeni olu┼čturma

1
if (isset($this->request->get['[filter_name]'])) { $[filter_[name]] = $this->request->get['filter_name'];} else { $filter_store_id = null;}
Copied!
  • [name] MySQL s├╝tununua e┼č de─čer de─či┼čken ismidir.

Filtreleme verisini olu┼čturma

1
$data = array( 'filter_[name]' => $filter_[name];);
Copied!
  • [name] MySQL s├╝tununua e┼č de─čer de─či┼čken ismidir.
Data verisinde birden fazla de─či┼čken olabilir. ├ľrn:
1
$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'));
Copied!

Filtreleme URL'i olu┼čturma

1
if (isset($this->request->get['filter_[name]'])) { $url .= '&filter_[name]=' . $this->request->get['filter_[name]'];}
Copied!
Her $url = ''; a┼čamas─▒ i├žin ├╝stteki yap─▒l─▒r.
1
$this->data['filter_[name]'] = $filter_[name];
Copied!
  • [name] MySQL s├╝tununua e┼č de─čer de─či┼čken ismidir.

Filtreleme Sorgusu

1
if (!empty($data['filter_[name]'])) { $sql .= " AND [tablo].[name] = '" . $this->db->escape($data['filter_[name]']) . "'";}
Copied!

Filtreleme filter() metodu

1
var filter_[name] = $('select[name=\'filter_[name]\']').val();ÔÇőif (filter_[name]) { url += '&filter_[name]=' + encodeURIComponent(filter_[name]);}
Copied!
  • [name] MySQL s├╝tununua e┼č de─čer de─či┼čken ismidir.

Karma Kodlar

MySQL Kodlar─▒

1
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';
Copied!

Checkbox kodu

OpenCard form verisine checkbox ekleme yap─▒s─▒
1
<tr> <td><?php echo $entry_[name]; ?></td> <td> <input type="checkbox" name="[name]" value="1" <?php if($[name]) echo 'checked="checked"'; ?> /> </td></tr>
Copied!
name De─či┼čken ismi

Controller'da view i├žin de─či┼čken olu┼čturma kodu

1
$[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]'] );}
Copied!

Selection box kodu

1
<?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>
Copied!
Last modified 2yr ago