Opencart Para Birimleri Mevzuları


T.C. MERKEZ BANKASINDAN KURLARI ALMA

erdalatabalkan Doviz Kurlari Guncellemesi eklentisi bu iş için bence en iyisi. Çünkü opencart standart özellikleri üzerinden çalışıyor ve hiçbir dosyayı upload etmek gerekmiyor. Döviz kurlarını TCMB efektif satış değeri üzerinden alıp günceller. Ben efektif satış değerini kullanıyorum çünkü en yüksek değer bu fakat kodlarda ufak değişiklik ile bunu değiştirebilirsiniz.


PARA BİRİMLERİNİ OTOMATİK GÜNCELLEME

1) Eğer bu işlemi manuel yapmak isterseniz Admin > Ayarlar > Yerelleştirme > Para Birimleri > Yenile (turuncu buton) tıklayın.

2) Admin > Ayarlar > Seçenekler > Yerel > Para Birimini Otomatik Güncelle > Evet seçerek opencart standart güncellemesini açabilirsiniz. Daha sonra Opencart Admin Panelin anasayfasına (diğer sayfayarda olmuyor) her girdiğinizde para birimleri otomatik güncellenecektir. Otomatik para birimi güncellemesi açık olsa dahi, Admin Panel anasayfasına girmezseniz güncelleme gerçekleşmeyecektir!!!

3) Bu işlemi bir cron job eklentisi ile halletmek isterseniz aşağıda linkini verdiğim GrandCMS'nin hazırladığı opencart eklentisini kullanabilirsiniz. Bu eklenti size şöyle bir url'ye girerek güncelleme yapma imkanı veriyor:
https://yoursite.com/index.php?route=cron/currency_update
Bu url'yi ziyaret etme işini de CPANEL üzerinden bir cron job oluşturarak para birimi güncelleme işini tamamen otomatik bir hale getirebilirsiniz.
Bu eklentinin bir özelliği olarak linke sürekli girseniz dahi günde bir kere güncelleme kısıtlaması mevcut. Bu durumu kullanarak cron job yerine site kodlarına ekleyerek (örneğin sepete gidildiğinde) url'nin tetiklenmesini sağlayabilirsiniz.
Bu 3 yöntemden birini veya üçünü birden aynı anda kullanabilirsiniz.

 

ÇOKLU PARA BİRİMİ İLE ÇALIŞMA

Opencart mağazanızda birden fazla para birimi ile çalışmanız mümkün. Bu işlem mağazanızın üst menüsünde bulunan para birimlerinden birini seçmek kadar kolay. Dolar, Euro, TL, ... ne seçerseniz o mağazaki bütün fiyatlar bu para biriminden gösterilmeye başlayacaktır. 

Taki ödeme aşamasına gelene kadar hiçbir sorun olmayacaktır. Ödeme aşamasında mağazanın varsayılan para birimi ne ise o birimden işlemin gerçekleşmesini isteyeceksiniz. Yani fiyatlar Euro olarak gösterilse dahi, son aşamada TL olarak ödensin istersiniz. Böylece kredi kartı ödemesinde veya faturalandırmada sorun yaşamazsınız. 

İşte opencart standart olarak bunu sağlamıyor malesef! Bu durumda çoklu para birimi eklentileri devreye giriyor. Çoklu para birimi kullanımından kastettiğim de budur. Çözüm için opencart eklenti mağazasında farklı eklentiler bulmanız ve sisteminize göre entegre etmeniz mümkün. Ben de kendi eklentimi hazırladım bu mantıkta. Burada size bir yol göstermek ve işin mantığını bildiğim kadarıyla aktarmaya çalıştım. Sisteminize uygun eklenti bulmakta sıkıntı yaşarsanız veya bir sorunuz olursa benimle iletişime geçebilirsiniz.


SSS

1) Opencart para birimlerini otomatik güncelleme özelliği nereden aktif hale getirilir?
Admin > Ayarlar > Seçenekler > Yerel > Para Birimini Otomatik Güncelle > Evet seçerek güncellemeyi aktif hale getirirsiniz.

