Giriş yapmadınız.

Duyuru

TÜRKÇE KİTAP DUYURUSU:
Laravel 5 : Laravel 5.1 Güzelliği (Türkçe)
Vue.js 2 : Vue.js 2 Majesteleri (Türkçe)

#1 Yanıt: Laravel 5.x Yardım » Ürün ve Ürün detay tablolarının oluşumu » Dün 22:57:26

Bu tablo isim açısından biraz karışık. Normalde skus tablosunun adı variants olmalıydı ama neyse, yapan kendince yapmış, nasıl kullanıldığı önemli. Biz karıştırabiliriz ama kendisi karıştırmıyordur.

Şimdi skus tablosuna bakın, id'si 1 olan kayıta. Bunun SKU kodu 4xx01. Şimdi de sku_values tablosuna bakın, skud_id değeri 1 olanlara, bu alan ile skus tablosu bağlanmış.

sku_values tablosunu skud_id alanına göre, değeri 1 olacak şekilde gruplarsanız iki tane variant_option_id elde edersiniz. Bunlardan ilki variant_id=1 ve variant_option_id =1 olan, yani size:small, diğeri ise color:red.

Yani bu ürün özellikleri beden S (small) ve renk Kırmızı (red). Bunu ayrı tabloda tutmuş ki siz ürün detay sayfasında
beden seçiminde S seçip, renk seçiminde Kırmızı seçip bu 4 değere (2 tane variant_id, 2 tane variant_option_id) bir de product_id ve özellik sayısını (2 adet, beden ve renk, variants tablosundaki product_id ye göre satır sayısı yani) eklerseniz
skud_id'ye yani skus tablosundaki kayda yani SKU kodu 4xx01 olan varyanta ulaşmış olursunuz.

Sanırım şu şekilde skud_id değerine ulaşabilirsiniz:

SELECT 
	*,
	(SELECT COUNT(*) FROM variants WHERE product_id = 1) AS variant_count
FROM sku_values 
WHERE product_id = 1 AND (
	   (variant_id = 1 AND variant_option_id = 1) 
	OR (variant_id = 2 AND variant_option_id = 3)
)
GROUP BY skud_id
HAVING COUNT(*) = variant_count

#2 Yanıt: Laravel 5.x Yardım » Laravel lisanslama işlemi » 15.02.2019 12:39:37

Anladım. Forumda daha önce yapmış arkadaşlar varsa belki yardımcı olabilirler.

#3 Yanıt: Laravel 5.x Yardım » Laravel lisanslama işlemi » 15.02.2019 08:32:12

Dosyaları karşı tarafa verdiğiniz sürece ne yaparsanız yapın, aşmak isteyen bir şekilde aşar. Bir de üstüne size bakım ve güncelleme külfeti çıkacak.

Bu yöntem artık o kadar eskidi, bu tarz çalışanlara o kadar sorun çıkardı ki artık üzerine konuşmak gereksiz, retorikten öteye gidemiyor.

Daha önce de forumda konuşuldu, genel görüşümüz SaaS. Projenizi hizmet olarak satacaksınız.

#4 Yanıt: Konu Dışı » Outlook IMAP problemi » 13.02.2019 19:24:39

1. Dışa aktarmayı seçtim
2. Dosyaya aktar
3. Outlook .pst
4. Mail adresi adı yazan kök klasörü seçtim
5. Dışa aktardım oldu

#5 Yanıt: Laravel 5.x Yardım » If sorgusuyla view içinde zaman hesaplama » 13.02.2019 11:32:31

created_at ve updated_at zaten Carbon objesi olduğu için ekstra bir işlem yapmanıza gerek yok aslında:

public function checkForNew($days = 5)
{
    return $this->created_at->diffInDays() < $days ? 'Yeni' : null;
}

@Kevin-Mitnick'in verdiği örnekte mesela GelenTeklifTarihi alanını Model'de tarih olarak belirtebilir:

