• 19-06-2024, 00:39:35
    #1
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Merhabalar,

    Admin paneli eklemeden önce çoklu dil için lang klasörü oluşturup en.php ve tr.php dosyaları oluşturup içerisinde çevirileri yaparak ilgili yerlere tek tek eklemiştim fakat siteye admin paneli ekledim. Admin panelini oluştururken de çoklu dil sistemini unutup sadece TR için oluşturmuştum dolayısıyla sadece TR var. Panel üzerinden eklenen tüm içerikleri sitede yer alan dil seçeneğine göre gösterilmesini nasıl yapabilirim? Veritabanı da tr için oluşturmuştum.
  • 19-06-2024, 00:40:34
    #2
    Hizmet ekleme sayfasına şu şekilde bir ayrım yaptım ama veri tabanını nasıl hallederim?
  • 19-06-2024, 00:43:51
    #3
    Yolutubede bir video da nasıl yapıldığını anlatmıyor sadece böyle bir kısım gördüm. Eğer bunu yapmak daha basit ise böyle bir şey de olabilir. Hangisi daha basit yapılabilirse onu uygulayayım.

  • 19-06-2024, 00:45:15
    #4
    hocam şimdi o uzun mesele ama size kısa şekilde anlatmaya çalışacağım. panele diller diye alan ekleyin. örneğin tr en eklediniz en olanın idsini sessiona alın.
    sonra örneğin hizmet ekle sayfası açtınız. hizmet eklerken tabloya dil alanı açın ve dil alanına sessiona aldığınız dilin idsini kaydettirin.

    listelerken de aynı şekil session ile dil idsini alıp listeletin.
    her alanda bu taktiği kullanın. arayüzde ise yine diller olsun ve tıklandıkca idsini sessiona atsın. ve içeriklerde de php sorgularına where dil ile sessiına aldığınız dil idsi ile eşitleyin.
  • 19-06-2024, 00:48:08
    #5
    fatbotter.com
    https://www.youtube.com/watch?v=KIUBiZUK6yM
  • 19-06-2024, 00:49:35
    #6
    website adlı üyeden alıntı: mesajı görüntüle
    hocam şimdi o uzun mesele ama size kısa şekilde anlatmaya çalışacağım. panele diller diye alan ekleyin. örneğin tr en eklediniz en olanın idsini sessiona alın.
    sonra örneğin hizmet ekle sayfası açtınız. hizmet eklerken tabloya dil alanı açın ve dil alanına sessiona aldığınız dilin idsini kaydettirin.

    listelerken de aynı şekil session ile dil idsini alıp listeletin.
    her alanda bu taktiği kullanın. arayüzde ise yine diller olsun ve tıklandıkca idsini sessiona atsın. ve içeriklerde de php sorgularına where dil ile sessiına aldığınız dil idsi ile eşitleyin.
    Hocam söylediğin durumla ilgili bir video tarzı bir şey var mı? Yani tam olarak anlayamadım
  • 19-06-2024, 00:50:30
    #7
    Aytacgogu adlı üyeden alıntı: mesajı görüntüle
    Hocam söylediğin durumla ilgili bir video tarzı bir şey var mı? Yani tam olarak anlayamadım
    hocam bu sistem benim kendimce yaptığım bir sistem. admin panellerimde hep böyle var. videosu yok maalesef
  • 19-06-2024, 00:52:23
    #8
    Aslında en iyisi Google Translate API'nin ücretli versiyonunu kullanmak. Eğer hız problemi yaşatmazsa mis gibi. İllaha Google olmak zorunda değil yandex de olabilir.
  • 19-06-2024, 01:18:03
    #9
    Şöyle bir şey yaptım. Öncelikle hizmetler tablosu içerisine tr'nin yanında bir de en olarak kısım açtım.

    if ( isset( $_POST[ 'hizmetekle' ] ) )
    {
    
    
        $uploads_dir = '../assets/img/hizmetler';
        @$tmp_name = $_FILES[ 'hizmet_resim' ][ "tmp_name" ];
        $benzersizsayi1 = rand( 20000, 32000 );
        $benzersizsayi2 = rand( 20000, 32000 );
        $uzanti = '.jpg';
        $benzersizad    = $benzersizsayi1 . $benzersizsayi2;
        $refimgyol      = substr( $uploads_dir, 3 ) . "/" . $benzersizad . $uzanti;
        @move_uploaded_file( $tmp_name, "$uploads_dir/$benzersizad$uzanti" );
    
        $kaydet = $db->prepare(
            "INSERT INTO hizmetler SET
            hizmet_baslik=:baslik,
            hizmet_baslik_en=:baslik_en,
            hizmet_icerik=:icerik,
            hizmet_title=:title,
            hizmet_descr=:descr,
            hizmet_keyword=:keyword,
            hizmet_vitrin=:vitrin,
            hizmet_resim=:resim");
        $insert = $kaydet->execute(
            array(
                'baslik'     => $_POST[ 'hizmet_baslik' ],
                'baslik_en'     => $_POST[ 'hizmet_baslik_en' ],
                'icerik'     => $_POST[ 'hizmet_icerik' ],
                'title'     => $_POST[ 'hizmet_title' ],
                'descr'     => $_POST[ 'hizmet_descr' ],
                'keyword'     => $_POST[ 'hizmet_keyword' ],
                'vitrin'     => $_POST[ 'hizmet_vitrin' ],
                'resim'     => $refimgyol
            ));
    
        if ( $insert )
        {
    
            Header( "Location:../hizmetler.php?status=ok" );
        }
        else
        {
    
            Header( "Location:../hizmetler.php?status=no" );
        }
    }
    Yukarıdaki kodu tamamlayıp panel kısmında ise hizmet ekle kısmını ise aşağıdaki gibi yaptım.



    Yukarıda tr ve en'ler için ayırım yaptım. Girdiğim şeyler tabloya da işlendi. (Aşağıdaki gibi)

    hizmet_baslik olan TR için, hizmet_baslik_en olan ise en için.


    Şimdi buradan sonrası patladığım nokta ))

    Aşağıda hizmet_baslik'i doğrudan çağırıyorum ve dolayısıyla TR olarak geliyor. İşte tam da burada patlıyorum.

    <div class="hb-servicesarea hb-haslayout">
                        <?php 
                        $hizmetarticle=$db->prepare("SELECT * from hizmetler order by hizmet_id DESC");
                        $hizmetarticle->execute(array(0));
                        while ($hizmetarticleprint=$hizmetarticle->fetch(PDO::FETCH_ASSOC)) { ?>
                            <div class="col-xs-12 col-sm-6 col-md-4 mb-50">
                                <div class="hb-servicebox" style="border: 1px solid #f1f1f1;border-radius: 20px; padding: 25px;">
                                    <figure class="hb-serviceimg">
                                        <img style="height: 100px;width: 100px;" src="trex/<?php echo $hizmetarticleprint['hizmet_resim']; ?>" alt="<?php echo $hizmetarticleprint['hizmet_baslik'] ?>">
                                    </figure>
                                    <div class="hb-servicecontent">
                                        <h3 class="hb-headingtree" style="height: 30px;"><b><?php echo $hizmetarticleprint['hizmet_baslik'] ?></b></h3>
                                        <div class="hb-description">
                                            <p><?php echo mb_substr(strip_tags($hizmetarticleprint['hizmet_icerik']), 0, 107, "UTF-8") ?>...</p>
                                        </div>
                                        
                                    </div>
                                </div>
                            </div>
                        <?php } ?>
                    </div>
    Yukarıda ne yapmam gerekiyor ki sitenin seçilen dil durumuna göre hizmet_baslik veya hizmet_baslik_en'de yer alan içerik gelsin. Kafayı kırıcam az kaldı.