Merhaba arkadaşlar sizlere bugün opencart 2.x versiyonlarında geçerli sürümlerde. Admin tarafına 3 adet daha veri girişinin yapıldığı form ve veritabanına yapılan eklemelerle ilgili modifikasyonu içeren makalemizi paylaşacağız Bu makalede admin tarafından ürüne verilen puan ve not yanı sıra eğer bu ürünümüzde son kullanım tarihli bir ürün ise son tarihinin belirtildiği makaleden oluşmaktadır. Admin bölümünden veri girişinden girilen bu bilgiler ürün detayda gözükmek üzere yapılandırılmaktadır. Ürünümüze adminden bu kısımdan girilen puan not ve son kullanım tarihleri gösterilecektir.




Not: videodaki anlatım makale değişmeden önce çekilmş ve makale tekrar elden geçirilerek eksik kodlar eklenmiştir.

Şimdi kuruluma geçelim.
İlk Önce admin tarafından model dosyasından veritabanımızı oluşturalım.
Dosyamızı Açalım : admin/catalog/model/catalog/
product.php
Bulalım :

sku = '" . $this->db->escape($data['sku']) . "',


Bu Kod iki Yerde var İkisinide Aşağıdaki Kod İle Değişin :

sku = '" . $this->db->escape($data['sku']) . "', entry_admin_notu = '" . $this->db->escape($data['entry_admin_notu']) . "', admin_notu = '" . $this->db->escape($data['admin_notu']) . "', entry_admin_puan = '" . $this->db->escape($data['entry_admin_puan']) . "', admin_puan = '" . $this->db->escape($data['admin_puan']) . "', entry_son_kullanma = '" . $this->db->escape($data['entry_son_kullanma']) . "', son_kullanma = '" . $this->db->escape($data['son_kullanma']) . "',

Bulalım :

