@ raphael-at-digital-pianism, adminhtml grid UI bileşen XML'sinde yanlış olduğunu düşündüğüm şeyler listesini bulamamı istedi, işte şöyle:
Adminhtml grid UI bileşen XML'in nesi yanlış?
- Dev sırasında yavaş geribildirim döngüsü
- Anlaşılması zor
- Bir şeyler ters giderse hata ayıklamak zor (çoğunlukla çekirdekteki XML ile kıyaslayarak)
- Çok fazla uygulama detayı ortaya çıktı
- Kopyala ve yapıştır'ı teşvik eder
- XML, insanların okuması ve yazması için yapılmamıştır.
- Test etmek zor
- Başka hangi seçeneklerin mevcut olduğu belli değil
- Çok sayıda kazan plakası VE sihir (her iki dünyanın da en kötüsü)
- DB tablo verilerini görüntüleme fikrine birleşti
- Dosyadaki birçok çoğaltılmış ad dizesi
"Daha iyi bir çözüm bul" mu diyorsun?
Ben yapmadım. Fakat işte, bir geliştirici olarak, nasıl adminhtml ızgaraları ve formları oluşturmak istediğim konusunda zor bir fikir.
- Bir uygulamasını oluşturun
GridDataSourceInterface
- Izgara bileşeni,
GridDataSourceInterface::getGridItemType()
bir sınıf adı veya arayüz adı almak için bir yöntem kullanır.
- Arayüz üzerine yansır ve olası alıcıları belirlemek için tüm alıcılar kullanılır
- Sütun türleri, dönüş türlerinden çıkarılır
- Geçerli sütun türleri olarak otomatik olarak çıkarılamayan türler yoksayılır.
GridDataSourceInterface
Uygulama örneği gerekli güzel tanımlayıcı yöntemler kullanılarak yapılandırmak olmayan varsayılan görünürlük ve sütun türlerine kullanılabilir.
Faydalar:
- IDE, metot otomatik tamamlama yoluyla ızgaraların (ve formların) tanımlanmasına yardımcı oldu
- Hassas varsayılanlar
- Uygulama agnostik
- Basit varlıklar için sadece çok az kod yazılması gerekir
- XML yaklaşımı ile karşılaştırıldığında, hiçbir özellik kaybı yok
- Durdurucularla genişletilebilirlik
- Sınıf arayüzleri yapılırsa, ızgaraları ve formları tanımlamak XML kadar açıklayıcı olabilir (ama çok daha basit)
- Servis sözleşmesi dersleri için Magento 2s'nin "düşünme tarzı" ile eşleşir
- Ön kod ile mevcut etkileşimde herhangi bir değişiklik yapılması gerekmez (tel üzerinden aynı trafik)
- Ön uç sütun sıralama ve yapılandırma şimdi olduğu gibi çalışmaya devam edebilir
- MOAR XML YOK
Asıl soruya gelince, eski Magento 1 stilini kullanarak adminhtml oluşturmak için bloklar yapmanın doğru olanı araştıracağını düşünmüyorum.
Yalnızca yeni XML tabanlı ızgara bildiriminin mümkün olan en iyi şekilde değiştirilmesi gerektiğini savunuyorum.