Я вижу, что Mage_Adminhtml_Block_Catalog_Product_Helper_Form_Gallery_Content::getImagesJson()
и app\design\adminhtml\default\default\template\catalog\product\helper\gallery.phtml
отвечают за размещение данных изображения в браузере с помощью класса-прототипа Product.Gallery
.
Однако я не могу отследить, где коллекция изображений установлена в блоке Mage_Adminhtml_Block_Catalog_Product_Helper_Form_Gallery_Content
. Я предполагаю, что это через магический установщик где-то в контроллере или макете, но я не могу отследить его.
Mage_Adminhtml_Block_Catalog_Product_Helper_Form_Gallery_Content::getImagesJson()
имеет
$value = $this->getElement()->getValue();
if(count($value['images'])>0) {
foreach ($value['images'] as &$image) {
что-то заполняет атрибут element
этого блока.
Mage_Adminhtml_Block_Catalog_Product_Helper_Form_Gallery_Content
создается экземпляром Mage_Adminhtml_Block_Catalog_Product_Helper_Form_Gallery::getContentHtml()
, но это не устанавливает никаких атрибутов в блоке.
Я вижу, что Mage_Catalog_Model_Product_Attribute_Backend_Media::afterLoad()
заполняет атрибут массивом, который соответствует структуре, которую ищет Javascript Product.Gallery
, но я все еще немного озадачен тем, где Атрибут связан с Блоком рендеринга.
Я думаю, мне нужна диаграмма, чтобы держать эту запутанную паутину прямо в моей голове!
Спасибо
Jonathan