2) Opencart otomatik olarak para birimlerini hangi aralıkta / ne zaman günceller?
Admin Panel anasayfasına her girdiğinizde günceller. Admin panelin diğer sayfalarında güncelleme olmaz sadece anasayfasında olur. Tabiki 1. maddede belirttiğim gibi otomatik güncelleme özelliğinin açık olması gereklidir.



Bu yazıda paylaştığım eklentileri hazırlayan arkadaşlara teşekkür ederim.
Son Güncelleme: 16/10/2020

Opencart Samesite Hatası ve Çözümü


Samesite Hatası:
Yeni Chrome güncellemesi ile yaşanan Samesite hatası opencart için de sıkıntı oluşturmaktadır. Özellikle ödeme aşamasında 3D güvenlik sms'i için banka sayfasına gidip geri döndüğünüzde oturumunuzun sonlanması durumu ciddi sıkıntılara yol açmaktadır. Ödeme alınsa dahi sipariş oluşmamaktadır. Samesite hatası hakkında ayrıntılı bilgi için: https://dev.iyzipay.com/tr/sss/samesite-problemi-nedir


Çözüm:
Öncelikle kullandığınız php sürümünün 7.3 veya üstü olduğuna emin olunuz. Bu çözüm için en az 7.3 sürümü gereklidir fakat daha düşük bir sürüm kullanıyorsanız verdiğim kaynaklara bakarak kodları değiştirebilirsiniz, ben test edemediğim için eklemedim. Yine bu çözümü opencart 2.3 versiyonu üzerinde denediğimi ve sorunsuz çalıştığını belirtmeliyim. Eksik gördüğünüz bir kısım olursa yorum yazmanızı rica ederim. Ayrıntısını aşağıda vereceğim fakat genel olarak session_start() ve setcookie() komutları öncesine 'samesite' => 'None' ve secure parametrelerini ekleyerek çözdüm.
Not: Bu çözümü opencart için yazdım fakat kendi yazılımınız için de uygulayabilirsiniz. Bulup değiştireceğiniz komutlar yine bu iki komuttur.

Düzenlediğim opencart dosyaları ve değişiklikler:

1. system/library/session.php

Bul:
session_set_cookie_params(0, '/');
session_start();
Değiştir:
if (PHP_VERSION_ID < 70300) {
    session_set_cookie_params(0, '/; samesite=None', '.yoursite.com', true, true);
} else {
    ini_set('session.cookie_samesite', 'None');
    session_set_cookie_params([
        'lifetime' => 0,
        'path' => '/',
        'domain' => '.yoursite.com',
        'secure' => true,
        'httponly' => true,
        'samesite' => 'None'
    ]);
}
session_start();

Bul:
setcookie($key, $this->session_id, ini_get('session.cookie_lifetime'), ini_get('session.cookie_path'), ini_get('session.cookie_domain'), ini_get('session.cookie_secure'), ini_get('session.cookie_httponly'));Değiştir:
if (PHP_VERSION_ID < 70300) {
    setcookie($key, $this->session_id, ini_get('session.cookie_lifetime'), ini_get('session.cookie_path'), ini_get('session.cookie_domain'), ini_get('session.cookie_secure'), ini_get('session.cookie_httponly'));
} else {
    $samsite_cookie_options = array (
        'expires' => ini_get('session.cookie_lifetime'),
        'path' => ini_get('session.cookie_path'),
        'domain' => ini_get('session.cookie_domain'),
        'secure' => true, // or false
        'httponly' => true, // or false
        'samesite' => 'None' // None || Lax || Strict
    );
    setcookie($key, $this->session_id, $samsite_cookie_options);
}

Bul:
setcookie($key, '', time() - 42000, ini_get('session.cookie_path'), ini_get('session.cookie_domain'));
Değiştir:
if (PHP_VERSION_ID < 70300) {
    setcookie($key, '', time() - 42000, ini_get('session.cookie_path'), ini_get('session.cookie_domain'));
} else {
    $samsite_cookie_options = array (
        'expires' => time() - 42000,
        'path' => ini_get('session.cookie_path'),
        'domain' => ini_get('session.cookie_domain'),
        'secure' => true, // or false
        'httponly' => true, // or false
        'samesite' => 'None' // None || Lax || Strict
    );
    setcookie($key, '', $samsite_cookie_options);
}

2. catalog/controller/startup/startup.php

