Advertisement
Guest User

Untitled

a guest
Sep 30th, 2016
59
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.18 KB | None | 0 0
  1. namespace WageCategorylistSetup;
  2.  
  3. use MagentoFrameworkModuleSetupMigration;
  4. use MagentoFrameworkSetupInstallDataInterface;
  5. use MagentoFrameworkSetupModuleContextInterface;
  6. use MagentoFrameworkSetupModuleDataSetupInterface;
  7. use MagentoCatalogSetupCategorySetupFactory;
  8.  
  9. class InstallData implements InstallDataInterface
  10. {
  11. public function __construct(CategorySetupFactory $categorySetupFactory)
  12. {
  13. $this->categorySetupFactory = $categorySetupFactory;
  14. }
  15. public function install(ModuleDataSetupInterface $setup, ModuleContextInterface $context)
  16. {
  17. $installer = $setup;
  18. $installer->startSetup();
  19.  
  20. $categorySetup = $this->categorySetupFactory->create(['setup' => $setup]);
  21. $entityTypeId = $categorySetup->getEntityTypeId(MagentoCatalogModelCategory::ENTITY);
  22. $attributeSetId = $categorySetup->getDefaultAttributeSetId($entityTypeId);
  23. $categorySetup->removeAttribute(
  24. MagentoCatalogModelCategory::ENTITY, 'banner_image' );
  25. $categorySetup->addAttribute(
  26. MagentoCatalogModelCategory::ENTITY, 'banner_image', [
  27. 'type' => 'varchar',
  28. 'label' => 'Featured Image',
  29. 'input' => 'image',
  30. 'backend' => 'MagentoCatalogModelCategoryAttributeBackendImage',
  31. 'required' => false,
  32. 'sort_order' => 5,
  33. 'global' => MagentoEavModelEntityAttributeScopedAttributeInterface::SCOPE_STORE,
  34. 'group' => 'General Information',
  35. ]
  36. );
  37. $installer->endSetup();
  38. }
  39. }
  40.  
  41. <?xml version="1.0" encoding="UTF-8"?>
  42. <form xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  43. xsi:noNamespaceSchemaLocation="urn:magento:module:Magento_Ui:etc/ui_configuration.xsd">
  44. <fieldset name="content">
  45. <field name="thumbnail">
  46. <argument name="data" xsi:type="array">
  47. <item name="config" xsi:type="array">
  48. <item name="dataType" xsi:type="string">string</item>
  49. <item name="source" xsi:type="string">category</item>
  50. <item name="label" xsi:type="string" translate="true">Thumbnail Image</item>
  51. <item name="visible" xsi:type="boolean">true</item>
  52. <item name="formElement" xsi:type="string">fileUploader</item>
  53. <item name="elementTmpl" xsi:type="string">ui/form/element/uploader/uploader</item>
  54. <item name="previewTmpl" xsi:type="string">Magento_Catalog/image-preview</item>
  55. <item name="required" xsi:type="boolean">false</item>
  56. <item name="sortOrder" xsi:type="number">30</item>
  57. <item name="uploaderConfig" xsi:type="array">
  58. <item name="url" xsi:type="url" path="categorylist/category_thumbnailimage/upload"/>
  59. </item>
  60. </item>
  61. </argument>
  62. </field>
  63. </fieldset>
  64. </form>
  65.  
  66. namespace WageCategorylistControllerAdminhtmlCategoryThumbnailimage;
  67.  
  68. use MagentoFrameworkControllerResultFactory;
  69.  
  70. /**
  71. * Class Upload
  72. */
  73. class Upload extends MagentoBackendAppAction
  74. {
  75. protected $baseTmpPath;
  76. protected $imageUploader;
  77. public function __construct(
  78. MagentoBackendAppActionContext $context,
  79. MagentoCatalogModelImageUploader $imageUploader
  80. ) {
  81. $this->imageUploader = $imageUploader;
  82. parent::__construct($context);
  83.  
  84. }
  85. public function execute() {
  86. try {
  87. $result = $this->imageUploader->saveFileToTmpDir('thumbnail');
  88. $result['cookie'] = [
  89. 'name' => $this->_getSession()->getName(),
  90. 'value' => $this->_getSession()->getSessionId(),
  91. 'lifetime' => $this->_getSession()->getCookieLifetime(),
  92. 'path' => $this->_getSession()->getCookiePath(),
  93. 'domain' => $this->_getSession()->getCookieDomain(),
  94. ];
  95. } catch (Exception $e) {
  96. $result = ['error' => $e->getMessage(), 'errorcode' => $e->getCode()];
  97. }
  98. return $this->resultFactory->create(ResultFactory::TYPE_JSON)->setData($result);
  99. }
  100. }
  101.  
  102. <?xml version="1.0"?>
  103. <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
  104. <type name="WageCategorylistControllerAdminhtmlCategoryThumbnailimageUpload">
  105. <arguments>
  106. <argument name="imageUploader" xsi:type="object">MagentoCatalogCategoryImageUpload</argument>
  107. </arguments>
  108. </type>
  109. <virtualType name="MagentoCatalogCategoryImageUpload" type="MagentoCatalogModelImageUploader">
  110. <arguments>
  111. <argument name="baseTmpPath" xsi:type="string">catalog/tmp/category</argument>
  112. <argument name="basePath" xsi:type="string">catalog/category</argument>
  113. <argument name="allowedExtensions" xsi:type="array">
  114. <item name="jpg" xsi:type="string">jpg</item>
  115. <item name="jpeg" xsi:type="string">jpeg</item>
  116. <item name="gif" xsi:type="string">gif</item>
  117. <item name="png" xsi:type="string">png</item>
  118. </argument>
  119. </arguments>
  120. </virtualType>
  121. </config>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement