(#2 İpucu) Opencart Saat ve Tarih Ayarı Manuel - R10.net
  • 23-08-2020, 12:48:21
    #1
    Merhaba Değerli Forum Üyeleri,
    Opencart için saat ve tarih ayarlarınızı nasıl yapabileceğiniz anlatıyorum.

    Opencart 3.xx tüm sürümleri için geçerlidir.

    admin/controller/setting/setting.php açalım
    Bulalım
    $this->response->setOutput($this->load->view('setting/setting', $data));
    Öncesine ekleyelim,
    $data['config_timezone'] = $this->config->get('config_timezone');
    $data['timezones'] = DateTimeZone::listIdentifiers(DateTimeZone::ALL);
    admin/language/en-gb/setting/setting.php açalım
    $_['entry_country'] = 'Country';
    öncesine ekleyelim
    $_['entry_timezone'] = 'Timezone';
    admin/view/template/setting/setting.twig açalım
     <div class="tab-pane" id="tab-local">
    Sonrasına ekleyelim
    <div class="form-group">
    <label class="col-sm-2 control-label" for="input-timezone">{{ entry_timezone }}</label>
    <div class="col-sm-10">
    <select name="config_timezone" id="input-timezone" class="form-control">
    {% for timezone in timezones %}
    {% if timezone == config_timezone %}
    
    <option value="{{ timezone }}" selected="selected">{{ timezone }}</option>
    
    {% else %}
    
    <option value="{{ timezone }}">{{ timezone }}</option>
    
    {% endif %}
    {% endfor %}
    </select>
    </div>
    </div>
    system/library/db.php açalım
    $this->adaptor = new $class($hostname, $username, $password, $database, $port);
    sonrasına ekleyelim
    $query = $this->adaptor->query("SELECT value FROM " . DB_PREFIX . "setting WHERE `code` = 'config' AND `key` = 'config_timezone' ");
    if (!empty($query->row)) {
    $timezone = $query->row['value'];
    date_default_timezone_set($timezone);
    
    $now = new DateTime();
    $mins = $now->getOffset() / 60;
    $sgn = ($mins < 0 ? -1 : 1);
    $mins = abs($mins);
    $hrs = floor($mins / 60);
    $mins -= $hrs * 60;
    $offset = sprintf('%+d:%02d', $hrs * $sgn, $mins);
    $this->adaptor->query("SET time_zone='" . $offset . "'");
    }
  • 23-08-2020, 19:35:46
    #2
    hocam öncelikle gönderiniz için teşekkür ederim.Ama şöyle ki bende bir opencart kurulumu yaptım ama buna neden ihtiyaç duyayım?Siparişin verildiği tarihle ilgili bir arıza mı var?
  • 23-08-2020, 19:41:27
    #3
    PRJACK adlı üyeden alıntı
    hocam öncelikle gönderiniz için teşekkür ederim.Ama şöyle ki bende bir opencart kurulumu yaptım ama buna neden ihtiyaç duyayım?Siparişin verildiği tarihle ilgili bir arıza mı var?
    Sunucu saatini baz alıyor. Bir müşterim saat ve tarihi göstermek istedi. Bulamadık panelde araştırdık sonucu buydu
  • 23-08-2020, 21:02:55
    #4
    Cueh adlı üyeden alıntı
    Sunucu saatini baz alıyor. Bir müşterim saat ve tarihi göstermek istedi. Bulamadık panelde araştırdık sonucu buydu
    elinize sağlık
  • 25-08-2020, 22:03:58
    #5
    Öncelikle bu bilgi için teşekkürler. Elbette bir gün birisinin işine yarayacaktır ama bu kadar uğraşa gerek yok açıkçası.
    Sunucu saati yanlışsa hosting firmasına söylediğiniz gibi güncellemeyi yapacaktır. Sunucu sizinse zaten sunucu üzerinden güncellemeyi yaparsınız.
    Eğer hosting firması bu güncellemeyi sağlamıyorsa o zaman verdiğiniz kodlarla işlem yapılabilir.
  • 30-09-2020, 13:57:16
    #6
    Cueh adlı üyeden alıntı
    Merhaba Değerli Forum Üyeleri,
    Opencart için saat ve tarih ayarlarınızı nasıl yapabileceğiniz anlatıyorum.

    Opencart 3.xx tüm sürümleri için geçerlidir.

    admin/controller/setting/setting.php açalım
    Bulalım
    $this->response->setOutput($this->load->view('setting/setting', $data));
    Öncesine ekleyelim,
    $data['config_timezone'] = $this->config->get('config_timezone');
    $data['timezones'] = DateTimeZone::listIdentifiers(DateTimeZone::ALL);
    admin/language/en-gb/setting/setting.php açalım
    $_['entry_country'] = 'Country';
    öncesine ekleyelim
    $_['entry_timezone'] = 'Timezone';
    admin/view/template/setting/setting.twig açalım
     <div class="tab-pane" id="tab-local">
    Sonrasına ekleyelim
    <div class="form-group">
    <label class="col-sm-2 control-label" for="input-timezone">{{ entry_timezone }}</label>
    <div class="col-sm-10">
    <select name="config_timezone" id="input-timezone" class="form-control">
    {% for timezone in timezones %}
    {% if timezone == config_timezone %}
    
    <option value="{{ timezone }}" selected="selected">{{ timezone }}</option>
    
    {% else %}
    
    <option value="{{ timezone }}">{{ timezone }}</option>
    
    {% endif %}
    {% endfor %}
    </select>
    </div>
    </div>
    system/library/db.php açalım
    $this->adaptor = new $class($hostname, $username, $password, $database, $port);
    sonrasına ekleyelim
    $query = $this->adaptor->query("SELECT value FROM " . DB_PREFIX . "setting WHERE `code` = 'config' AND `key` = 'config_timezone' ");
    if (!empty($query->row)) {
    $timezone = $query->row['value'];
    date_default_timezone_set($timezone);
    
    $now = new DateTime();
    $mins = $now->getOffset() / 60;
    $sgn = ($mins < 0 ? -1 : 1);
    $mins = abs($mins);
    $hrs = floor($mins / 60);
    $mins -= $hrs * 60;
    $offset = sprintf('%+d:%02d', $hrs * $sgn, $mins);
    $this->adaptor->query("SET time_zone='" . $offset . "'");
    }
    PRJACK adlı üyeden alıntı
    hocam öncelikle gönderiniz için teşekkür ederim.Ama şöyle ki bende bir opencart kurulumu yaptım ama buna neden ihtiyaç duyayım?Siparişin verildiği tarihle ilgili bir arıza mı var?




    öncelikle detaylı anlatım ve desteğiniz için teşekkürler... bu konuda gerçekten büyük bir katkınız olmuş. benim sorunum şöyle idi.

    admin panelde çevrim içi olan müşterilerin çevrim içi oldukları saat bilgisi yanlış gösteriliyordu bu düzenlemeleri yapınca düzeldi. artık doğru saatler gözüküyor.tekrar tekrar teşekkürler... bilginizin daha çok kitleye ulaşması adına tr-opencart sitesinde de konu açmıştım orada paylaşıcam...