मैं Magento 2.1 का उपयोग कर रहा हूं
मुझे ui घटक का उपयोग करके कई छवियों और वीडियो को अपलोड करने की आवश्यकता है
जैसे मैगेंटो-एडमिन -> उत्पाद -> कार्लाग -> उत्पाद
इसे प्राप्त करने के लिए मुझे क्या करने की आवश्यकता है?
मैं Magento 2.1 का उपयोग कर रहा हूं
मुझे ui घटक का उपयोग करके कई छवियों और वीडियो को अपलोड करने की आवश्यकता है
जैसे मैगेंटो-एडमिन -> उत्पाद -> कार्लाग -> उत्पाद
इसे प्राप्त करने के लिए मुझे क्या करने की आवश्यकता है?
जवाबों:
अंत में मुझे जवाब मिल गया
मैं इस मॉड्यूल का उल्लेख करता हूं और अपने कस्टम मॉड्यूल में लागू करता हूं
नीचे उपयोगी कोड खोजें:
चरणों के नीचे
1) Layout.xml बनाएं
[vendor]/[module]/operation/view/adminhtml/layout/layout_edit.xml
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
<body>
<referenceContainer name="content">
<uiComponent name="sample_form"/>
</referenceContainer>
<referenceContainer name="sample_form">
<block name="gallery" class="[vendor]\[module]\Block\Adminhtml\Grid\Helper\Form\Gallery">
<arguments>
<argument name="config" xsi:type="array">
<item name="label" xsi:type="string" translate="true">Images</item>
<item name="collapsible" xsi:type="boolean">true</item>
<item name="opened" xsi:type="boolean">false</item>
<item name="sortOrder" xsi:type="string">22</item>
<item name="canShow" xsi:type="boolean">true</item>
<item name="componentType" xsi:type="string">fieldset</item>
</argument>
</arguments>
<block class="[vendor]\[module]\Block\Adminhtml\Grid\Helper\Form\Gallery\Content" as="content" template="[vendor]_[[module]::helper/gallery.phtml">
<arguments>
<argument name="config" xsi:type="array">
<item name="parentComponent" xsi:type="string">sample_form.sample_form.block_gallery.block_gallery</item>
</argument>
</arguments>
</block>
</block>
</referenceContainer>
</body>
</page>
2) हेल्पर ब्लॉक बनाएं
[vendor]/[module]/Block/Adminhtml/Grid/Helper/Form/Gallery.php
namespace [vendor]\[module]\Block\Adminhtml\Grid\Helper\Form;
use Magento\Framework\Registry;
use Magento\Catalog\Model\Product;
use Magento\Eav\Model\Entity\Attribute;
use Magento\Catalog\Api\Data\ProductInterface;
class Gallery extends \Magento\Catalog\Block\Adminhtml\Product\Helper\Form\Gallery
{
/**
* @var here you set your ui form
*/
protected $formName = 'sample_form';
}
3) हेल्पर फॉर्म ब्लॉक बनाएं
[vendor]\[module]\Block\Adminhtml\Grid\Helper\Form\Gallery\Content.php
namespace [vendor]\[module]\Block\Adminhtml\Grid\Helper\Form\Gallery;
use Magento\Framework\Data\Form\Element\AbstractElement;
use Magento\Backend\Block\Media\Uploader;
use Magento\Framework\View\Element\AbstractBlock;
use Magento\Framework\App\Filesystem\DirectoryList;
class Content extends \Magento\Catalog\Block\Adminhtml\Product\Helper\Form\Gallery\Content
{
protected function _prepareLayout()
{
$this->addChild('uploader', 'Magento\Backend\Block\Media\Uploader');
$a = $this->getUploader()->getConfig()->setUrl(
$this->_urlBuilder->addSessionParam()->getUrl('[vendor]/grid_gallery/upload')/* here set you upload Controller */
)->setFileField(
'image'
)->setFilters(
[
'images' => [
'label' => __('Images (.gif, .jpg, .png)'),
'files' => ['*.gif', '*.jpg', '*.jpeg', '*.png'],
],
]
);
}
public function getImageTypes()
{
return '[]';
}
public function getMediaAttributes()
{
return '[]';
}
}
नोट : - आपको दोनों ब्लॉकों के ऊपर ठीक से विस्तार करना चाहिए
4) टेम्पलेट बनाएं
आपको गैलरी.phtml फॉर्म को कॉपी करना चाहिए vendor/magento/module-product-video/view/adminhtml/templates/helper/gallery.phtml
और इसे अपने मॉड्यूल में अपने आवश्यकता और कीट के रूप में संशोधित करना चाहिए[vendor]/[module]/view/adminhtml/templates/helper/gallery.phtml
अगर आपको कोई मदद चाहिए तो कृपया मुझे कमेंट में बताएं
protected $formName = 'your_ui_form
Magento 2 में वीडियो जोड़ने के लिए, आपको इन चरणों का पालन करना होगा:
Deexit Sanghani का उत्तर दिनांकित हो सकता है क्योंकि मैं magento2.2.2 v का उपयोग कर रहा हूँ और xml के लिए स्थान मेरे लिए काम नहीं करेगा, [vendor]/[module]/operation/view/adminhtml/layout/layout_edit.xml
लेकिन बाकी सब कुछ ठीक- ठाक है और साथ ही साथ मतदान भी। और हेयर्स जो मेरे लिए काम करता है वह एक नज़र में ../vendor/magento/module-product-video/view/adminhtml/ui_component/product_form.xml
और आप में मॉड्यूल स्थान: ऐड के ../app/code/[vendor]/[module]/view/adminhtml/ui_component/your_ layout_edit.xml
भीतर <form></form>
:
<htmlContent name="gallery" sortOrder="22">
<argument name="data" xsi:type="array">
<item name="wrapper" xsi:type="array">
<item name="label" xsi:type="string" translate="true">My Custom Images And Videos</item>
<item name="collapsible" xsi:type="boolean">true</item>
<item name="opened" xsi:type="boolean">false</item>
</item>
</argument>
<settings>
<wrapper>
<canShow>true</canShow>
<componentType>fieldset</componentType>
</wrapper>
</settings>
<block name="gallery" class="[vendor]\[module]\Block\Adminhtml\[Entity]\Helper\Form\Gallery">
<!--<arguments>
<argument name="config" xsi:type="array">
<item name="label" xsi:type="string" translate="true">Images And Videos</item>
<item name="collapsible" xsi:type="boolean">true</item>
<item name="opened" xsi:type="boolean">false</item>
<item name="sortOrder" xsi:type="string">22</item>
<item name="canShow" xsi:type="boolean">true</item>
<item name="componentType" xsi:type="string">fieldset</item>
</argument>
</arguments>-->
<block class="[vendor]\[module]\Block\Adminhtml\[Entity]\Helper\Form\Gallery\Content" as="content">
<arguments>
<argument name="config" xsi:type="array">
<item name="parentComponent" xsi:type="string">ui_component_form.ui_component_form.block_gallery.block_gallery</item>
</argument>
</arguments>
<block class="Magento\ProductVideo\Block\Adminhtml\Product\Edit\NewVideo" name="new-video" template="Magento_ProductVideo::product/edit/slideout/form.phtml"/>
</block>
</block>
</htmlContent>
मैं छवि ऐड कस्टम भूमिकाएं आदि अपलोड करने के लिए प्रबंधन है .. लेकिन नहीं एक पंक्ति, के खिलाफ अभी तक डेटाबेस में बचाने नोट: यह आपकी आवश्यकताओं के लिए काम करता है बनाने के लिए ध्यान का एक बहुत जरूरत है, अपनी आवश्यकताओं के अधिलेखित जैसे gallery.pthml
, getImagesJson()
, getImageTypes()
, getMediaAttributes
तरीकों आदि .. ।: और फिर इसे जरूरत बारीकी डेटाबेस संरचना है कि एक ही पैटर्न या देशी Magento नज़र तालिका के समान इस प्रकार से मेल खाता है catalog_product_entity_media_gallery_value
, catalog_product_entity_media_gallery
, catalog_product_entity_media_gallery_value
आदि ... Have वीडियो पर काम नहीं अभी तक!
आशा है कि किसी की मदद करो!