protected $dates = [
    'GelenTeklifTarihi'
];

Böylece şablon içerisinde

<tr class="{{ $teklifler->GelenTeklifTarihi->diffInDays() < 1 ? 'white ': 'red' }} item-area">

şeklinde kullanabilir ya da sizin yaptığınız gibi bir yöntem oluşturabilir.

#6 Yanıt: Laravel 5.x Yardım » Bir acayip slug hatası » 12.02.2019 15:40:25

Pardon ben ikisini de aynı paket sandım. Yanlış okumuşum. Veritabanının dil kodlaması nedir? Belki onunla alakalıdır.

#7 Yanıt: Laravel 5.x Yardım » Ürün ve Ürün detay tablolarının oluşumu » 12.02.2019 13:02:25

@GkyKrkc

Siz daha önce de böyle bir şeyler söylemiştiniz ama ne yapma isteğim ne de ayıracak vaktim var. Şu foruma bile sürekli bilgisayar başında olduğum için giriyorum. Belki ileride diyelim smile

#8 Yanıt: Laravel 5.x Yardım » Ürün ve Ürün detay tablolarının oluşumu » 12.02.2019 10:31:24

Burada önemli noktalardan biri SKU kodunun oluşturulması ve kullanılması. Ürünü satın alırken ürün seçeneklerini seçtiğiniz detay sayfasında örneğin 2 tane select düşünün. İlki beden, ikincisi renk olsun. Önce bedeni seçiyorsunuz, diyelim ki L, ona göre altta renkler yükleniyor. Burada bir stok kontrolü yapılması lazım, SKU kodunu oluşturan seçenekler içerisinde L bedene sahip ürünlerden hangilerinin farklı renklerde stoğu var şeklinde. Mavi, beyaz var ama kırmızı bitmiş, o yüzden o seçilemiyor. Daha sonra maviyi seçiyorsunuz diyelim. Ürün id'si 11 (PRD00011), beden L'nin id'si 2 (L) ve Mavi rengin id'si 3 (MAVI) olsun. PRD00011-L-MAVI şeklinde bir SKU kodu oluştu. Bu durumda ürün id ve bu iki farklı seçeneğin id'sini verdiğinizde size PRD00011-L-MAVI kodunu getirecek bir tablo lazım. Bu koddan da satın alınmak istenen varyanta ulaşacaksınız. Bu oluşan SKU sizin varyantın tablosunda zaten var, varyant oluştururken oluşturdunuz, seçeneklerden bu koda her türlü ulaşabilmeniz lazım ki varyantı seçebilesiniz.

Bu benim düşündüğüm sistem. Daha kolay yolunu bilen varsa yazabilir.

#9 Yanıt: Laravel 5.x Yardım » Ürün ve Ürün detay tablolarının oluşumu » 11.02.2019 22:31:17

Category - Ürün kategorileri
Product - Ürünler
ProductOption - Ürün seçenekleri. Ör: Renk, Boyut, Beden vs
ProductOptionValue - Ürün seçenek değerleri. Örneğin beden seçeneği için XS, S, M, L, XL, XXL
ProductAttribute - Ürün özellikleri. Ör: Kumaş tipi (Genellikle fiyatı etkilemez)
ProductAttributeValue - Ürün özellikleri değerleri. Ör: Kumaş tipi için Pamuklu, Yünlü, Elyaf (Genellikle fiyatı etkilemez)
ProductVariant - Ürün varyantları. Örneğin L beden kırmızı renk pamuklu t-shirt
Pivots\ProductCategory - Hangi ürün hangi kategorilerde yer alıyor, bunu tutan pivot
Pivots\ProductOption - Hangi ürün hangi seçeneklere sahip, bunu tutan pivot
Pivots\ProductAttribute - Hangi ürün hangi özelliklere sahip, bunu tutan pivot

Bu şekilde bir yapı ile basit anlamda dinamik bir şekilde seçenek ve özellik girişi yapılabilir, varyantlar oluşturulabilir.

