Jump to content

Sipariş Silme


ofazli

Recommended Posts

  • 2 months later...
  • 2 weeks later...

bir müşterim için geliştirdim bu modülü,
admin sayfasında siparişleri teker teker veya çoklu silebiliyor
yüklemeye gerekyok birkaç php dosyasındaki kodları bulup yerine benim yazdıklarımı eklemeniz yeterli
cuzi bir ücret karşılığı veriyorum ilgilenenler PM atsın

Link to comment
Share on other sites

  • 4 months later...

Merhaba,
SizinAdminKlasörü/tabs/AdminOrders.php dosyasını açınız.

Aşağıdaki kodları bulunuz:

$this->table = 'order';
      $this->className = 'Order';
      $this->view = 'noActionColumn';
      $this->colorOnBackground = true;



hemen altına altdaki kodu ekleyiniz:

$this->delete = true;



Şimdi >>>Yönetim Paneli >>>Siparişler sayfasından siparişleri silebilirsiniz.

Kolay gelsin...

  • Like 2
Link to comment
Share on other sites

  • 5 weeks later...
  • 1 month later...

Her bok için para istiyorsunuz be.

bir müşterim için geliştirdim bu modülü,
admin sayfasında siparişleri teker teker veya çoklu silebiliyor
yüklemeye gerekyok birkaç php dosyasındaki kodları bulup yerine benim yazdıklarımı eklemeniz yeterli
cuzi bir ücret karşılığı veriyorum ilgilenenler PM atsın


Bak adama Allah razı olsun bize yardımcı oldu. Hangi salak sana cüzi bir fiyat ödeyecek?

Merhaba,
SizinAdminKlasörü/tabs/AdminOrders.php dosyasını açınız.

Aşağıdaki kodları bulunuz:
$this->table = 'order';
      $this->className = 'Order';
      $this->view = 'noActionColumn';
      $this->colorOnBackground = true;



hemen altına altdaki kodu ekleyiniz:

$this->delete = true;



Şimdi >>>Yönetim Paneli >>>Siparişler sayfasından siparişleri silebilirsiniz.

Kolay gelsin...

Link to comment
Share on other sites

  • 3 weeks later...

Arkadaşlar....

Bu oluşum ve open source sistemini anlamış değiliz. Çeşitli işlevde bir sürü "bedava" script var. Bunları kuruyor deniyor işimizi çözüyorsa kullanıyoruz. Şimdiye kadarki tüm open source scriptlerde profesyonellik kokmayan bir çok taraf gördüm. (joomla dışında) Amaa bu presta bir çok parayla aldığımız hatta almadığımız kiraladığımız alışveriş sistemine taş çıkartacak kadar başarılı.

Tabi turkuz ya armut pis agzıma düş! Adamlar binlerce dolarlık sistemi bedavaya veriyor biz de hiç yatırım yapmadan 10 lira ver 50 lira ver 100 lira ver diyerek iki koddn nemalanmaya çalışıyoruz. Bu çok ayıp ve basit.

Yapsanıza dünyada bu işi yapanlar gibi. Al domainini. yap siteni adam gibi... Koy ne yaptıysan modulleri yaz fiyatları isteyen alsın. ama burada ona para buna para deme. Kirletiyorsun forumu ve oluşumu.

Arkadaşlar translate.google.com aa girin ingilizce karşılığı bulup forumda arama yapın ve yine bu siteden çevirin. Bütün sorunlarımı bu yolla çözüyorum.

En kritik problemlerin biri için bile para istemiyorlar. Bırakın bu akbaba anlayışındaki bazı türk arkadaşları.

Aslan gelmiş bufaloyu öldürmüş, akbabada başına gelmiş gelene gidene para diyor.

Yapmayın... Ayıp.

Link to comment
Share on other sites

  • 2 months later...

sayın basar67 arkadaşım...
öncelikle s.a.
diğer uyanık çakallara sormadım..
özellikle sana soruyorum ve senden rica ederim...
www.emrebey.net sitem var.
sitemdeki sorun şu..?
kullanıcı adı ve şifre ile girildiğinde ,
katagori bölümündeki alanlara sorunusuz girildiği halde
misafir olarak girildiğinde böyle bi hata veriyor.
01.you do not have access to this category
ne olabilir.çözümü nedir..?
burada açıklarsan hemen gidipdüzelteyim.
saygılarımla hocam..
SELAMETLE. iyi çalışmalar