Bul:
setcookie('language', $code, time() + 60 * 60 * 24 * 30, '/', $this->request->server['HTTP_HOST']);
Değiştir:
if (PHP_VERSION_ID < 70300) {
    setcookie('language', $code, time() + 60 * 60 * 24 * 30, '/', $this->request->server['HTTP_HOST']);
} else {
    $samsite_cookie_options = array (
        'expires' => time() + 60 * 60 * 24 * 30,
        'path' => '/',
        'domain' => $this->request->server['HTTP_HOST'],
        'secure' => true, // or false
        'httponly' => true, // or false
        'samesite' => 'None' // None || Lax || Strict
    );
    setcookie('language', $code, $samsite_cookie_options);
}

Bul:
setcookie('tracking', $this->request->get['tracking'], time() + 3600 * 24 * 1000, '/');
Değiştir:
if (PHP_VERSION_ID < 70300) {
    setcookie('tracking', $this->request->get['tracking'], time() + 3600 * 24 * 1000, '/');
} else {
    $samsite_cookie_options = array (
        'expires' => time() + 3600 * 24 * 1000,
        'path' => '/',
        'domain' => $this->request->server['HTTP_HOST'],
        'secure' => true, // or false
        'httponly' => true, // or false
        'samesite' => 'None' // None || Lax || Strict
    );
    setcookie('tracking', $this->request->get['tracking'], $samsite_cookie_options);
}

Bul:
setcookie('currency', $code, time() + 60 * 60 * 24 * 30, '/', $this->request->server['HTTP_HOST']);
Değiştir:
if (PHP_VERSION_ID < 70300) {
    setcookie('currency', $code, time() + 60 * 60 * 24 * 30, '/', $this->request->server['HTTP_HOST']);
} else {
    $samsite_cookie_options = array (
        'expires' => time() + 60 * 60 * 24 * 30,
        'path' => '/',
        'domain' => $this->request->server['HTTP_HOST'],
        'secure' => true, // or false
        'httponly' => true, // or false
        'samesite' => 'None' // None || Lax || Strict
    );
    setcookie('currency', $code, $samsite_cookie_options);
}

3. Bütün dosyalarınızı aratarak session_start() ve setcookie() komutlarını yukarıdaki gibi değiştiriniz. Aslında ilk 2 dosya üzerindeki değişiklikler yeterli olmaktadır ama yine de bir süprizle karşılaşmamak için diğer dosyalarınızı da taramanızı öneririm.


...


Gelen sorular üzerine ekliyorum. Opencart 2.1.0.1 için aşağıdaki ekran görüntülerindeki 3 dosyayı düzenlemeniz gerekmektedir. session_start ve setcookie komutlarını arayarak kendiniz de bulabilirsiniz. Bu satırları bulup yukarıdaki örneklerdeki gibi değiştiriniz.





Sık Kullanılan MYSQL Sorguları (Opencart Ürün Veritabanı)


Ürün Açıklamasında Toplu Güncelleme Yapma:
Mağazanızdaki ürünlerin açıklamasında toplu olarak bir değişiklik yapmanız gerektiğinde mysql database üzerinde çalıştıracağınız örnek update sorgusu aşağıdaki gibidir:
UPDATE oc_product_description SET description = REPLACE(description, 'Bağımsız tabakalar halindedir', 'Bağımsız yapraklar halindedir') WHERE INSTR(description, 'Bağımsız tabakalar halindedir') > 0
Böylece text içindeki bir kelime veya cümleyi değiştirebilirsiniz.


Ürün Açıklamasında Toplu Güncelleme Yapma (Ürün Adına Göre Arayarak):
Mağazanızdaki ürünlerin açıklamasında toplu olarak bir değişiklik yapmanız gerektiğinde mysql database üzerinde çalıştıracağınız örnek update sorgusu aşağıdaki gibidir:
UPDATE oc_product_description SET description = REPLACE(description, '%100 pamuklu tuval bezi, köknar ağacından üretilir', '%90 pamuklu tuval bezi, çınar ağacından üretilir') WHERE INSTR(name, 'Basic Seri Tuval') > 0