Filtreleme için ise, örneğin özelliklere göre, Product modelini Pivots\ProductAttribute üzerinden (JOIN) ProductAttributeValue ile birleştirip (JOIN) filtreleme yapılabilir.

Bazen ayrı bir tabloda product_id, attribute_id, attribute_value_id, option_id, option_value_id şeklinde karma bir veri de tutulur. Filtreleme gibi bazı işlemlerin kolay yapılmasını sağlar.

Teorik olarak konuşulması zor bir konu. Bir yerden başlamanız lazım ki elinizde sonuçlar oluşabilsin.

#10 Yanıt: Laravel 5.x Yardım » If sorgusuyla view içinde zaman hesaplama » 11.02.2019 22:00:08

@if($element->created_at->diffInDays() < 5)
    Yeni
@endif

#11 Yanıt: Laravel 5.x Yardım » Bir acayip slug hatası » 11.02.2019 21:58:14

bhdr yazdı:
        "cviebrock/eloquent-taggable": "^3.4",
        "cocur/slugify": "^3.1",
        "cviebrock/eloquent-sluggable": "4.6",

kulllandığım paketler bunlar..

Neden cviebrock/eloquent-taggable paketinden iki tane var?

#12 Yanıt: Laravel 5.x Yardım » Ürün ve Ürün detay tablolarının oluşumu » 11.02.2019 15:45:01

Şurada kısaca bahsetmiştim:
http://forum.laravel.gen.tr/viewtopic.php?id=2771

Genel olarak buna SKU (Stok Keeping Unit) deniyor. Uzun bir konu olduğu için kendiniz önce araştırmanız gerekiyor.

#13 Yanıt: Laravel 5.x Yardım » Tab menü save » 11.02.2019 15:35:32

Javascript ile yapsanız bile hata taşıyan sadece bir tabı aktif edebilirsiniz. İki farklı tabda hata varsa bile kullanıcı sadece önce birini görecek. O yüzden şöyle bir şey olabilir:

$tabs = [
    'tab1' => ['name','surname'], // İlk tabda yer alan alanlar
    'tab2' => ['phone','address'] // İkinci tabda yer alan alanlar
];
<li class="active"><a data-toggle="tab" href="#genel">Genel {{ array_intersect($data['tab1'], $errors->keys()) ? 'Hata':null }}</a></li>
<li><a data-toggle="tab" href="#kariyer">Kariyer  {{ array_intersect($data['tab2'], $errors->keys()) ? 'Hata':null }}</a></li>

Bu şekilde;
Eğer hata meydana gelmişse, hata veren alanlar tab1 içerisinde yer alıyorsa, tab1'in başlığına (Yani Genel) Hata yazısını ekle
Eğer hata meydana gelmişse, hata veren alanlar tab2 içerisinde yer alıyorsa, tab2'in başlığına (Yani Kariyer) Hata yazısını ekle

yapmış oluyorsunuz. Hata yazısı örnek, siz onun yerine CSS sınıfı da ekletebilirsiniz, dikkat simgesi de koyabilirsiniz vs...

Burada amaç hangi tabda hata varsa o tabda hata olduğuna dair kullanıcıya uyarı verdirmek. Böylece kullanıcı o taba tıklayıp hatasını görüp düzeltebilir.

#14 Yanıt: Laravel 5.x Yardım » İyzico entegrasyon sorunu » 10.02.2019 10:04:12

Ben ödeme sonucuna bakmıştım dokümanlarda. Sizinki ödeme formu sonucuymuş. O yüzden benim yazdığımın hata vermesi normal.

$this->ICheckOut::retrieve($this->IRequest, $this->IOptions);

Bunu bir değişkene eşitlemeniz gerekiyor, $this->IResult = ... gibi mesela. Sonucu alıyorsunuz ama bir şeye aktarmıyorsunuz.

#15 Yanıt: Laravel 5.x Yardım » İyzico entegrasyon sorunu » 09.02.2019 23:41:03

