Ö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