Link to comment
Share on other sites

  • 1 month later...
  • 1 month later...

başar bey, bahsettiğiniz kod ekleme ile sipariş silme işini hallettim. ancak şöyle bir durum var. müşterinin biri ürün aldı, ürün teslim edildi, doğal olarak sadakat puanı kazandı. daha sonra ürünü iade etti ve bende admin panelden o siparişi sildim. siparişi sildiğim zaman müşterinin kazandığı sadakat puanı silinmiyor, hesabında duruyor. db den siline biliyor ama elle hangi siparişten kzanılan puan oldugunu takip etmek zor. bu bir bug olsa gerek. yardımcı olurmusunuz.

Link to comment
Share on other sites

GÜNCELLEME

Arkadaşlar ben bu silme çözümünü neredeyse 10 yıl önce İngilizce bölümünde de paylaşmıştım. https://www.prestashop.com/forums/topic/7828-solved-deleting-test-orders/

Malesef artık Başar ustamız forumlara uğramıyor. Ben de çok ilgilenemiyorum.

Aradan yıllar geçince adminorders.php diye bir dosya kalmadı. 

Prestashop 1.7 için yeniden yazıyorum:

Dosyamız \controllers\admin/AdminOrdersController.php dosyası. Dosyayı açın. Aşağıdaki en son satıra bakın

/**
 * @property Order $object
 */
class AdminOrdersControllerCore extends AdminController
{
    public $toolbar_title;

    protected $statuses_array = array();

