123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 |
- <?php
- /**
- * Copyright © Magento, Inc. All rights reserved.
- * See COPYING.txt for license details.
- */
- namespace Magento\Backend\Block\Widget\Form\Element;
- use Magento\Framework\Data\Form\Element\AbstractElement;
- /**
- * Backend image gallery item renderer
- *
- * @author Magento Core Team <core@magentocommerce.com>
- */
- class Gallery extends \Magento\Backend\Block\Template implements
- \Magento\Framework\Data\Form\Element\Renderer\RendererInterface
- {
- /**
- * @var AbstractElement|null
- */
- protected $_element = null;
- /**
- * @var string
- */
- protected $_template = 'Magento_Backend::widget/form/element/gallery.phtml';
- /**
- * @param AbstractElement $element
- * @return string
- */
- public function render(AbstractElement $element)
- {
- $this->setElement($element);
- return $this->toHtml();
- }
- /**
- * @param AbstractElement $element
- * @return $this
- */
- public function setElement(AbstractElement $element)
- {
- $this->_element = $element;
- return $this;
- }
- /**
- * @return AbstractElement|null
- */
- public function getElement()
- {
- return $this->_element;
- }
- /**
- * @return array
- */
- public function getValues()
- {
- return $this->getElement()->getValue();
- }
- /**
- * {@inheritdoc}
- */
- protected function _prepareLayout()
- {
- $this->addChild(
- 'delete_button',
- \Magento\Backend\Block\Widget\Button::class,
- ['label' => __('Delete'), 'onclick' => "deleteImage(#image#)", 'class' => 'delete']
- );
- $this->addChild(
- 'add_button',
- \Magento\Backend\Block\Widget\Button::class,
- ['label' => __('Add New Image'), 'onclick' => 'addNewImage()', 'class' => 'add']
- );
- return parent::_prepareLayout();
- }
- /**
- * @return string
- */
- public function getAddButtonHtml()
- {
- return $this->getChildHtml('add_button');
- }
- /**
- * @param string $image
- * @return string|string[]
- */
- public function getDeleteButtonHtml($image)
- {
- return str_replace('#image#', $image, $this->getChildHtml('delete_button'));
- }
- }
|