Herkese merhaba arkadaşlar bir ziyaretçimizin istemiş olduğu eklentiye bugün başlayacağım. Eklenti admintarafından ürüne girilen tarihi alıp ürün detayda teslim tarihi olarak gün ay yıl şeklinde gösterilmesidir.

Örneğin 20 Haziran Çarşamba Günü 21018



/////////////////////////////////////////////////////////////////


Merhaba arkadaşlar bugün sizlerle birlikte güzel bir modifikasyonu kurulumu ve kullanımı ile alakalı makalemizi birlikte inceleyeceğiz. Bu makalemizde opencart 2.2 versiyonlar için admin tarafından ürün eklenmesinde veyahut ürün düzenlenmesinde o ürüne ait olan müşteriye ürünün kargoya veriliş tarihini girilmesi ve bunun o ürün Detay da ziyaretçi veyahut müşteriye gün ay yıl şeklinde gösterimi sağlanacaktır. Örnek vermek gerekirse bu ürün 25 Haziran 2018 tarihinde kargoya verilecektir, şeklinde ziyaretçiye ürün Detay da gösterilmesi sağlanacaktır. Kuruluma geçmeden önce bu işlem hem veritabanından yapılacak eklemeler hem de model ve controller ayrıca tpl dosyalarında manuel değişim yapılacağından bu dosyalarımızı ve veritabanı mızı yedeklemenizi önemle belirtiriz.

Opencart 2.2.x Ürün Detayda Kargoya Veriliş Tarihi Ekleme

Evet arkadaşlar şimdi eklentimizin kurulumuna geçelim. Ilk işlemimiz veritabanı oluşturma ve bu veritabanına kayıt ve güncelleme gibi işlemlerin yapıldığı model dosyasında gerekli olan düzenlemeleri yapmaya.

Dosyamızı Açalım : admin/model/catalog/

product.php

Bulalım Bu Hem Update Hemde Insert Kısmında Mevcut:

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

VirgüldenSonrasına Ekle

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

Bulalım :

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

Alt Satıra Ekleyelim :

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


Burada arkadaşlar model dosyasında gerekli olan insert ve update kısımlarında gerekli olan eklemeler yanı sıra veri tabanında oluşturulacak olan tablo okuduğunda ekledikten sonra, sıra geldi gerekli olan bilgilerin geldikten sonra bu kısımlarda post etme olayına bunun içinse kontrollerde ustasından gerekli olan tanımlamaları yapmamız gerekmektedir

Dosyamızı Açalım : catalog/controller/catalog/

product.php

Bulalım :

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

Alt Satıra Ekleyelim :

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

Bulalım :

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

Alt Satıra Ekleyelim :

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

Bulalım :

if (isset($this->request->post['sku'])) {

Üst Satıra EKleyelim :


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



Kontroller dosyasında da gerekli tanımlamalar yaptıktan sonra sıra geldi admin kullanıcısının form elemanlarını kullanarak da ürünü ekleme veyahut düzenleme esnasında kargoya verilme tarihini eklemesi için gerekli kodların eklenmesine.

Dosyamızı Açalım : admin/view/template/catalog

product_form.tpl

Bulalım :





Üst Satıra Ekleyelim :














Yapmış olduğumuz bu son düzenleme ile birlikte artık admin bölümünde gerekli olan bütün işlemleri başarılı bir şekilde gerçekleştirmiş olmaktayız. Şimdiki düzenleme işlemimiz ise arkadaşlar, yönetici kısmından gidilen teslim tarihini ziyaretçi tarafından ürün Detay da kullanıcı göstermeye. Şimdi biz o pankartın normal veritabanında bulunmayan 1 tablo eklediğinizden ötürü bunu sırasıyla model dosyasında kontroller dosyasında ve son olarak da tbl dosyasında göstermek için gerekli olan işlemleri yapmaya. Ilk önce model dosyamızı düzenliyoruz

Dosyamızı Açalım :catalog/model/catalog/

product.php

Bulalım :

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

Alt Satıra Ekleyelim :

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

Şimdi işlemimiz bu eklediğimiz alanı controller dosyasında tanımlayıp işlevsel hale getirelim

Dosyamızı Açalım : catalog/controller/product

product.php

Bulalım :

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

Alt Satıra Ekleyelim :

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

Son işleme geldik tpl dosyasından tanımlayıp bunu ürün detayda kullanıya gösterme işlemlerimize.

Dosyamızı Açalım : catalog/view/theme/default/template/product

product.tpl

bulalım :





Alt Satıra Ekleyelim :



function turkcetarih($f, $zt = 'now'){
$z = date("$f", strtotime($zt));
$donustur = array(
'Monday' => 'Pazartesi',
'Tuesday' => 'Salı',
'Wednesday' => 'Çarşamba',
'Thursday' => 'Perşembe',
'Friday' => 'Cuma',
'Saturday' => 'Cumartesi',
'Sunday' => 'Pazar',
'January' => 'Ocak',
'February' => 'Şubat',
'March' => 'Mart',
'April' => 'Nisan',
'May' => 'Mayıs',
'June' => 'Haziran',
'July' => 'Temmuz',
'August' => 'Ağustos',
'September' => 'Eylül',
'October' => 'Ekim',
'November' => 'Kasım',
'December' => 'Aralık',
'Mon' => 'Pts',
'Tue' => 'Sal',
'Wed' => 'Çar',
'Thu' => 'Per',
'Fri' => 'Cum',
'Sat' => 'Cts',
'Sun' => 'Paz',
'Jan' => 'Oca',
'Feb' => 'Şub',
'Mar' => 'Mar',
'Apr' => 'Nis',
'Jun' => 'Haz',
'Jul' => 'Tem',
'Aug' => 'Ağu',
'Sep' => 'Eyl',
'Oct' => 'Eki',
'Nov' => 'Kas',
'Dec' => 'Ara',
);
foreach($donustur as $en => $tr){
$z = str_replace($en, $tr, $z);
}
if(strpos($z, 'Mayıs') !== false && strpos($f, 'F') === false) $z = str_replace('Mayıs', 'May', $z);
return $z;
}
?>





  • Ürün en geç
    echo turkcetarih('j F l Y ',$teslim_tarihi);
    ?>

    tarihinde kargoya verilir








İşlemimiz tamamdır. GüleGüle Kullanınız.