Web Yazılım Bileşeni

spatie/eloquent-sortable

spatie/eloquent-sortable, Eloquent modellerinize sürükle-bırak veya sayısal sıralama davranışı kazandıran, Laravel ekosisteminde yaygın kullanılan bir PHP paketidir. Veritabanı kayıtlarınızı kolayca yeniden sıralamanızı sağlar.

spatie/eloquent-sortable paketi ile Eloquent modellerde sıralama

spatie/eloquent-sortable, Laravel uygulamalarında Eloquent modellerinize sıralama davranışı kazandıran bir PHP paketidir. Paket, modellerinize bir 'order_column' ekleyerek kayıtların sayısal sırasını yönetmenizi sağlar. Bu sayede listeleri, galerileri, menüleri veya benzeri içerikleri kolayca yeniden sıralayabilirsiniz. Paket, 27 milyondan fazla indirme ve 1500'ün üzerinde favori ile Laravel topluluğunda yaygın olarak kullanılmaktadır.

Hangi ihtiyaçlarda değerlendirilebilir?

  • Laravel ile geliştirilen ve veritabanı kayıtlarının kullanıcı tarafından sıralanması gereken web uygulamaları
  • Admin panellerinde liste, galeri veya menü öğelerini sürükle-bırak ile düzenlemek isteyen geliştiriciler
  • Eloquent modellerinde standart bir sıralama alanı (order column) yönetmek isteyen projeler

Yaygın kullanım alanları

Admin Paneli Liste Sıralaması

Bir blog veya e-ticaret sitesinin admin panelinde ürünleri, kategorileri veya yazıları sürükle-bırak ile sıralamak için kullanılabilir. Paket, kayıtların sırasını otomatik olarak günceller.

Galeri ve Medya Düzeni

Fotoğraf galerilerinde veya medya kütüphanelerinde görsellerin sırasını kullanıcıya göre düzenlemek için idealdir. Her bir görselin sıra numarası veritabanında tutulur.

Menü ve Navigasyon Yapılandırması

Web sitesi menülerinde veya navigasyon öğelerinde sıralamayı yönetmek için kullanılabilir. Menü öğelerinin görünme sırasını kolayca değiştirebilirsiniz.

İncelenmesi gereken noktalar

  • Paket, Laravel'in Eloquent ORM'ine bağımlıdır; bu nedenle yalnızca Laravel projelerinde kullanılabilir.
  • Sıralama alanı (order_column) veritabanı tablosuna eklenmelidir; bu işlem migration ile yapılmalıdır.
  • Paketin sürümü, kullandığınız Laravel sürümüyle uyumlu olmalıdır; güncel sürümleri kontrol etmek önemlidir.

WordPress.org

Kurulum ve geliştirme notları

Paketin kurulumu Composer ile yapılır. Resmi dokümantasyonda paketin Composer üzerinden projeye eklenmesi önerilir. Kurulum sonrasında modelinize trait eklenir ve migration ile sıralama alanı oluşturulur.

  1. 1Composer kullanarak paketi projeye ekleyin: composer require spatie/eloquent-sortable
  2. 2Sıralama yapılacak modelinize 'Spatie\EloquentSortable\Sortable' interface'ini ve 'Spatie\EloquentSortable\SortableTrait' trait'ini ekleyin.
  3. 3Migration dosyası oluşturarak tabloya 'order_column' (integer) sütununu ekleyin.
  4. 4Modelde 'sortable' özelliklerini (örneğin, hangi alanın sıralama için kullanılacağını) tanımlayın.

Hazır çözümün ötesinde

Özel geliştirme ne zaman değerlendirilebilir?

ZeplinGo olarak, Laravel projelerinizde spatie/eloquent-sortable paketinin entegrasyonunu ve özelleştirilmesini birlikte planlayabiliriz. Projenizin ihtiyaçlarına göre sıralama davranışını özelleştirebilir, admin panellerinize sürükle-bırak arayüzleri ekleyebiliriz. Ayrıca, bu paketin yanı sıra özel sıralama çözümleri de geliştirebiliriz.

Ücretsiz ön çalışma isteyin →

Değerlendirme soruları

spatie/eloquent-sortable hangi Laravel sürümleriyle uyumludur?

Paket, Laravel'in çeşitli sürümleriyle uyumlu olacak şekilde güncellenmektedir. Kullandığınız Laravel sürümüne uygun paket sürümünü seçmek için Packagist üzerindeki bağımlılık bilgilerini kontrol etmeniz önerilir.

Paket sadece sürükle-bırak ile mi çalışır?

Hayır, paket programatik olarak da sıralama yapmanıza olanak tanır. 'moveUp', 'moveDown' gibi metodlarla kayıtların sırasını kod üzerinden değiştirebilirsiniz.

Sıralama alanı olarak hangi veri tipi kullanılmalıdır?

Genellikle integer (tam sayı) bir sütun önerilir. Migration'da 'order_column' adında bir integer sütunu eklemeniz yeterlidir.

ZeplinGo çözümleri

Hazır teknolojinin yeterli olduğu noktaları inceliyor; iş ihtiyaçları standart sınırları aştığında entegrasyon ve özel geliştirme kapsamını birlikte belirliyoruz.

Tüm çözümleri görün →