• 08-12-2024, 02:27:46
    #10
    Temel düzeyde tablo yapısını iletiyorum buna ekleme yaparak meta açıklama vs. gibi bilgileri ekleyebilirsiniz.


    JOIN kullanımı için örnek tablolar;
    Products;
    - id(int)
    - code(varchar)
    - price(decimal)
    
    ProductLocalizations;
    - id
    - product_id
    - language_id
    - slug
    - name
    - description
    JOIN kullanmadan json sorguları ile kullanılabilecek örnek tablolar;
    Products;
    - id(int)
    - code(varchar)
    - price(decimal)
    - slug(json) => {"en": "test-product", "tr": "test-urunu"}
    - name(json) => {"en": "Test Product", "tr": "test-product"}
    - description(json) => {"en": "Test product description", "tr": "Test ürün açıklaması"}
    JOIN kullanmadan json sorguları ile kullanılabilecek örnek tablolar v2 (burda tüm sorgular Products.localizations kolonu üzerinden yapılır, ProductLocalizations tablosu sadece adminde ki yönetimi kolaylaştırmak için. Ürün kaydedilince burda ki veriler toplanıp Products.localizations kolonuna json formatında basılır);
    Products;
    - id(int)
    - code(varchar)
    - price(decimal)
    - localizations(json) => {"en": {"slug": "test-product", "title": "Test Product", "description": "Test product description"}, "tr": {"slug": "test-urunu", "title": "Test Ürün", "description": "Test ürün açıklaması"}}
    
    ProductLocalizations;
    - id
    - product_id
    - language_id
    - slug
    - name
    - description
  • 08-12-2024, 03:08:35
    #11
    hocam dil diye alan aç her ürünü dile göre ayrı ayrı ekle dil den de dil idsini eşitle
  • 09-12-2024, 15:11:01
    #12
    Tüm içerikleri ayrı bir tabloda tutabilirsiniz, örnek olması açısından ;

    dil_icerik_id dil_id baslik icerik icerik_type status permalink icerik_id
    1 1 Merhaba dünya İçerik buraya gelicek 1 1 merhaba-dunya 15
    2 2 Hello world Content comes here 1 1 hello-world 15


    dil_id adından anlaşılacağı gibi başka bir tabloda tutulan dil_id
    başlık ve içerik dil içerikleri icerik_type ise örnek 1 ise ürünlere ait, 2 ise statik icerikler için oluşturdun sistem diyebilirsin, 3 blog vs.. permalink url, icerik_id ise ilgili içeriğin tablosundaki karşılığı olarak alırsın.


    Diyelim ki; kullanıcı site.com/TR/merhaba-dunya adresine giriş yapıyor üstten dili ingilizce (2) olarak değiştiriyor eğer içerik mevcut ise icerik_id den seçilmiş olan dil id (2) kontrol edilip tablodaki icerik gösterilir.
    Eğer ilgili dile ait veri yok ise karar vermen gereken unsurlar var.
    1- Eğer veri yok ise 404 e yönlendir,
    2- Veri yok ise default seçilmiş veriyi göster yani dil ingilizce ama içerik tr içerik olacak bu durumda.

    Bu sisteme göre butonları normal textleri de bu yapıda kullanabilirsin. icerik_type 99 dersin 99 icerik_type olanlar permalink almadan sadece ceviri olarak yayınlanır.
  • 11-12-2024, 15:21:12
    #13
    Merhaba. 2 seçenek var.
    1 seçenek. toplam 3 tablo. (product,product_content, language) . product tablosu: id ve price bilglileri alacak. product_content tablosu açıklama ve isim gibi bilglierli alacak ve dil tablosu ile bağalancak. urun_id. dil_id name description şekilinde. burada urun id leri aynı bilgliler başka yerden gelecek.
    2. seçenek. toplam 2 tablo (product ve langage tabloları). burada product sizin kullandığınız şekilinde olacak. tek sorıun aynı ürünün diğer dildeki idsi farklı. onun çözümü var.product tablosunda primary key id nin yanın lang_id sini ekleyeceksiniz. bu şekilde normalde id değeri tekrarlanamazdı. ama primary key olarak lang_id eklediğimiz için dillere göre id tekrarlanabilir olarak ayarlamış olacaksınız.
    Ücretli destek için ulaşabilirsiniz.