En son resmi koymasının sebebi foreach ile dönerek ss_dosya_adi adlı fieldi güncelliyorsun. Burası bir array olmalı ve arrayin icine eskileride alıp yenisini pushlaman gerek.Böyle sadece x = 1 , x = 2 demiş gibi olursun
$myObj->ss_dosya_adi = [];
foreach($icerikid as $index => $names) {
$icerikid = $names;
$filename = $icerikid.".json";
array_push($myObj->ss_dosya_adi,$dosya_adi);
$dizijson = json_encode($myObj);
file_put_contents($filename, $dizijson);
if(move_uploaded_file($gecici_yol, "../../images/indexurunler/" . $dosya_adi)) {
echo "Aktarıldı";
}
}
Bootstrap tooltipi dom içerisinde erişebildiği elementlere bu özelliği verir. Before ve after pseudo'ları dom'dan erişilemez.Yani o yöntemle yapamazsın.
O kareleri before yerine html tagıyla yapıp position vs oynayarak düzenleyebilirsin
3d için yazılmış bir kütüphane var bununla geliştirmeler yapabilirsin https://threejs.org/
O da başka bir videonun konusu olsun :D
Şaka bir yana this.fetchProps fonksiyonu eğer promise ise fetchProps(benim son yazdığım) fonksiyonda promise olacaktır. Hepsi aynı sonucu döndürecektir direkt olarak then bloğuyla yakalayıp işlem yaptırabilirsin.
const fetchProps = (id) => this.fetchProps(id).then((response) => console.log(response))
Promise.all([...itemIds.reduce((p,c) => [...p, fetchProps(c)],[])])
reduce fonksiyonu işini görecektir.
const fetchProps = (id) => this.fetchProps(id)
Promise.all([...itemIds.reduce((p,c) => [...p, fetchProps(c)],[])])
Bu metotla ilerlemen biraz sıkıntılı çünkü yeni bir dizi oluşturup devam ediyorsun haliyle dizinin indexleri değişir.
Update işlemini index ile kontrol etmek yerine id ile devam etmeni öneririm. Eğer index şart ise filtrelemek yerine map ile obje içerisine yeni bir field tanımlayarak o field'a göre id alarak indexleri değiştirmemeyi çözebilirsin
Tekrar dediğim gibi state güncellenmiyorsa ve güncellemeye çalıştığın bir data obje ise bunu direkt olarak vermemelisin. Yeni bir obje olarak verip set etmelisin.
setFilterState({...values})
Böyle çalışacaktır diye düşünüyorum. Eğer farklı bir yol izlemek istersen useEffect ile state'ın değişip değişmediğini debuglayabilirsin
Burdaki ilk hatan şu ; Javascript bir objeyi veya array'i (non-primitive) değeriyle değil ram'deki referans'ı ile kontrol eder.
Yani basit ile anlatmak gerekirse
console.log({} === {}) //false
console.log('esit' === 'esit') //true
Bu durum state'i güncellerken sık karşılaşacağın bir durumdur. React state'ini güncellerken primitive değerlerde (string,number) direkt olarak değerine bakar. 1 !== 1 mi değil mi değilse renderla
Non-primitive değerlerde ise yukarıda bahsettiğim olay ile karşılaşıyor. Bu durumda değişken ne ise yeniden tanımlayıp referans'ının değiştiğini react'a bildirmen gerekli ki değiştiğini anlasın ve renderlasın.
setFilterState({...values})
Yukarıda yeni bir obje oluşturduk ve değerlerini values'in değerleriyle doldurduk. Artık react filterState ' in değiştiğini biliyor çünkü yeni bir referans ile tanımlandı.
Web'de hiçbir şeyi gizleyemezsin. Her şey manipüle edilebilir ve görüntülenebilir. Sadece okunabilirliğini azaltarak bir tık güvenli hale getirebilirsin.Onun içinde minified işlemine sokabilirsin
Şimdi buradaki sorunun şu sen current classını hangi route'da isen ona vermen gerek.Yani sen blog sayfasına gittiğinde bu sayfa blogda ise current classını ekle demen gerekiyor
<li class="yns <?=$ayarcek['site_url'] === 'blog' ? 'current' : '' ?>">
<a href="<?=$ayarcek['ayar_siteurl'];?>">Blog</a>
</li>
Bunu bütün routelar için yapman. Ister js ister php o sana kalmış