![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/vendor/amasty/feed/Block/Adminhtml/GoogleWizard/Edit/Tab/Content/ |
<?php /** * @author Amasty Team * @copyright Copyright (c) Amasty (https://www.amasty.com) * @package Product Feed for Magento 2 */ namespace Amasty\Feed\Block\Adminhtml\GoogleWizard\Edit\Tab\Content; use Magento\Framework\Data\Form\Element\Renderer\RendererInterface; use Amasty\Feed\Model\Export\Product as ExportProduct; class Element extends \Magento\Backend\Block\Template implements RendererInterface { /** * @var string */ protected $_template = 'googlewizard/content.phtml'; /** * @var \Amasty\Feed\Model\Export\Product */ protected $export; /** * @var \Amasty\Feed\Model\Category\ResourceModel\CollectionFactory */ private $categoryCollectionFactory; public function __construct( \Magento\Backend\Block\Template\Context $context, \Amasty\Feed\Model\Category\ResourceModel\CollectionFactory $categoryCollectionFactory, ExportProduct $export, array $data = [] ) { $this->export = $export; parent::__construct($context, $data); $this->categoryCollectionFactory = $categoryCollectionFactory; } /** * Render element * * Render element for Basic and Optional steps. * * @param \Magento\Framework\Data\Form\Element\AbstractElement $element * @return string */ public function render(\Magento\Framework\Data\Form\Element\AbstractElement $element) { $this->setElement($element); return $this->toHtml(); } /** * Get types of field * * @return array */ public function getFieldTypes() { $types = [ \Amasty\Feed\Model\RegistryContainer::TYPE_ATTRIBUTE => __('Attribute'), \Amasty\Feed\Model\RegistryContainer::TYPE_IMAGE => __('Images'), \Amasty\Feed\Model\RegistryContainer::TYPE_TEXT => __('Text') ]; return $types; } /** * Check element is selected by type * * @param \Amasty\Feed\Model\GoogleWizard\Element $element * @param string $type * @return boolean */ public function isSelectedType($element, $type) { return $element->getType() == $type; } /** * Check element is selected by attribute * * @param \Amasty\Feed\Model\GoogleWizard\Element $element * @param string $value * @return boolean */ public function isSelectedAttribute($element, $value) { return $element->getValue() == $value; } /** * Get value of attribute * * @param \Amasty\Feed\Model\GoogleWizard\Element $element * @return string */ public function getAttributeValue($element) { return $element->getValue(); } /** * Get all attributes * * @return array */ public function getAttributes() { return [ 'basic' => [ 'label' => __("Basic"), 'options' => $this->getBasicAttributes() ], 'product' => [ 'label' => __("Product"), 'options' => $this->getProductAttributes() ], 'price' => [ 'label' => __("Inventory"), 'options' => $this->getPriceAttributes() ], 'category' => [ 'label' => __("Category"), 'options' => $this->getCategoryAttributes() ], 'image' => [ 'label' => __("Image"), 'options' => $this->getImageAttributes() ], 'gallery' => [ 'label' => __("Gallery"), 'options' => $this->getGalleryAttributes() ], 'url' => [ 'label' => __("Url"), 'options' => $this->getUrlAttributes() ], 'other' => [ 'label' => __('Other'), 'options' => $this->getOtherAttributes() ] ]; } /** * Get basic attributes * * @return array */ public function getBasicAttributes() { return [ ExportProduct::PREFIX_BASIC_ATTRIBUTE . '|sku' => __('SKU'), ExportProduct::PREFIX_BASIC_ATTRIBUTE . '|product_type' => __('Type'), ExportProduct::PREFIX_BASIC_ATTRIBUTE . '|product_websites' => __('Websites'), ExportProduct::PREFIX_BASIC_ATTRIBUTE . '|created_at' => __('Created'), ExportProduct::PREFIX_BASIC_ATTRIBUTE . '|updated_at' => __('Updated'), ExportProduct::PREFIX_BASIC_ATTRIBUTE . '|product_id' => __('Product ID'), ]; } /** * Get category attributes * * @return array */ public function getCategoryAttributes() { $attributes = [ ExportProduct::PREFIX_CATEGORY_ATTRIBUTE . '|category' => __( 'Default' ), ]; /** @var \Amasty\Feed\Model\Category\ResourceModel\Collection $categoryCollection */ $categoryCollection = $this->categoryCollectionFactory->create(); $categoryCollection->addOrder('name'); foreach ($categoryCollection->getItems() as $category) { $attributes[ExportProduct::PREFIX_MAPPED_CATEGORY_ATTRIBUTE . '|' . $category->getCode()] = $category->getName(); } return $attributes; } /** * Get image attributes * * @return array */ public function getImageAttributes() { return [ ExportProduct::PREFIX_IMAGE_ATTRIBUTE . '|thumbnail' => __('Thumbnail'), ExportProduct::PREFIX_IMAGE_ATTRIBUTE . '|image' => __('Base Image'), ExportProduct::PREFIX_IMAGE_ATTRIBUTE . '|small_image' => __('Small Image'), ]; } /** * Get gallery attributes * * @return array */ public function getGalleryAttributes() { return [ ExportProduct::PREFIX_GALLERY_ATTRIBUTE . '|image_1' => __('Image 1'), ExportProduct::PREFIX_GALLERY_ATTRIBUTE . '|image_2' => __('Image 2'), ExportProduct::PREFIX_GALLERY_ATTRIBUTE . '|image_3' => __('Image 3'), ExportProduct::PREFIX_GALLERY_ATTRIBUTE . '|image_4' => __('Image 4'), ExportProduct::PREFIX_GALLERY_ATTRIBUTE . '|image_5' => __('Image 5'), ]; } /** * Get price attributes * * @return array */ public function getPriceAttributes() { return [ ExportProduct::PREFIX_PRICE_ATTRIBUTE . '|price' => __('Price'), ExportProduct::PREFIX_PRICE_ATTRIBUTE . '|final_price' => __('Final Price'), ExportProduct::PREFIX_PRICE_ATTRIBUTE . '|regular_price' => __('Regular Price'), ExportProduct::PREFIX_PRICE_ATTRIBUTE . '|min_price' => __('Min Price'), ExportProduct::PREFIX_PRICE_ATTRIBUTE . '|max_price' => __('Max Price'), ExportProduct::PREFIX_PRICE_ATTRIBUTE . '|tax_price' => __('Price with TAX(VAT)'), ExportProduct::PREFIX_PRICE_ATTRIBUTE . '|tax_final_price' => __('Final Price with TAX(VAT)'), ExportProduct::PREFIX_PRICE_ATTRIBUTE . '|tax_min_price' => __('Min Price with TAX(VAT)'), ExportProduct::PREFIX_PRICE_ATTRIBUTE . '|special_price' => __('Special Price'), ]; } /** * Get url attributes * * @return array */ public function getUrlAttributes() { return [ ExportProduct::PREFIX_URL_ATTRIBUTE . '|short' => __('Short'), ExportProduct::PREFIX_URL_ATTRIBUTE . '|with_category' => __('With Category'), ]; } /** * Get product attributes * * @return array */ public function getProductAttributes() { $attributes = []; $codes = $this->export->getExportAttrCodesList(); foreach ($codes as $code => $title) { $attributes[ExportProduct::PREFIX_PRODUCT_ATTRIBUTE . "|" . $code] = $title; } return $attributes; } /** * Get custom (not-classified) attributes * * @return array */ public function getOtherAttributes() { return [ ExportProduct::PREFIX_OTHER_ATTRIBUTES . '|tax_percents' => __('Tax Percents'), ExportProduct::PREFIX_OTHER_ATTRIBUTES . '|sale_price_effective_date' => __('Sale Price Effective Date') ]; } }