Birden Fazla Ürünün Durumunu Tek Seferde Güncelleme:
Product ID'leri belli olan birden fazla ürünün durumunu tek seferde güncellemek için:
UPDATE oc_product SET status = 0 WHERE product_id IN (1563,1564,1566,1607,1617,1620)

..

Opencart Kavramlar Sözlüğü

Opencart Dictionary of Concepts


TR


Opencart Ürün Listeleme Modülleri
BestsellerEn çok satan ürünler. Genelde anasayfada en çok satan ürünleri listelemek için kullanılır.
FeaturedSeçilen ürünler. Sizin tek tek seçerek belirlediğiniz ürünlerden oluşan bir listedir.
LatestYeni ürünler. Mağazaya en son eklediğiniz ürünleri içeren listedir.
Specialİndirimli ürünler. İndirimli fiyat girdiğiniz ürünleri içeren listedir.

Diğer
AffiliateOrtaklık. Opencart ortaklık sistemine sahiptir. Modüller içinden bunu aktif hale getirebilir, mağaza ayarlarınızdan komisyon ve başvuru ayarlarını düzenleyebilirsiniz.
TransactionsMağaza kredisi. Mağazanın hesabınıza tanımladığı bakiye ile alışveriş yapabilirsiniz. Bu kredi ile yaptığınız işlemleri ve kalan bakiyenizi Hesabım > Bakiye İşlemleri menüsünden takip edebilirsiniz.

EN

Opencart Product Listing Modules
BestsellerBest selling products. It is often used to list the best selling products on the homepage.
FeaturedSelected products. It is a list of products that you choose individually.
LatestNew products. This is the list of products you recently added to the store.
SpecialDiscounted products. The discounted price is the list that contains the products you entered.

Other
AffiliateReseller. Opencart has reseller system. You can activate this from within the modules, and edit commission and application settings from your store settings.
TransactionsStore credit. You can shop with the balance defined by the store to your account. You can track your transactions with this credit and your remaining balance on the My Account > Your Transactions menu.

Opencart Different Session ID Error in Multi Stores


Opencart Different Session ID Error in Multi Stores | Opencart Çoklu Mağazalar Arası Farklı Oturum Hatası

Durum: 

store1.example.com ---> birinci mağazanıza ait sub domain
store2.example.com ---> ikinci mağazanıza ait sub domain
Her iki mağaza da aynı alışveriş sepetini kullanıyor ve ödemesi tek bir checkout sayfasından yapılıyor olsun.

Hata: 

Menü üzerinden bir mağazadan diğer mağazaya geçtiğinizde sepete ekledikleriniz görünmüyor! Yani store1'de sepete elma ekledim fakat store2'ye gidince sepet boş görünüyor.

Çözüm: 

1) Öncelikle admin panelden her ürün için şu kontrolü yapın; admin>katalog>(ilgili ürün)>düzenle>bağlantılar bölümüne gelin, mağazalar kısmında store1 ve store2'yi seçili hale getirin ve Kaydedin. Böylece ürün her iki mağazada tanımlı hale gelmiş oldu.

2) 1. aşamayı yaptığınız halde sorun devam ediyorsa sorun sistemin her iki mağaza için ziyaretçiye farklı sesssion id vermesi olabilir. Böylece aslında sepete ekleyen aynı kişi olsa bile farklı kişilermiş gibi algılanmış olur. Tabiki burada tarayıcının gizli sekme özelliğini kullanmamanız gerektiğini unutmayın. Bu duruma emin olmak için header.php sonuna var_dump($this->session->session_id); komutunu uygulayıp her iki mağazada test edebilirsiniz.
Gelelim çözüme:
system/library/session.php dosyasını açın. İlgili satırı bulun ve değiştirin.
Bul:
session_set_cookie_params(0, '/');

Değiştir:
session_set_cookie_params(0, '/', '.example.com');

admin panelden modifikasyonlar>refresh yaptıktan sonra tarayıcının tarama verilerini temizleyip tekrar sepet işlemlerini deneyin. Bu sefer mağazalar arası geçişte sepetiniz aynı şekilde kalıyor olması gerekir. Ben aynı sorunu yaşıyordum ve bu yöntemle sorunu çözdüm. Fakat sizde olmuyor ise farklı bir sorun var demektir ve bunu yorumlara yazmanızı rica ederim.

