• 19-11-2025, 01:04:30
    #1
    Sistemi bilen yardımcı olur ise çok sevinirim. Kod yapısı bu şekilde, site map linklerinde hata var. örnek kategori site mapı yok ve olan diğer likler de /tr/ olarak gösteriyor /tr/ siteye girince anasayfaya atıyor öyle bir yapı kullanmıyor.
    Ücretli yardım edecekler pm atabilir.
    <?php
    include 'admin/site-ayarlari.php';
    
    if(isset($_GET['tip'])){
    
        $kontrol = 0;
        if($_GET['tip'] == 'bayi' || $_GET['tip'] == 'ozel'){
            $key = array('bayi' => 'bayi_grup', 'ozel' => 'ozel_xml');
    
            $xml_verisi = $db->query("SELECT * FROM {$key[$_GET['tip']]} WHERE link = '{$_GET['link']}' AND xml = 1 LIMIT 1")->fetch(PDO::FETCH_ASSOC);
            if($xml_verisi){
    
                $kontrol = 1;
    
                $xml_verisi_tanimlar = $db->query("SELECT * FROM {$key[$_GET['tip']]}_kategori_fiyat_tanimlari WHERE {$key[$_GET['tip']]}_id = '{$xml_verisi['id']}'", PDO::FETCH_ASSOC);
                if($xml_verisi_tanimlar->rowCount()){
    
                    header('Content-type: text/xml');
                    $xml = new SimpleXMLElement('<?xml version="1.0" encoding="UTF-8"?><!--ticifast.com - E-ticaret Yazılım Çözümleri--><urunler/>');
    
                    foreach($xml_verisi_tanimlar as $tanimlar){
                        $query = $db->query("SELECT * FROM urun WHERE durum = 1 AND kategori_id = '{$tanimlar['kategori_id']}' ", PDO::FETCH_ASSOC);
                        if($query->rowCount()){
                            foreach($query as $row){
    
                                $row['fiyat'] = fiyat_guncelle($row['fiyat'],$tanimlar['oran'],$tanimlar['tip']);
                                $row['piyasa_fiyat'] = fiyat_guncelle($row['piyasa_fiyat'],$tanimlar['oran'],$tanimlar['tip']);
                                
                                $urun = $xml->addChild('urun');
                                $urun->id = $row['id'];
                                $urun->dil = $row['dil'];
                                $urun->baslik = $row['baslik'];
                                $urun->link = $site.'urun/'.$row['link'];
                                $urun->kisa_aciklama = $row['kisa_aciklama'];
                                $urun->stok_kodu = $row['stok_kodu'];
                                $urun->stok = $row['stok'];
    
                                if(!empty($row['marka_id'])){
                                    $marka = $db->query("SELECT baslik, resim FROM marka WHERE id = '{$row['marka_id']}' AND dil = '{$row['dil']}' LIMIT 1")->fetch(PDO::FETCH_ASSOC);
                                    if($marka){
                                        $urun->marka_id = $row['marka_id'];
                                        $urun->marka_baslik = $marka['baslik'];
                                        $urun->marka_resim = $site.'upload/'.$marka['resim'];
                                    }
                                }
    
                                $urun->piyasa_fiyat = $row['piyasa_fiyat'];
                                $urun->fiyat = $row['fiyat'];
                                $urun->kargo_fiyat = $row['kargo_fiyat'];
                                $urun->kdv = $row['kdv'];
                                $urun->aciklama = $row['aciklama'];
                                $urun->kur_tipi = $kur_tipi[$row['kur_tipi']];
    
                                $resimler = $db->query("SELECT resim FROM urun_resim WHERE dil = '{$row['dil']}' AND urun_id = '{$row['id']}' ORDER BY sira ASC", PDO::FETCH_ASSOC);
                                if($resimler->rowCount()){
                                    $urun->resim_sayisi = $resimler->rowCount();
                                    $i = 1;
                                    foreach($resimler as $resim){
                                        $urun->{'urun_resim_'.$i} = $site.'upload/'.$resim['resim'];
                                        $i++;
                                    }
                                }
    
                                $i = 1;
                                $ust_kategoriler = ust_kategori_isim_bul($row['kategori_id'],'',$row['dil']);
                                foreach(explode(' > ',$ust_kategoriler) as $ust_k){
                                    if(!empty($ust_k)){
                                        $urun->{'urun_kategori_'.$i} = $ust_k;
                                        $i++;
                                    }
                                }
                                
                                
    
                                $varyant = $db->query("SELECT id, baslik FROM urun_varyant WHERE dil = '{$row['dil']}' AND urun_id = '{$row['id']}' ORDER BY id ASC", PDO::FETCH_ASSOC);
                                if($varyant->rowCount()){
                                    $urun->varyant->{'ana_varyant_sayisi'} = $varyant->rowCount();
                                    $i = 1;
                                    foreach($varyant as $v){
                                        $urun->varyant->{'ana_varyant_'.$i.'_baslik'} = $v['baslik'];
                                        $alt_varyant = $db->query("SELECT id, baslik FROM urun_varyant_secenek WHERE dil = '{$row['dil']}' AND urun_id = '{$row['id']}' AND urun_vayant_id = '{$v['id']}' ORDER BY id ASC", PDO::FETCH_ASSOC);
                                        if($alt_varyant->rowCount()){
                                            $urun->varyant->{'ana_varyant_'.$i.'_alt_varyantlari'}->{'alt_varyant_sayisi'}  = $alt_varyant->rowCount();
                                            $ii = 1;
                                            foreach($alt_varyant as $av){
                                                $urun->varyant->{'ana_varyant_'.$i.'_alt_varyantlari'}->{'alt_varyant_'.$ii.'_baslik'} = $av['baslik'];
                                                $ii++;
                                            }
                                        }
                                        $i++;
                                    }
                                }
    
                                $varyant_key = $db->query("SELECT varyant_key, fiyat, stok FROM urun_varyant_secenek_fiyat_stok WHERE dil = '{$row['dil']}' AND urun_id = '{$row['id']}' ORDER BY id ASC", PDO::FETCH_ASSOC);
                                if($varyant_key->rowCount()){
                                    $i = 0;
                                    foreach($varyant_key as $avsf){
                                        $alt_varyant_baslik = '';
                                        foreach(explode('-', $avsf['varyant_key']) as $vk){
                                            if(!empty($vk)){
                                                $alt_varyant = $db->query("SELECT baslik FROM urun_varyant_secenek WHERE dil = '{$row['dil']}' AND urun_id = '{$row['id']}' AND id = '{$vk}' LIMIT 1")->fetch(PDO::FETCH_ASSOC);
                                                $alt_varyant_baslik .= $alt_varyant['baslik'].'-';
                                            }
                                        }
                                        $alt_varyant_baslik = rtrim($alt_varyant_baslik,'-');
                                        $urun->{'varyant_bilgi'.$i} = '';
                                        $urun->{'varyant_bilgi'.$i}->addChild('stok',$avsf['stok'])->addAttribute("key",$alt_varyant_baslik);
                                        $urun->{'varyant_bilgi'.$i}->addChild('fiyat',$avsf['fiyat'])->addAttribute("key",$alt_varyant_baslik);
                                        $i++;
                                    }
                                }
                            }
                        }
                    }
    
                    echo $xml->asXML();
                }
            }
        }else{
            $dil_kontrol = $db->query("SELECT * FROM dil WHERE kisaltma = '{$_GET['link']}' LIMIT 1")->fetch(PDO::FETCH_ASSOC);
    
            $sorgu = '';
    
            if($_GET['link'] == 'gate'){
                $dil_kontrol = 1;
                $kontrol = 1;
                $sorgu = " OR id != 0";
            }
            if($dil_kontrol){
                if($_GET['tip'] == 'sayfa' || $_GET['tip'] == 'blog' || $_GET['tip'] == 'urun' || $_GET['tip'] == 'sitemap' || $_GET['tip'] == 'gate'){
    
                    header('Content-type: text/xml');
                    $xml = new SimpleXMLElement('<?xml version="1.0" encoding="UTF-8"?><!--ticifast.com - E-ticaret Yazılım Çözümleri--><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd"/>');
    
                    if($_GET['tip'] == 'sayfa' || $_GET['tip'] == 'sitemap'){
                        $veriler = $db->query("SELECT dil, link FROM ic_sayfa WHERE dil = '{$_GET['link']}' {$sorgu}", PDO::FETCH_ASSOC);
                        if($veriler->rowCount()){
                            foreach($veriler as $veri){
                                $sitemap = $xml->addChild('url');
                                $sitemap->loc = $site.$veri['dil'].'/sayfa/'.$veri['link'];
                                $sitemap->lastmod = date('c', $tarih);
                                $sitemap->priority = 0.64;
                            }
                        }
                    }
    
                    if($_GET['tip'] == 'blog' || $_GET['tip'] == 'sitemap'){
                        $veriler = $db->query("SELECT dil, link FROM ic_sayfa WHERE dil = '{$_GET['link']}' {$sorgu}", PDO::FETCH_ASSOC);
                        if($veriler->rowCount()){
                            foreach($veriler as $veri){
                                $sitemap = $xml->addChild('url');
                                $sitemap->loc = $site.$veri['dil'].'/blog/'.$veri['link'];
                                $sitemap->lastmod = date('c', $tarih);
                                $sitemap->priority = 0.64;
                            }
                        }
                    }
    
                    if($_GET['tip'] == 'urun' || $_GET['tip'] == 'sitemap'){
                        if($_GET['link'] == 'gate'){
                            $sorgu = " OR (id != 0 AND durum = 1)";
                        }else{
                            $sorgu = " AND durum = 1";
                        }
                        $veriler = $db->query("SELECT dil, link FROM urun WHERE dil = '{$_GET['link']}' {$sorgu}", PDO::FETCH_ASSOC);
                        if($veriler->rowCount()){
                            foreach($veriler as $veri){
                                $sitemap = $xml->addChild('url');
                                $sitemap->loc = $site.$veri['dil'].'/urun/'.$veri['link'];
                                $sitemap->lastmod = date('c', $tarih);
                                $sitemap->priority = 0.64;
                            }
                        }
                    }
    
                    echo $xml->asXML();
                    $kontrol = 1;
                }else if($_GET['tip'] == 'facebook' || $_GET['tip'] == 'google'){
                    $ayar = $db->query("SELECT * FROM ayar WHERE dil = '{$_GET['link']}' LIMIT 1")->fetch(PDO::FETCH_ASSOC);
                    $kur_fiyatlari = array(1 => 1, 2 => $ayar['dolar'], 3 => $ayar['euro']);
                    if($ayar){
                        header('Content-type: text/xml');
                        $xml = new SimpleXMLElement('<?xml version="1.0" encoding="UTF-8"?><!--ticifast.com - E-ticaret Yazılım Çözümleri--><rss version="2.0" xmlns:g="http://base.google.com/ns/1.0"/>');
                        $urun = $xml->addChild('channel');
                        $urun->title = $ayar['title'];
                        $urun->link = $site;
                        $urun->description = $ayar['description'];
                        $veriler = $db->query("SELECT * FROM urun WHERE dil = '{$_GET['link']}' AND durum = 1", PDO::FETCH_ASSOC);
                        if($veriler->rowCount()){
                            foreach($veriler as $veri){
                                $urun = $xml->addChild('item');
                                $urun->{'g:id'} = $veri['id'];
                                $urun->{'title'} = $veri['baslik'];
    
                                if(!empty($veri['marka_id'])){
                                    $marka = $db->query("SELECT baslik, resim FROM marka WHERE id = '{$veri['marka_id']}' LIMIT 1")->fetch(PDO::FETCH_ASSOC);
                                    if($marka){
                                        $urun->{'g:brand'} = $marka['baslik'];
                                    }else{
                                        $urun->{'g:brand'} = $ayar['title'];
                                    }
                                }else{
                                    $urun->{'g:brand'} = $ayar['title'];
                                }
    
                                $urun->{'g:availability'} = 'in stock';
    
                                $ilk_resim = '';
                                $resimler = $db->query("SELECT id, resim FROM urun_resim WHERE urun_id = '{$veri['id']}' ORDER BY sira ASC", PDO::FETCH_ASSOC);
                                if($resimler->rowCount()){
                                    foreach($resimler as $resim){
                                        if($ilk_resim == ''){
                                            $ilk_resim = $site.'upload/'.$resim['resim'];
                                        }
                                        $urun->{'g:additional_image_link'}[1 + $resim['id']] = $site.'upload/'.$resim['resim'];
                                    }
                                }
    
                                if(!empty($ilk_resim)){
                                    $urun->{'g:image_link'} = $ilk_resim;
                                }
                                
                                $urun->{'description'} = $veri['aciklama'];
                                $urun->{'link'} = $site.'urun/'.$row['link'];
                                $urun->{'g:product_type'} = ust_kategori_isim_bul($veri['kategori_id'],'',$_GET['link']).$veri['baslik'];
                                $urun->{'g:price'} = fiyat_noktali($veri['fiyat'] * $kur_fiyatlari[1]).' TRY';
                                $urun->{'g:condition'} = 'new';
                                $urun->{'g:google_product_category'} = $veri['id'];
                            }
                        }
                        echo $xml->asXML();
                        $kontrol = 1;
                    }
                }
            }
        }
    
        if($kontrol == 0){
            die('<meta http-equiv="refresh" content="0;URL='.$site.'">');
        }
    
    }
    
    ?>
    https://pastebin.pl/view/a67b8ecb
  • 19-11-2025, 01:19:24
    #2
    230. satır $urun->{'link'} = $site.'urun/'.$veri['link']; // Hocam doğrusu bu row tanımsız kalıyor orada.
  • 19-11-2025, 01:19:27
    #3
    PM atıldı.