$this->ICheckOut::retrieve($this->IRequest, $this->IOptions);

Dokümanlara baktım. Payment::retrieve() yöntemi gerekli işlemi yapıyor. Sizin kod ise üstteki. CheckoutForm::retrieve() kullanıyor. Sanırım o başka bir iş yapıyor, form alanlarını oluşturuyor gibi.

Şöyle yapsanız olacak gibi:

$pay = new PaymentService();
$pay->IyzicoRequest(6, $token);
$payment = \Iyzipay\Model\Payment::retrieve($pay->IRequest, $pay->IOptions);
dd($payment);

iyzipay-php kullanan bir wrapper kullanıyorsunuz sanırım.

#16 Yanıt: Laravel 5.x Yardım » İyzico entegrasyon sorunu » 09.02.2019 21:36:17

Laravel versiyonunda sanki POST işlemi yapmıyorsunuz da POST için oluşturulan henüz POST edilmemiş veriyi tutan objeye bakıyor gibisiniz.

Bunu POST etseniz sonuç alacaksınız gibi duruyor.

#17 Yanıt: Laravel 5.x Yardım » Laravel image upload ve db insert sırasında hata oluşursa transaction » 08.02.2019 23:43:43

Ne yapmam gerekiyor bu konuda ?

Yaptığınız işlemleri geri alan başka kodlar yazacaksınız, bunun hazır bir yolu yok, ama öncesinde Validation kullanarak güçlü bir sınama ile hata alma olasılığınızı minimuma indirebilirsiniz.

Diğer bir yolu daha var ama bu sizin blog projenizi aşıp üstüne geçecektir, o yüzden gerek yok bence.

#18 Yanıt: Laravel 5.x Yardım » Veritabanında JSON ile ne kadar iç içe geçiyorsunuz ? » 08.02.2019 14:56:25

Yazılım dili değil ama farklı veritabanına geçiş olarak düşünmelisiniz. MySQL JSON kullandığınızda JSON_* yöntemlerini kullanırsınız, bunlar diğer veritabanlarında farklıdır. Böyle bir değişim söz konusu olacak ise sistemi yazarken buna göre bir planlama yapmanız lazım, örneğin veritabanı adaptörü üzerine kurulu repository'ler kullanmak gibi.

Elbette en doğrusu iş için en uygun aracı seçmek, ona göre veritabanını, dili vs. baştan seçmek ama ileride ne olacağını bilemiyoruz işte...

#19 Yanıt: Laravel 5.x Yardım » Veritabanında JSON ile ne kadar iç içe geçiyorsunuz ? » 08.02.2019 13:53:09

Ne amaçla kullanacağınıza bağlı. İki kademe komşularını bulmak isterseniz (komşularının komşuları) JSON yerine tabloda çözmek daha kolay olur ama sadece ben bir ilin komşularını alayım yeter derseniz JSON olabilir. Burada bahsettiğim kolaylık ya da zorluk sizin SQL bilginize bağlı elbette. SQL bilgisi iyi olan biri bunu get_neighbours(id, depth = 1) gibi bir procedure ile JSON sütunundan aldığı verilerle direkt SQL içinde de halledebilir belki.

#20 Yanıt: Laravel 5.x Yardım » Blog için Post » 06.02.2019 09:08:47

Öncelikle konu ile ilgili dokümanlar burada:
https://ckeditor.com/docs/ckeditor4/lat … pload.html

Kısaca bahsetmek gerekirse; config.js dosyasına resim yükleme adresini ekliyorsunuz:

CKEDITOR.editorConfig = function (config) {
    //...
    config.uploadUrl = '/admin/media/upload';
};