UTF-8 Error in Opencart

Warning: htmlentities(): charset `UTF-8;' not supported, assuming utf-8

SORUN:
Opencart admin panel ve mağaza sayfalarınızda aşağıdaki UTF-8 hatasını alıyorum:
Warning: htmlentities(): charset `UTF-8;' not supported, assuming utf-8 in

ÇÖZÜM:
php.ini dosyasını açın (Cpanel MultiPHP INI Düzenleyici üzerinden de yapabilirsiniz) ve UTF-8 olan satırın başına ; ekleyerek kaydedin. Böylece bu özelliği devre dışı bırakmış olacaksınız.
Önce:

Sonra:

Opencart Modal-Popup Login&Register&Forget (Free)


Opencart sisteminde oturum açma, kayıt olma işlemleri için sistem sizi ayrı sayfalara yönlendirmektedir. Bu da tekrar aradığı ürüne dönmek isteyen kullanıcı için bir sorun teşkil etmektedir. Bu eklenti sayesinde popup/modal pencere ile olduğunuz sayfadan ayrılmadan üyelik işlemlerini yapabilirsiniz. Bu eklenti neleri sağlıyor:

- Modal pencere ile Oturum Açma işlemi
- Modal pencere ile Kayıt Olma işlemi
- Modal pencere ile Şifremi Unuttum işlemi
- Oturum Açma, Çıkış ve Kayıt Ol işlemlerinden sonra son açılan sayfaya geri dönme

Live Demo
Opencart 2.3.0.2 için denenmiştir.


https://drive.google.com/file/d/1xnw5IyaSnqlDy1oPPIxlKBpZeNp7etmY/view?usp=sharing


Not: Bu eklentinin orjinal hali ehub tarafından yapılmıştır. Fakat buradaki halinde hatalar olduğu için düzenleyip yükledim.

Opencart İade Nedenleri İngilizce-Türkçe



ENGLISH TÜRKÇE
Dead On Arrival Ürün Tarafıma Ulaşmadı
Faulty, please supply details Hatalı Ürün (Detayları Aşağıya Yazınız)
Order Error Hatalı Sipariş Verdim
Other, please supply details Diğer (Detayları Aşağıya Yazınız)
Received Wrong Item Yanlış Ürün Geldi


Sipariş durumlarının çevirisi için tıklayınız >

Opencart Sipariş Durumları İngilizce-Türkçe Çeviri



ENGLISH TÜRKÇE ALTERNATİF
Canceled İptal
Canceled Reversal İptal İşleminden Vazgeçildi İptali Geri Al
Chargeback Taksitli Geri Ödeme Kredi Kartına Taksitli İade
Complete Teslim Edildi Tamamlandı
Denied Reddedildi
Expired Süresi Doldu
Failed Başarısız
Pending (Default) Onay Bekliyor
Processed Hazırlandı
Processing Hazırlanıyor
Refunded Geri Ödendi
Reversed İade İşleminden Vazgeçildi İadeyi Geri Al
Shipped Kargoya Verildi
Voided Hükümsüz

İade nedenleri çevirisi için tıklayınız >

SEO İçin Google Veri İşaretleme ve Kullanıcı Oyları Konusu


Google Search Console araçlarından olan Veri İşaretleyici ile sitenizdeki içerikleri başlık, resim, tarih, puan, yorum, ... gibi işaretleyerek Google aramalarında bu sayfaların daha güzel zenginleştirilmiş kartlar şeklinde görünmesini sağlayabilirsiniz. Örneğin ürün sayfalarının yıldızlı olarak görünmesi gibi...vs.

- Bu işaretleme de ilk olarak örnek bir sayfayı etiketliyorsunuz. Aslında google'a bi nevi sayfanızın neresinde başlık, neresinde resim, neresinde puan var olduğunu anlaması için yol göstermiş oluyorsunuz.
- Daha sonra buna benzer sayfaları Google tarıyor ve size kontrol ettiriyor.
- Daha sonra işlemi bitirip yayınlıyorsunuz. Bu kadar.
- Fakat bu işaretlemeyi yaparken bir husus kafa karıştırıcı oluyor. Puan kısmı. Şu örneklerle anlatmaya çalışayım.