public function getProducts($data = array()) {

Bir Alt Satırdaki $sql ile başlayan kodun altına ekleyin

$exist = $this->db->query("SHOW COLUMNS FROM `" . DB_PREFIX . "product` WHERE Field = 'entry_admin_notu'");
if (count($exist->row) == 0) {
$this->db->query("ALTER TABLE `" . DB_PREFIX . "product`
ADD COLUMN `entry_admin_notu` VARCHAR(64) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
ADD COLUMN `admin_notu` VARCHAR(64) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
ADD COLUMN `entry_admin_puan` VARCHAR(64) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
ADD COLUMN `admin_puan` VARCHAR(64) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
ADD COLUMN `entry_son_kullanma` VARCHAR(64) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
ADD COLUMN `son_kullanma` VARCHAR(64) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL
");
}


Dosyamızı Açalım : admin/controller/catalog/
product.php
Bulalım :

$data['sku'] = '';



Alt Satıra Ekleyelim :

if (isset($this->request->post['admin_notu'])) {
$data['admin_notu'] = $this->request->post['admin_notu'];
} elseif (!empty($product_info)) {
$data['admin_notu'] = $product_info['admin_notu'];
} else {
$data['admin_notu'] = '';
}

if (isset($this->request->post['admin_puan'])) {
$data['admin_puan'] = $this->request->post['admin_puan'];
} elseif (!empty($product_info)) {
$data['admin_puan'] = $product_info['admin_puan'];
} else {
$data['admin_puan'] = '';
}

if (isset($this->request->post['son_kullanma'])) {
$data['son_kullanma'] = $this->request->post['son_kullanma'];
} elseif (!empty($product_info)) {
$data['son_kullanma'] = $product_info['son_kullanma'];
} else {
$data['son_kullanma'] = '';
}




Bulalım :

$data['entry_download'] = $this->language->get('entry_download');

Üst Satıra Ekleyelim :

$data['entry_son_kullanma'] = $this->language->get('entry_son_kullanma');

$data['entry_admin_puan'] = $this->language->get('entry_admin_puan');

$data['entry_admin_notu'] = $this->language->get('entry_admin_notu');



Bulalım :

$data['help_ean'] = $this->language->get('help_ean');

Alt Satıra Ekleyelim :

$data['help_admin_notu'] = $this->language->get('help_admin_notu');
$data['help_admin_puan'] = $this->language->get('help_admin_puan');


Dosyamızı Açalım : admin/view/template/catalog/
product_form.tpl
Bulalım :








Üst Satıra Ekleyelim :































Dosyamızı AÇalım : admin/language/senin-dildosyan/catalog/
product.php
Bulalım :

$_['help_ean']

Alt Satıra Ekleyelim :


$_['help_admin_notu'] = 'Ürünlerde Yönetimden Girilen Notu';
$_['help_admin_puan'] = 'Ürünlerde Yönetimden Girilen Puanı';


Bulalım :

$_['entry_name']

Alt Satıra Ekleyelim :

$_['entry_admin_notu'] = 'Admin Notu';
$_['entry_admin_puan'] = 'Admin Puan';
$_['entry_son_kullanma'] = 'Son Kullanma';


Admin Tarafaındaki Modifikasyon İşlemleri Bitti . Şİmdi Sıra ziyaretçi tarafındaki modifikasyonlara geldi
Dosyamızı Açalım : catalog/model/catalog/
product.php
Bulalım :

viewed' => $query->row['viewed']

Üst Satıra Ekleyelim :


'admin_notu' => $query->row['admin_notu'],

'admin_puan' => $query->row['admin_puan'],

'son_kullanma' => $query->row['son_kullanma'],


Dosyamızı AÇalım :
catalog/controller/product/
product.php
Bulalım :

$data['reward'] = $product_info['reward'];


Alt Satıra Ekleyelim :

$data['admin_notu'] = $product_info['admin_notu'];

$data['admin_puan'] = $product_info['admin_puan'];

$data['son_kullanma'] = $product_info['son_kullanma'];


Bulalım :

$this->document->addStyle('catalog/view/javascript/jquery/magnific/magnific-popup.css');

$this->document->addStyle('catalog/view/javascript/jquery/circle.css');

Bulalım :

$data['entry_qty'] = $this->language->get('entry_qty');

Alt Satıra Ekleyelim :


$data['entry_son_kullanma'] = $this->language->get('entry_son_kullanma');

$data['entry_admin_puan'] = $this->language->get('entry_admin_puan');

$data['entry_admin_notu'] = $this->language->get('entry_admin_notu');


Dosyamızı Açalım : catalog/language/senin-dil-klasörün/
product.php
Bulalım :

$_['text_tags']

$_['entry_son_kullanma'] = 'Kullanma Tarihi:';
$_['entry_admin_puan'] = 'Puanı:';
$_['entry_admin_notu'] = 'Notu:';


Dosyamızı AÇalım : catalog/view/theme/senin-teman/template/product/
product.tpl
Bulalım :



Alt Satıra Ekleyelim :

:

:

:


İşlem Bu kadar eğer puan gösterimini biraz daha can canlı yapmak istiyorsanız. Örnek kod aşağıdaki gibidir.

Aynı tpl dosyası içersinde Bulalım :

$price

Alt Kısmına Ekleyelim :










%







[b]Ayrıca eklenen tabloları ve form elemanlarını değiştirip çoğaltarak istediğiniz kadar alan da ekleyebilirsiniz. Css dosyası ektedir.


Diğer farklı kullanım türü renkleri aşağıdaki gibidir.

[/b]


Pure CSS Percentage Circle - circle100







50%







25%







12%













50%







25%







12%













50%







25%







12%


















50%







25%







12%













50%







25%







12%













50%







25%







12%













son olarakta arşivdeki circle.css dosyasını catalog/view/javascript/jquery dizinine atınız.

Kaynak : e-ticaretdersleri