Laravel Türkiye Discord Kanalı Forumda kod paylaşılırken dikkat edilmesi gerekenler!Birlikte proje geliştirmek ister misiniz?

aghabalaguluzade Ben bir controller içerisinde hesaplama yapan metodlar yazdım. Veritabanında ise coupon ve coupon_history tabloları oluşturdum. Bu tabloların içeriğinede opencart 3x sürümünden bakarak yaptım. Ajax ile inputa discount kodu girildiği zaman gelen cevaba göre işlem yaparak subtotal - discount = total metodunu güncelleyecek şeklinde bir kullanım yaptım. Kupon indirimi değilde normal indirimi soruyorsanız zaten onda hiç bişey yapmadım neredeyse. price, sale_price adında 2 tane kolon ekledim ve hesaplama yapan total metodumda yine sale_price varsa onu, yoksa price'yi stripe'a gönderdim. Umarım anlatabilmişimdir

    beyondelayer hayır kupon mantığını değil normal indirimi merak ediyorum. Kupon mantığı için internette baya kaynak var aslında forumda bile

    Mustafa hocam böyle fikir vermiş. Fakat normal indirim için sağlam kaynak bulamadım var aslında hatta youtube da baya e-commerce site yapımı videosu var da hepsi de hindistanlı şimdi hindistanlıya güven olur mu? olmaz bence.
    Dediğiniz yöntemi biliyorum fakat bazı sistemlerde mesela kitap satılan sitelerde eski kitaplara bile toplu indirim gelebiliyor. Adam tek tek mi ekliyor? yoksa kategori şeklinde mi?

      aghabalaguluzade Evet bende tam olarak mustafa abinin dediği gibi yapmışım coupon ve coupon_history olarak, normal indirimden kastınız şimdi normal ürün bazlı düşünürsek iki tane kolon ekleriz misalen price ve sale_price yukarıda söylediğim gibi varsayalım.

      Aslında çok basit admin panele bir eklenti gibi alan yazarsınız toplu indirim için ve seçilen ürünleri bi arrayde tutup direkt fiyatlarına toplu indirim yapacaksanız price kolonunu güncelletir sale_price null bırakırsınız, eğer fiyatı değiştirmeyip indirim olarak ekleyecekseniz ise sale_price sütununu güncellettirirsiniz.

      Kategori bazlı eklemek içinde örnek olarak yukardaki örnekle birlikte rowu ikiye böler sola yukarda anlattığımı koyarsınız sağada multiselect alanı yaparsınız bu sefer eğer category alanı doldurulmuşsa category içerisindeki her ürüne ulaşır teker teker sütunlarını güncellettirirsiniz. Tabi yine bu benim varsayımım. Daha profesyonel kişiler yorum yaparsa daha sağlıklı olabilir.

        aghabalaguluzade Birden fazla yolu var. Ne kadar kompleks bir şey yapmak istediğinize bağlı. İstediğiniz esnekliğe göre, bu kampanya ve indirim kurguları e-ticaretin en zor bölümlerinden bir tanesidir. Öyle ki, tüm e-ticaret sistemini kampanya/indirim, envanter ve sipariş olarak üçe bölebilirsiniz. O yüzden genelde basit tutulmaya çalışılır. En önemli nokta kampanya ve indirimlerin çakışmasını engellemek ve sepette doğru yönetilmesi sağlamak.

        Ben genelde e-ticaret konusunda Sylius'un incelenmesini öneriyorum:
        https://sylius.com/

        Burada da indirim olayını nasıl çözdüklerini anlatmışlar:
        https://sylius.com/blog/apply-black-friday-discounts-with-sylius-promotion-engine/

        Admin demosunda Marketing altındaki promotions bölümlerine bakabilirsiniz:
        https://demo.sylius.com/admin/login

          mgsmus teşekkür ederim hocam bu tavsiyenizi görmüştüm

          > Sizinle daha önce de konuşmuştuk.SKU (Stock Keeping Unit) olayı var. Ürünün seçeneklerine göre kombinasyonun bulunup, her bir sonucun ayrı bir ürün olarak işlem görmesi. Örneğin 3 renk olsun, kırmızı/beyaz/siyah ve 3 tane de boy olsun M/L/XL diye. Bu durumda 9 çeşit ürün sunabilirsiniz. M Kırmızı, M Beyaz, M Siyah, L Kırmızı, L Beyaz... diye gidiyor. Bunlar ürün varyantları olmuş oluyor. Bu şekilde yaptığınızda her varyantın ayrı stok ve fiyat bilgisini veritabanında tutabiliyorsunuz. Böylece L Kırmızı 10 tane var, L Beyaz tükendi, XL Siyah 2 tane kaldı %10 indirimli... gibi işlemleri yapabiliyorsunuz. Bu konuyu araştırın.

          Modern bir e-ticaret yazılımı nasıl olur diyorsanız (Symfony 4):
          https://github.com/Sylius/Sylius

          Demosu için:
          https://sylius.com/demo/

          Sylius'un demosuna bakarak da envanterin, özelliklerin vs nasıl ele alındığını görebilirsiniz.

          hatta githubdan kodlarına bakmak istemiştim fakat bir şey anlamamıştım garip gürüp şeyler vardı. Migrationsda SQL kodu yazılmıştı garipti. Attığınız makale admin paneli açıklıyor fakat hocam site tarafında
          https://prnt.sc/dqmjoUyTPxeB
          https://prnt.sc/9UkGVmbHz1Nq
          böyle ve original price kendi fiyatı, price ise indirimli fiyatı. Ama arkada baya bir şey anlamadım.
          Promotion tarafında
          https://prnt.sc/BqS5gJRHY382
          https://prnt.sc/8x_1muPOVsI4
          böyle bir şeyler var. Kod tarafını görebilsem çok güzel olurdu aslında.
          Ayrıca her tarafta Code diye bir input alanı var onu anlamadım o ne. Tabloları bir birine bağlamak için mi.