Örnek 1; sitenizde ürünün puanı 5 yıldız üzerinden 4 yıldız almış ise ve 4/5 şeklinde bir ibare ile sitenizde gösteriliyor olduğunu varsayalım. Bu durumda 4 sayısını seçip Ortalama Puan/Gelişmiş/Puan olarak etiketlemeniz gerekiyor. Aynı şekilde 5 sayısını da Ortalama Puan/Gelişmiş/Mümkün Olan En İyi Puan olarak etiketlemeniz gerekiyor. Eğer yorum sayısı da yazıyor ise onu da Ortalama Puan/Gelişmiş/Oy Sayısı olarak etiketlemeniz gerekiyor.

Örnek 2; sitenizde ürünün puanı 4,8 şeklinde ondalıklı bir ibare ile sitenizde gösteriliyor olduğunu varsayalım. Bu durumda 4,8 sayısını seçip Ortalama Puan/Kullanıcı Oyu olarak etiketlemeniz gerekiyor.

Umarım yardımcı olmuştur. Kullanıcı oylarının etiketlenmesi ile ilgili Google yardımı için https://support.google.com/webmasters/answer/3113241 adresini ziyaret edebilirsiniz.

Opencart için bu konuda hazırladığım eklenti için: SEO İçin Ürün Sayfasında Puanını Göster

Opencart Ürün Linklerini Kategorisiz Hale Dönüştürme (Product Seo Url Without Category)


Opencart sitenizde kategorilerdin birine girip, herhangi bir ürüne tıkladığınızda Url'ye üründen önce kategori ismi de eklenmektedir. Bu da Google'ın sitenizi yanlış indekslemesine yol açabilir. Çünkü aynı ürüne direk anasayfadan tıklayınca Url'ye kategori eklenmiyor. Bu şekilde bir ürün için iki farklı Url Google tarafından algılanıyor. Url'den kategoriyi çıkartarak bu durumu düzeltmek için:

- catalog/controller/startup/seo_url.php dosyasını açınız.
$url .= '/' . $query->row['keyword']; yazan ilk satırı arayınız ve şu değişikliği yapınız:
  $url = '/' . $query->row['keyword'];
- Diğer satırlarda değişikliğe gerek yok.
- Kaydedip, modifikasyonlardan refresh yapınız. Bu kadar.

Bu düzeltme Opencart 2.3.0.2 versiyonu için denenmiştir. Versiyona göre seo_url.php dosyasının yeri değişebilir.

https://www.opencart.com/index.php?route=marketplace/extension/info&extension_id=32399

Google Yapısal Veri Test Aracında Belirtilmeyen Tür Hatası (structured data testing tool unspecified type) [Çözüldü]


Bu hata bende; Open Graph denilen facebook için zenginleştirilmiş kart oluşturma kodlarında oluştu. Burada @type kısmında belirtilmeyen tür yazmakta idi. Bu durum sizde de varsa boşuna Open Graph kodlarınızla uğraşmayın sorun base etketinde.

Çözüm:
- Etiketleriniz arasında bulunan BASE etiketini silin ve tekrar test edin. Hepsi bu kadar...
etiketleriniz arasında bulunan BASE etiketini silin ve tekrar test edin. Hepsi bu kadar...

Önemli: 
Eğer bu işlemi opencart sistemi üzerinde yapacaksanız, şu işlemi de uygulamanız gerekiyor:
- catalog/controller/startup/seo_url.php dosyasını açınız.
$url .= '/' . $query->row['keyword']; yazan ilk satırı arayınız ve şu değişikliği yapınız: $url = '/' . $query->row['keyword'];
- Diğer satırlarda değişikliğe gerek yok.
- Kaydedip, modifikasyonlardan refresh yapınız. Bu kadar.
Bu düzeltme Opencart 2.3.0.2 versiyonu için denenmiştir. Versiyona göre seo_url.php dosyasının yeri değişebilir.

https://www.opencart.com/index.php?route=marketplace/extension/info&extension_id=32399

Sadece Belli Sayfalarda HTTPS ve SSL Sertifika Sorunu