Kullanıcı editöre resim yapıştırırsa ya da fare ile bırakırsa (drag&drop dediğimiz) /admin/media/upload adresine ajax ile bu resim upload adı altında gönderiliyor.
Siz de /admin/media/upload rotasına bağlı ilgili controller yöntemi içerisinde, örneğin MediaController::ckeditorUpload(), bu dosyaya ulaşıyorsunuz. Klasik $request->file('upload') şeklinde mesela.
Sonra istediğiniz yükleme, veritabanına kayıt vs işlemi yaptırıp sonucu JSON response şeklinde dönderiyorsunuz:

Başarılı ise:

{
    "uploaded": 1,
    "fileName": "resim.jpg",
    "url": "/uploads/posts/25/resim.jpg"
}

Başarısız ise:

{
    "uploaded": 0,
    "error": {
        "message": "Hata mesajı"
    }
}

Sonuç başarılı ise editor resmi yapıştırdığınız/bıraktığınız noktaya şu kodu ekliyor:

<img src="/uploads/posts/25/resim.jpg" alt="">

Sonra postu veritabanına kaydediyorsunuz.

Elbette eklenen tüm resimleri görmek/silmek isterseniz bir tane dosya yöneticisi gibi bir şeyler hazırlamanız gerekiyor. CKFinder diye CKEditor'ü yapanlara ait bir dosya yöneticisi var ama ücretli.

#21 Yanıt: Laravel 5.x Yardım » Blog için Post » 05.02.2019 20:46:58

Direk basıyor kısmını anlamadım. HTML kodu üretiyor:

Demo:
https://ckeditor.com/ckeditor-4/demo/#article

Tüm özellikler demosu:
https://nightly.ckeditor.com/19-02-05-0 … l/samples/

Kaynak koduna müdahale etmeyeceğim diyorsanız, modern javascript bilginiz de iyi ise v5 versiyonuna da bakabilirsiniz. Versiyon 5 daha çok içerik düzenleme üzerine kurulu bir editor. Koddan ziyade ön tanımlı
widget/plugin diyebileceğimiz ögeleri oluşturarak istediğiniz editörü siz oluşturuyorsunuz. Kendisi de bazı hazır özellikler ile geliyor. Daha çok bir editör framework:
https://ckeditor.com/ckeditor-5/demo/

Benim planım CKEditor 5'in biraz daha doyuma ulaşmasını beklemek. Daha sonra onu kullanıp kendi plugin kütüphanemi oluşturacağım

#22 Yanıt: Konu Dışı » Outlook IMAP problemi » 05.02.2019 20:36:15

Hesap eski hesap, ekleyemiyorum çünkü şifresini bilmiyoruz ve sıfırlama imkanımız yok. İlgilenen kişiye ulaşamıyoruz.

Çok garip bir durum, bu kadar uğraştıracağı aklıma gelmemişti...

#23 Konu Dışı » Outlook IMAP problemi » 05.02.2019 17:26:29

mgsmus
Yanıtlar: 5

Merhaba

Outlook'ta IMAP hesabı vardı, kaldırdım ama veri dosyası duruyor. Hesabı kaldırınca mailler de gitti. Normalde POP hesaplarında kalıyordu.

Şimdi elimde PST dosyası var. Ben bunu Outlook'a hesap kurmadan nasıl eklerim? Yeni IMAP oluştururken veri dosyası seçmeme izin vermiyor. Veri dosyaları listesinde yer almasına rağmen mailler gözükmüyor.

Acil yardım smile

#24 Yanıt: Laravel 5.x Yardım » Blog için Post » 04.02.2019 16:24:07

Bahsettiğiniz içerik editörü ise CKEditor tavsiye ederim. 13-14 senedir kullanıyorum sanırım.

#25 Yanıt: Laravel 5.x Yardım » Veritabanından gelen verilere mi mu ekleri takmak » 02.02.2019 20:37:46

PHP içerisinde yok elbette ama kullanabileceğiniz küçük bir sınıf var:
https://github.com/yasinkuyu/Turkish.php

Böyle şeyler bana göre tam ayrı bir kütüphane kullanmak için. Yasin arkadaşın eline sağlık.

Forum alt kısmı

Uygulama FluxBB