v2.5.2
Giriş yap

PHP Ürün Varyant Sistemi

spleidanger
1,145 defa görüntülendi

Herkese iyi çalışmalar
PHP ile ürün varyant sistemi yapmaya çalışıyorum fakat kendi yöntemlerim pek istediğim gibi olmadı
Acaba varyant mantığı konusunda fikir verebilir misiniz?
Örnek bir ürünümüz kılıf olsun
Marka: Samsung (Markayı marka tablomdan id ile eşleştirebilirim)
Model: S10 Plus
Renk: Kırmızı
Stok: 10
Fiyat: 20TL

ama aynı zamanda çoğu ürününde varyantı yok yani nasıl pratik bu işlemleri halledebilirim

Örnek şöyle birşey yaptım:
https://i.hizliresim.com/msp30qc.jpg
yaptığım sistemde inputun içine modelleri yazdım ve virgül ile ayırıp dizi ile ayrıştırdım

suko79
964 gün önce

Gelişmiş drag drop multidimensional varyant sistemi, Laravel, Codeigniter veya .Net gibi sistemlere entegre edilebilir. Veriler JSON formatında tüm veritabanları ile uyumludur.
DRUPAL ile hazırlanan gelişmiş özelliklere sahip bidolubaski.com referans alınmıştır.

https://www.hizliresim.com/f21fz4x

Kod örneğine bakabilirsin.

<?php
$return_arr = array();

    $return = [];
    $varyant_listesi = json_decode($urun->varyant, true);
    $return['varyant_listesi'] = $varyant_listesi;
    // Varyant fiyat hesaplama
    foreach ($varyant_adi as $key => $varyant_adi){
        foreach ($varyant_listesi[$key]['alt_ozellik'] as $key => $varyant_detay){
            if ($varyant_detay['adi'] == $varyant_adi ){
                $urun_fiyati = $urun->fiyat;
                if ($varyant_detay['islem']=='%'){
                    $detay += ($urun_fiyati / 100 ) * $varyant_detay['fiyat'];
                }
                if ($varyant_detay['islem']=='+'){
                    $detay = $detay + $varyant_detay['fiyat'];
                }
            }
        }
    }

    $toplam_varyant_fiyati = $detay + $urun_fiyati;
    // Adet fiyat hesaplama
    $adet_listesi = json_decode($urun->varyant_fiyat, true);

    foreach ($adet_listesi as $key => $adet){
        $urun_fiyati = $toplam_varyant_fiyati;
        if ($adet['islem']=='%'){
            $return['fiyat_listesi'][$adet['adet']] = number_format(($urun_fiyati / 100 ) * $adet['fiyat'] + $toplam_varyant_fiyati, 2);
        }
        if ($adet['islem']=='+'){
            $return['fiyat_listesi'][$adet['adet']] = number_format($detay + $adet['fiyat'] + $toplam_varyant_fiyati, 2);
        }
    }

    $return['secilen_adet'] = $this->input->post('adet');
    echo json_encode($return);
    ?>