Sitenize SSL kurulumu yaptınız ve bütün sayfalarınız https:// ile başlıyor ve sorunsuz çalışıyor. Fakat bazı sayfalarınıza girdiğinizde https:// ile başlamasına rağmen Güvenli Değil hatası alıyorsanız yani SSL sertifikası yokmuş gibi görünüyorsa, bu sorunu nasıl çözeceğinizi anlatacağım;

Ben bu sorunu Opencart Product yani Ürünler sayfasında aldım. Opencart'ın genelinde SSL sertifikası doğru çalışıyordu ve Güvenli işareti çıkıyordu fakat sitedeki ürünlerden birine tıkladığımda https:// ile başlamasına rağmen sayfada Güvenli işareti çıkmıyordu.

Çözüm:
- Sayfa içeriğindeki html kodlarına bakın.
- http:// ile başlayan kısımları https:// yapın veya /image şeklinde site adını hiç yazmadan belirtin.
- Örneğin img ile verilen site içi resimlerinizde
  img src="http://www.siteniz.com/images/urun.jpg" yazıyorsa bunu
  img src="/images/urun.jpg" şeklinde değiştirin.
- css, js, img, diğer link verdiğiniz dosyalar gibi bütün kısımlara bakın ve dediğim gibi http olan bir
  bağlantı kalmasın.

Bu şekilde bendeki sorun düzeldi. Eğer farklı şekilde sorun yaşayanlar var ise buradan paylaşabilirsiniz.

Http to Https ve www'siz to www'li Yönlendirmesi (.htaccess)

.htaccess dosyamıza şu kodu ekliyoruz:
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} !^www\.example\.com$ [NC]
RewriteRule ^(.*)$ https://www.example.com/$1 [L,R=301]
eğer htaccess dosyanızda üst satırlarda RewriteEngine On yazılmamış ise o zaman şu şekilde ekleyin:
RewriteEngine On
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} !^www\.example\.com$ [NC]
RewriteRule ^(.*)$ https://www.example.com/$1 [L,R=301]

Bu kod ile şu sonucu elde edersiniz:

  • example.com -> www.example.com
  • http://example.com -> https://www.example.com
  • http://www.example.com -> https://www.example.com

Sadece www yönlendirmesi için:
RewriteCond %{HTTP_HOST} !^www\.example\.com
RewriteRule (.*) https://www.example.com/$1 [R=301,L]
Sadece http -> https yönlendirmesi için:
RewriteCond %{HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

Opencart - Coğrafi Kod Nedir? Nasıl Eklenir?


Admin arayüzünde yapılacak işlem:

  • Admin/Ayarlar/Mağazalar/Mağazayı Düzenle/Mağaza sekmesine gelin
  • Burada Coğrafi Kod kutusuna GOOGLE HARİTALAR (Google Maps) aldığımız koordinatları yerleştireceğiz. Url olarak değil koordinat olarak yazmamız gerekiyor.
  • Böylece sitemizin iletişim sayfasında Haritayı Göster butonu aktif oluyor ve tıklayınca bu koordinatı google maps üzerinde açıyor. Direk harita görünmesi için opencart eklentilerini kullanabilirsiniz.

Google Maps üzerinden bir yerin coğrafi kodunu öğrenme:

  • maps.google.com adresini ziyaret edin.
  • işaretlemek istediğiniz konumu bulun.
  • bu noktada sağ tuşa tıklayarak "Burası Neresi?" seçin.
  • bir kutu içinde bu konumun resmi ve bazı bilgiler çıkacaktır.
  • bu bilgilerin altında 38.364571, 38.320025 gibi bir sayısal değer çıkacaktır. işte bu işaretlediğiniz yerin konumudur. bu haliyle kopyalayıp Opencart içerisinde yukarıda belirttiğim Coğrafi Kod kutusuna yapıştırınız.
Örneğin;
Coğrafi Kod: 38.364571, 38.320025

Opencart - Hata Mesajları ve Çözümleri

Missing argument 2 for Template::render() called in /public_html/system/storage/modification/system/engine/loader.php on line 87

Hata Nedeni: 
Yeni tema yükleme. TR dilini yükledikten sonra bir tema eklediğinizde çıkıyor.

Çözümü:
Admin/Eklentiler/Modifikasyonlar/Refresh(Yenile) butonuna bir yada birkaç kez tıklayın.