ম্যাজেন্টো 2 কীভাবে কাস্টম মডিউলটিতে চিত্র এবং ভিডিও আপলোড করবেন


15

আমি ম্যাজেন্টো ২.১ ব্যবহার করছি

ইউআই উপাদান ব্যবহার করে আমার একাধিক চিত্র এবং ভিডিও আপলোড করতে হবে

ভালো লেগেছে Magento-অ্যাডমিন -> পণ্য -> caralog -> পণ্য

এখানে চিত্র বর্ণনা লিখুন

এটি অর্জনের জন্য আমার কী করা দরকার?


এখনও এম 2 ইউআই_কমম্পোনেন্ট ছাড়াই 'চিত্র এবং ভিডিও' এর জন্য পুরানো স্টাইলের কোড ব্যবহার করে? তোমার কি দরকার?
সোহেল রানা

উত্তর:


7

অবশেষে আমি উত্তর পেয়েছি

আমি এই মডিউলটি উল্লেখ করি এবং আমার কাস্টম মডিউলটিতে প্রয়োগ করি

দরকারী কোড নীচে সন্ধান করুন:

নীচের পদক্ষেপ অনুসরণ

1) লেআউট.এক্সএমএল তৈরি করুন

[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) টেমপ্লেট তৈরি করুন

আপনার গ্যালারী.এফটিএমএল ফর্মটি অনুলিপি করা উচিত vendor/magento/module-product-video/view/adminhtml/templates/helper/gallery.phtml এবং এটি আপনার মডিউলে আপনার প্রয়োজনীয়তা এবং পোকামাকড় হিসাবে সমতুল্য হওয়া উচিত[vendor]/[module]/view/adminhtml/templates/helper/gallery.phtml

আপনার কোন সাহায্যের প্রয়োজন হলে আমাকে মন্তব্যে জানান know


আমি ত্রুটি পাচ্ছি যেহেতু ওবিজেইসিটি ডম ডকুমেন্ট তৈরি করা উচিত
বিজয় বি

@ উইজেব আপনি দয়া করে এখানে এই ত্রুটিটি রাখতে পারেন
সানঘানি


@vijayb আমি আশা করি আপনি ui ফর্ম নিয়ে কাজ করছেন তাই আপনার ui ফর্মের নামটি এখানে সেট করুনprotected $formName = 'your_ui_form
সানখানি

আমি প্রতিটি পদক্ষেপটি যথাযথভাবে উত্তর অনুসারে অনুসরণ করেছি followed
বিজয় খ

0

ম্যাজেন্টো 2 এ ভিডিও যুক্ত করতে আপনাকে এই পদক্ষেপগুলি অনুসরণ করতে হবে:

  1. একটি ইউটিউব এপিআই কী তৈরি করুন।
  2. এর ইউটিউব এপিআই কী একীকরণ
  3. Magento 2. পণ্যের ইউটিউব ভিডিও ইউআরএল একীকরণ।

0

ডেক্সিট সঙ্ঘানির উত্তর তারিখ হতে পারে কারণ আমি ম্যাজেন্টো ২.২.২ ভি ব্যবহার করছি এবং এক্সএমএল ডাইনের জন্য অবস্থানটি আমার পক্ষে কাজ করে না [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ইত্যাদি ... আছে ভিডিওতে কাজ করা এখনো!

আশা করি যে কাউকে সাহায্য!

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.