    public function __construct()
    {
        $this->bootstrap = true;
        $this->table = 'order';
        $this->className = 'Order';
        $this->lang = false;
        $this->addRowAction('view');
        $this->explicitSelect = true;
        $this->allow_export = true;
        $this->deleted = false;

 

        $this->deleted = false;
 değerini 

        $this->deleted = true;

yapın.

 

Hepsi bu kadar. 

 

Bunun dışında benim yıllar önce aşağıda yazdığım veri tabanından silme yöntemimi KULLANMAYIN ! O eski versiyonlar içindi

 

 

Edited by MahmutGulerce (see edit history)
  • Like 1
Link to comment
Share on other sites

Merhaba;
Site ana dizini /Admin klasörü/Tabs/AdminOrders.php
dosyasında

        $this->colorOnBackground = true;


kodundan hemen sonra (26 satır civarı)

        $this->delete = true; 


Satırını ekleyin siparişleriniz silinebilir olacaktır. İşiniz bittikten sonra
eklediğiniz satırın başına // işareti ekleyin etkisizleşecektir

//$this->delete = true;  şekline getirin



kolay gelsin

Link to comment
Share on other sites

  • 4 weeks later...

önce siparişie girip, ürünlerin iptali demek gerekiyor. yoksa order_detail tablosunda veriler kalıyor.
sonra çıkıp silmek gerekiyor.
Gerçi kargoda da bişeyler silmek gerek gibi ama şimdilik idare eder.
Teşekkürler.

Link to comment
Share on other sites

Merhaba;
Sipariş iptali ile ilgili bazı eksik fonksiyonlar var bununla ilgili bug olarak da mail olarak ta prestashop'a defalarca bildirildi. Mesela sipariş iptalinde stok iadesi de yapımıyor. Siparişi silince istatistiki bazı bilgiler silinmiyor v.s.
Daha önce veri tabanı üzerinden truncate komutu ile bu işlemin nasıl yapılacağını ingilizce bölümünde yazmıştım, fakat o da regal bir yol değil.
Kendi müşterilerimize kurduğumuz paketlerde bir takım eklemeler yapıp bunu biraz hafiflettik ama halen çok eksik var. Malesef yeni versiyonlarda bu durumla ilgilikayda değer bir gelişme yok.
Yani şimdilik böyle idare edeceksiniz. Eğer boş vaktim olursa iptal ile ilgili bi modül yazıp buradan yayınlarım.

Link to comment
Share on other sites

  • 4 months later...
Merhaba,
SizinAdminKlasörü/tabs/AdminOrders.php dosyasını açınız.

Aşağıdaki kodları bulunuz:
$this->table = 'order';
      $this->className = 'Order';
      $this->view = 'noActionColumn';
      $this->colorOnBackground = true;



hemen altına altdaki kodu ekleyiniz:

$this->delete = true;



Şimdi >>>Yönetim Paneli >>>Siparişler sayfasından siparişleri silebilirsiniz.

Kolay gelsin...



TSKLER yardımın icin.( 22.satırda aramak istemeyen arkadaslar)
Link to comment
Share on other sites

Kenan Bey, Yukarıda Mahmut'un dediği gibi siparişleri silmek ilerleyen donemlerde size sorun cikarabilir. Cunku siparis silinice , o siparisle birlikte silinmesi gereken diger datalar silinmiyor. Ciddi database sorunlari ile karsilasabilirsiniz.. Bilginiz olsun...

Iyi calismalar

Link to comment
Share on other sites

  • 1 year later...

basar67 ve mahmutgulerce gibi karşılıksız ve kaliteli hizmet veren insanları öpüp başınıza koyun.. yukarıda da yazıldığı gibi forumun yabancı kısmından araklayıp burada cüzi fiyata satabilirim diyenlerin aslında direk üyeliklerini iptal etmelisiniz. :angry:

  • Like 1
Link to comment
Share on other sites

evet siparşilerimin hepsini sildim , ama müşteri mesajlarımdan bi kaçına tıkladığımda Nesne bulunamadı , öznitelik silinemiyor gibi hatalar yazıyor.. filtrele yada sıfırla dediğimde ise liste alım parametreleri geçersiz diyor.Hatta müşteri mesajlarımın hiç birine bakamıyorum.

 

 

Galiba ugur beyin bahsetitği ciddi hatalar bunlar, oda bana denk geldi.

Link to comment
Share on other sites

  • 1 month later...

 

Galiba ugur beyin bahsetitği ciddi hatalar bunlar, oda bana denk geldi.

Onlardan önce ben bahsetmiştim :P

Prestashop tablo yapısına bakarak sorunu çözebilirsin hocam. Siparişle ilişkili tablolar order_ ile başlar. Örn ps_order_detail

Bu tabloların hepsini truncate (boşalt) ile temizleyebilirsiniz.

Ben bi kıyak yapıp SQL sorgusu yazıyorum aşağıda

TRUNCATE `ps_order_detail`;
TRUNCATE `ps_order_discount`;
TRUNCATE `ps_order_history`;
TRUNCATE `ps_order_message`;
TRUNCATE `ps_order_message_lang`;
TRUNCATE `ps_order_return`;
TRUNCATE `ps_order_return_detail`;
TRUNCATE `ps_order_return_state`;
TRUNCATE `ps_order_return_state_lang`;
TRUNCATE `ps_order_slip`;
TRUNCATE `ps_order_slip_detail`;
TRUNCATE `ps_order_state`;
TRUNCATE `ps_order_state_lang';

UYARI !

Bu sorguyu çalıştırdığınızda eski yeni bütün sipariş kayıtları, mesajları, sepetleri v.s. silinir.

Link to comment
Share on other sites

  • 2 weeks later...

buda akbaba olayına döndü pardon sen bahsetmiştin evet:) ben o tabloların hepsini truncate yapamadım silmek istemediğim aktif siparişler var arada çünkü. karışır gider içinden çıkamam galiba.

Ayen haklısın. Onu çalıştırdığın zaman tablolar tertemiz olur. Oraya uyarı yazayım

Link to comment
Share on other sites

  • 1 year later...

1.5.3 kullanan varsa sipariş silmek için pratik bir yol var. Önceki versiyonlarda da çalışabilir denemek lazım.

 

Admin panele girin, sipariş listenizi açın. Listede sağ tarafta bulunan sipariş izle butonunu tıklayın.

 

Tarayıcının adres satırında

http://www.sizindomain.com/adminklasoru/index.php?controller=AdminOrders&id_order=4&vieworder&token=01ee05580108bf30bcd04285c5071530

 

vieworder yerine deleteorder yazın.

 

 

http://www.sizindomain.com/adminklasoru/index.php?controller=AdminOrders&id_order=4&deleteorder&token=01ee05580108bf30bcd04285c5071530

 

bu şekilde siparişler başarıyla siliniyor.

Link to comment
Share on other sites

  • 2 months later...
  • 5 months later...
  • 8 months later...

Eklentiyi Türkçeye çevirdim.

 

Bu dosyayı modül olarak kurabilirsiniz.

 

Teşekkür ederiz.

Çeviri dosyasını çevirseydin direk dosyayı editlemekten daha iyi olurdu. 

 

Örn: Modülün yazarı modülün içindeki SQL kodlarını kullanmadan önce önce bana haber vermişti. 

http://www.prestashop.com/forums/topic/7828-solved-deleting-test-orders/?p=199110 2009 yılında yazmıştım. 

Link to comment
Share on other sites

Merhabalar

Beyler yalnız bir konuda dikkatli olun siparişleri zor durumda kalmadıkça silmeyin. Bu işlemin geri dönüşü mümkün değil.  

Bu konuda Mahmut bey katılıyorum sildikten sonra geri dönüş yok. Ben sadece yaptığım deneme alışverişlerini siliyorum :)

Link to comment
Share on other sites

İsterseniz dil dosyasınıda editlerdim.

 

Ama dil dosyasında ingilizce dil dosyasının içeriği boş idi, diğer ülkelerin dil dosyaları vardı, onlardan çeviri düzgün olmaz diye ana dosyadan düzenledim.

 

Bunu kullanacak olan türk kullanıcıları olacağını düşündüğüm için sorun olmayacağını varsayarak bunu yaptım.

 

Eğer bir sakıncası varsa silebilirim.

Link to comment
Share on other sites

İsterseniz dil dosyasınıda editlerdim.

 

Ama dil dosyasında ingilizce dil dosyasının içeriği boş idi, diğer ülkelerin dil dosyaları vardı, onlardan çeviri düzgün olmaz diye ana dosyadan düzenledim.

 

Bunu kullanacak olan türk kullanıcıları olacağını düşündüğüm için sorun olmayacağını varsayarak bunu yaptım.

 

Eğer bir sakıncası varsa silebilirim.

 

Rica ederim herhangi bir sakıncası yok sadece fikir vermek için söyledim. 

Haklısınız yapan arkadaş Protekizli falandı hatırladığım kadarıyla. İngilizce forumda olması gerekiyor. 

Herhangi bir sakıncası olmaz. Modül bizim sayılır. Kodları ben ve Başar abi yazmıştık :)

Link to comment
Share on other sites

Kodları biraz inceledim ve PresteShop 1.6.X.X sürümleri için düzenleme yapmak gerekmektedir. Bazı silinmemesi gereken veritabanı dosyalarınıda sildiğini fark ettim. Aşağıdaki kodları 1.6.x.x için tekrar düzenlememiz gerkmektedir. Ben aşağıdaki şekilde düzenledim, hata varsa uyarırsanız sevinirim.

 

 

        Db::getInstance()->Execute("TRUNCATE `" . _DB_PREFIX_ . "orders`");
        
        if(_PS_VERSION_ < "1.3.0.0"){            
        Db::getInstance()->Execute("TRUNCATE `" . _DB_PREFIX_ . "order_customization_return`");                    
        }
        
        if(_PS_VERSION_ > "1.4.0.0"){
        Db::getInstance()->Execute("TRUNCATE `" . _DB_PREFIX_ . "message_readed`");
        }
        
        if(_PS_VERSION_ < "1.5.0.0"){
        Db::getInstance()->Execute("TRUNCATE `" . _DB_PREFIX_ . "order_discount`");
        }
        
        Db::getInstance()->Execute("TRUNCATE `" . _DB_PREFIX_ . "order_detail`");        
        Db::getInstance()->Execute("TRUNCATE `" . _DB_PREFIX_ . "order_history`");
        Db::getInstance()->Execute("TRUNCATE `" . _DB_PREFIX_ . "order_message`");
//      Db::getInstance()->Execute("TRUNCATE `" . _DB_PREFIX_ . "order_message_lang`");
        Db::getInstance()->Execute("TRUNCATE `" . _DB_PREFIX_ . "order_return`");
        Db::getInstance()->Execute("TRUNCATE `" . _DB_PREFIX_ . "order_return_detail`");
//      Db::getInstance()->Execute("TRUNCATE `" . _DB_PREFIX_ . "order_return_state`");
//      Db::getInstance()->Execute("TRUNCATE `" . _DB_PREFIX_ . "order_return_state_lang`");
        Db::getInstance()->Execute("TRUNCATE `" . _DB_PREFIX_ . "order_slip`");
        Db::getInstance()->Execute("TRUNCATE `" . _DB_PREFIX_ . "order_slip_detail`");
        Db::getInstance()->Execute("TRUNCATE `" . _DB_PREFIX_ . "message`");
        Db::getInstance()->Execute("TRUNCATE `" . _DB_PREFIX_ . "cart`");
        Db::getInstance()->Execute("TRUNCATE `" . _DB_PREFIX_ . "cart_product`");        
        Db::getInstance()->Execute("TRUNCATE `" . _DB_PREFIX_ . "order_carrier`");
        Db::getInstance()->Execute("TRUNCATE `" . _DB_PREFIX_ . "order_cart_rule`");
        Db::getInstance()->Execute("TRUNCATE `" . _DB_PREFIX_ . "order_detail_tax`");
        Db::getInstance()->Execute("TRUNCATE `" . _DB_PREFIX_ . "order_invoice`");
        Db::getInstance()->Execute("TRUNCATE `" . _DB_PREFIX_ . "order_invoice_payment`");        
        Db::getInstance()->Execute("TRUNCATE `" . _DB_PREFIX_ . "ps_order_invoice_tax`");        
        Db::getInstance()->Execute("TRUNCATE `" . _DB_PREFIX_ . "ps_order_payment`");

Edited by dmsmarket (see edit history)
Link to comment
Share on other sites

//      Db::getInstance()->Execute("TRUNCATE `" . _DB_PREFIX_ . "order_message_lang`");
//      Db::getInstance()->Execute("TRUNCATE `" . _DB_PREFIX_ . "order_return_state`");
//      Db::getInstance()->Execute("TRUNCATE `" . _DB_PREFIX_ . "order_return_state_lang`");

 

Yukarıda bulunan bu 3 veritabanı dosyası 1.6.x.x sürümlerinde silinmemesi gerekli bölümlerdir.

Siparişler ile alakası olmayan bölümlerdir.

Edited by dmsmarket (see edit history)
Link to comment
Share on other sites

Beyler elinize sağlık ama bence bu iş gittikçe tehlikeli hale gelmeye başladı :)

Tekrar uyarı yapmak istiyorum

Şunu lütfen unutmayın

Eski versiyonlarda sipariş silinmiyordu. (Object model üyesi Order nesnesinde delete fonksiyonu kapalıydı.)

 

Artık zaten silinebiliyor. Bu kodlarla ile silmek zorunda değilsiniz. 

 

URL yapısını id_order=123&deleteorder&... yazınca istediğiniz siparişi silebilirsiniz. 

  • Like 1
Link to comment
Share on other sites

Prestashop 'un yıllardır sipariş silmesini aktif etmemesinin sebebi. bunun avrupa yasalarına göre yasak olmasından kaynaklanıyor.

http://doc.prestashop.com/display/PS16/Orders

burda gayet açıklayıcı bir bilgi bulunmakta.

ancak prestashop'u ilk kurduğunuzda default olarak gelen test siparişlerini ve üyeleri silmenizide mümkün kılıyor.

modullerden/ prestashop cleaner modulünü kurun . ancak bu modülü çok dikkatli kullanmanız gerekiyor. bu modulde 2 ana başlık var ürünler ve üye - siparişler. ürünleri seçtiğiniz zaman sitede ekli olan bütün ürünler bütün detayları ile silinecek.

siparişler ve üyeleri seçtiğiniz zaman sitede kayıtlı olan bütün üye ve siparişlerler silinecek.

ancak hali hazırda çalışan bir site için bu modülü kesinlikle kullanmayın  sitenizdeki bütün data yı kaybedebilirsiniz. ilk defa prestashop kurduğunuz zaman hali hazırda ekli datayı ve yapılan ilk test siparişlerini silmek için kullanın.

Edited by safa (see edit history)
  • Like 1
Link to comment
Share on other sites

  • 1 year later...
  • 9 months later...
  • 1 year later...
On 08.07.2009 at 5:24 PM, basar67 said:

Merhaba,
SizinAdminKlasörü/tabs/AdminOrders.php dosyasını açınız.

Aşağıdaki kodları bulunuz:


$this->table = 'order';
      $this->className = 'Order';
      $this->view = 'noActionColumn';
      $this->colorOnBackground = true;
 



hemen altına altdaki kodu ekleyiniz:


$this->delete = true;
 



Şimdi >>>Yönetim Paneli >>>Siparişler sayfasından siparişleri silebilirsiniz.

Kolay gelsin...

 

Bu dediğiniz alana nasıl ulaşacağım nerede açıp değiştireceğim acaba yardımcı olursanız çok sevinirim. 

Link to comment
Share on other sites

  • 1 month later...
On 29.04.2010 at 12:38 AM, MahmutGulerce said:

Merhaba;
Site ana dizini /Admin klasörü/Tabs/AdminOrders.php
dosyasında


        $this->colorOnBackground = true;
 


kodundan hemen sonra (26 satır civarı)


        $this->delete = true; 
 


Satırını ekleyin siparişleriniz silinebilir olacaktır. İşiniz bittikten sonra
eklediğiniz satırın başına // işareti ekleyin etkisizleşecektir


//$this->delete = true;  şekline getirin
 



kolay gelsin

Bende adminorders.php diye bir dosya yok?

Link to comment
Share on other sites

  • 5 months later...

Prestashop 1.7 için yeniden yazıyorum:

Dosyamız \controllers\admin/AdminOrdersController.php dosyası. Dosyayı açın. Aşağıdaki en son satıra bakın

/**
 * @property Order $object
 */
class AdminOrdersControllerCore extends AdminController
{
    public $toolbar_title;

    protected $statuses_array = array();

    public function __construct()
    {
        $this->bootstrap = true;
        $this->table = 'order';
        $this->className = 'Order';
        $this->lang = false;
        $this->addRowAction('view');
        $this->explicitSelect = true;
        $this->allow_export = true;
        $this->deleted = false;

 

        $this->deleted = false;
 değerini 

        $this->deleted = true;

yapın.

 

Hepsi bu kadar. 

 


 

Edited by MahmutGulerce (see edit history)
Link to comment
Share on other sites

  • 9 months later...
On 8/14/2018 at 7:44 PM, MahmutGulerce said:

Prestashop 1.7 için yeniden yazıyorum:

Dosyamız \controllers\admin/AdminOrdersController.php dosyası. Dosyayı açın. Aşağıdaki en son satıra bakın


/**
 * @property Order $object
 */
class AdminOrdersControllerCore extends AdminController
{
    public $toolbar_title;

    protected $statuses_array = array();

    public function __construct()
    {
        $this->bootstrap = true;
        $this->table = 'order';
        $this->className = 'Order';
        $this->lang = false;
        $this->addRowAction('view');
        $this->explicitSelect = true;
        $this->allow_export = true;
        $this->deleted = false;

 

        $this->deleted = false;
 değerini 

        $this->deleted = true;

yapın.

 

Hepsi bu kadar. 

 


 

1.7.5.1 versiyon kullanıyorum kodu tarif ettiğiniz gibi değiştirdim fakat silemedim. Siparişler kısmında hata veriyor. nasıl deneme alışverişlerini silebilirim acaba. 

Teşekkür ederim 

Link to comment
Share on other sites

  • 2 months later...

Kodu kurcalamanaza gerek yok ve tavsiyede etmem, Bu Modulü Kullanin, Ücretsizdir

Prestashop 1.6 ve Prestashop 1.7 icin var

Prestashop Delete Orders Free

Menüde ısmarlama Bölümünde
Backoffice/Orders/Delete order free

silmek istediğin Ürünün ID Numarasıni yazıp silebilirsin.

Edited by SliderFlash (see edit history)
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...