Magento 1'de, Denetleyici eyleminizden "Görünüm" e (yani, düzeninizdeki bir blok) veri aktarmak istiyorsanız
Aracılığıyla genel kayıt defterine bir değer / nesne ekleyin
Mage::register
Bir blok nesnesini doğrudan getir ve çalıştırdıktan sonra getirilen blok nesnesindeki veri özelliklerini ayarla
loadLayout
phtml
Dosyalardaki blok nesneler üzerinde çağrı yöntemleri ve blok nesnelerinin daha önce kontrolör eylemine kaydedilmiş verileri okumak için model / veritabanı katmanını kullanmasını sağlayın
Veritabanından okumak için blok nesnesi yöntemlerinin kullanılması Magento 2'de hala işe yarıyor gibi görünüyor - ki bu da bazı işlem türleri için uygun. Ancak,
Magento 2'de artık küresel bir kayıt yok (ya da var mı?)
Düzen sistemi artık bir fabrika aracılığıyla bir sayfa nesnesi oluşturarak çalışır ve Magento 1'deki gibi blok referanslarını yakalayamazsınız.
Magento 2'de doğrudan bir denetleyici eyleminden bir görünüme veri aktarmak mümkün müdür? Yoksa bu Magento'nun cesur yeni Design Pattern ™ dünyası için bir kalıp mı? Bu çok doğrudan bir kalıpsa, bir şablonda görüntülemek istediğimiz bazı hesaplanmış bilgiler varsa, ancak bu bilgileri durum bilgisi olan bir sistemde saklamak istemiyorsa (yani, bunu veri tabanı)
Bunu kendim bir araya getirmenin birkaç farklı yolunu düşünebilirim - ama Magento 2'nin bunu nasıl yapmanızı istediğiyle ilgileniyorum .
Not : Bunun gibi bir şey kullanarak bir denetleyici eyleminde bir blok örneği getirmenin mümkün olduğunu anlıyorum
$resultPage = $this->resultPageFactory->create();
$block = $resultPage->getLayout()->getBlock('catalog.wysiwyg.js');
var_dump(spl_object_hash($block));
Magento 2 çekirdek kodu bunu sıklıkla yapar. Bununla birlikte, denetleyici nesnesine getirilen blok nesnesi , ya şablon aracılığıyla mevcut olandan farklı bir nesne gibi görünür veya (eski ( ), şablonu gerçekte oluşturan nesne gibi görünürken, later ( ) Magento Block tipinin bir örneği).phtml
$this
$block
$this
$block
#File: path/to/template.phtml
var_dump(spl_object_hash($block));
var_dump(spl_object_hash($this));
"Görünüşe göre" diyorum çünkü kontrolör eylem yönteminde veri ayarlarsam, phtml
şablonda mevcut değildir - ve spl_object_hash
yukarıdaki sonuçları karşılaştırırsam, üç farklı karma elde ederim. Ancak, tüm bunlar için yukarıdakilerin yaptığım başka bir hata olabileceği konusunda yeterince yeniyim - bu yüzden bloklar üzerinde veri ayarlayabilir ve bir şablonda getirebildiyseniz bunu duymak isterim !