একটি কাস্টম মডিউল ব্যবহার করে একটি এইচটিএমএল ফাইল ওভাররাইড করবেন কীভাবে?


20

আমি Magento 2 এ অর্থপ্রদানের পদ্ধতির জন্য একটি কাস্টম মডিউল বিকাশ করছি বর্তমানে, আমি সেন্সর-ফর্ম html ব্যবহার করছি বিক্রেতা ডিরেক্টরি থেকে এবং মডিউলটি সূক্ষ্মভাবে কাজ করছে। নীচের পথ দেখুন:

বিক্রেতা / Magento / মডিউল পেমেন্ট / দৃশ্য / ফ্রন্টএন্ড / ওয়েব / টেমপ্লেট / পেমেন্ট / CC-form.html

এইচটিএমএল ফাইলকে ওভাররাইড করার কোনও উপায় আছে?

দ্রষ্টব্য: আমি এটি একটি কাস্টম এক্সটেনশান ব্যবহার করে ওভাররাইড করতে চাই। নীচের পথ দেখুন:

অ্যাপ্লিকেশন / কোড / নামস্থান / মডিউল / দৃশ্য / ফ্রন্টএন্ড / ওয়েব / টেমপ্লেট / পেমেন্ট / CC-form.html

কোন সাহায্য প্রশংসা করা হবে। ধন্যবাদ!


আপনি কখন এই ফর্মটি ব্যবহার করেছেন, দয়া করে লিঙ্ক বা মানচিত্রের সাইটটি দেখান।
মিঃ টো-কেন

উত্তর:


34

কাজ সমাধান।

কেবল নীচের পথ থেকে প্রয়োজনীয়js-config.js ফাইল তৈরি বা সম্পাদনা করুন।

/app/code/Namespace/Module/view/frontend/requirejs-config.js

কোডের নীচে প্রয়োজনীয়js-config.js এ রাখুন

var config = {
    map: {
        '*': {
          'Magento_Payment/template/payment/cc-form.html': 
              'Namespace_Module/template/payment/cc-form.html'
        }
  }
};

সুতরাং আমরা এই জাতীয় কোনও HTML ফাইলকে ওভাররাইড করতে পারি over


মডিউল বিক্রয় ইমেল টেমপ্লেট এইচটিএমএল ফাইলের জন্য কাজ করে না?
ফুডু

14

আপনি কেবল আপনার থিম পেমেন্ট মডিউলের ভিতরে আপনার সিসি-ফর্ম। Html ফাইল যুক্ত করতে পারেন।

<mage_dir>/app/design/frontend/{Package}/{themename}/Magento_Payment/web/template/payment/cc-form.html

আপনি উপরের জায়গায় আপনার প্রয়োজনীয়তা অনুসারে পরিবর্তন করতে পারেন।

রুট থেকে var ফোল্ডার সরান এবং ফোল্ডার সরান pub/static/frontend

আপনার অবশ্যই রান কমান্ড থাকতে হবে php bin/magento setup:static-content:deploy

আপনার ব্রাউজারের ক্যাশে সাফ করুন এবং চেক করুন।


আমি জানি যদি আমি আমার থিমের অধীনে সিসি-ফর্ম এইচটিএমএল রাখি তবে এটি ঠিকঠাক হবে। তবে আমি এক্সটেনশন তৈরি করছি যাতে আমি এটি থিমের আওতায় রাখতে পারি না। আমার অবশ্যই এই ফাইলটি মডিউলের ডিরেক্টরিতে রাখতে হবে।
মকওয়ানা কেতন 25'16

1
ধন্যবাদ রাকেশ। আমি সমাধানটি স্ট্যাকওভারফ্লো
প্রশ্নগুলি /

9

গৃহীত সমাধানটি ঠিক, তবে আমি এখানে "স্ট্যাক ওভারফ্লো" (খুব ভালভাবে ব্যাখ্যা করা) থেকে সম্পূর্ণ @ অ্যান্টজুজের উত্তরটি অনুলিপি করছি :

হ্যা এখানে. স্ট্যাটিক সম্পত্তির পথটি কীভাবে নির্মিত তা দেখতে আপনি পাব স্ট্যাটিকের মধ্যে দেখতে পারেন।

কিভাবে এটা কাজ করে

প্রতিটি সম্পদ এটির enter code here"প্রয়োজনীয় জেএস আইডি" দ্বারা পৃষ্ঠা থেকে অ্যাক্সেসযোগ্য । এটি বাস্তব পথের মতো, তবে বৈচিত্র্যময়।

উদাহরণস্বরূপ ফাইল http://magento.vg/static/adminhtml/Magento/backend/en_US/Magento_Theme/favicon.ico

এটা আসল পথ /app/code/Magento/Theme/view/adminhtml/web/favicon.ico। এটি প্রয়োজনীয় জেএস আইডি হয় Magento_Theme/favicon.ico। এর অর্থ এই যে ফাইলটি require("text!Magento_Theme/favicon.ico")অনুরূপ কমান্ডের মাধ্যমে অ্যাক্সেসযোগ্য ।

আপনি দেখতে পাচ্ছেন যে প্রয়োজনীয় জেএস আইডিটিতে মডিউল নাম এবং পথের দরকারী অংশ (ফোল্ডারের পরে web) রয়েছে।

আমি কীভাবে কোনও ফাইল প্রতিস্থাপন করতে পারি

সুতরাং আপনি ফাইল আছে
vendor/magento/module-payment/view/frontend/web/template/payment/cc-form.html

পৃষ্ঠায় এটি src হিসাবে লোড হয়েছে
http://magento.vg/static/frontend/Magento/luma/en_US/Magento_Payment/template/payment/cc-form.html

সুতরাং এটির রিকোয়ারজেএস আইডি
Magento_Payment/template/payment/cc-form.html

পার্শ্ব নোট: ভিতরে UI উপাদান স্টাফ এটি সমান Magento_Payment/payment/cc-form। "টেমপ্লেট" এবং ".html" শব্দগুলি স্বয়ংক্রিয়ভাবে যুক্ত হয়।

এবং এখন আপনি প্রয়োজনীয় জেএস কনফিগারেশনের মাধ্যমে এই ফাইলটি অ্যাপ্লিকেশনটির জন্য প্রতিস্থাপন করতে পারেন

var config = {
  "map": {
    "*": {
      "Magento_Payment/template/payment/cc-form.html": 
          "<OwnBrand>_<OwnModule>/template/payment/cc-form.html"
    }
  }
};

আপনার কোডটি স্নিপেট requirejs-config.jsআপনার মডিউলে ফাইলের মধ্যে রাখবে। এটাই সব।

সম্ভবত এটি যেমন ঘটেছিল তেমন কাউকে বুঝতে সহায়তা করবে।


আপনি এই এইচটিএমএলের জন্য জেএস ফাইলটি কীভাবে যুক্ত এবং পরিবর্তন করতে পারেন
জিবিন জর্জে

4

আমি জানি না যে Magento2 এর কোন সংস্করণ এটির প্রয়োজন হয় তবে আপনি যদি Magento_Ui মডিউল থেকে টেমপ্লেটটিকে ওভাররাইড করতে চান তবে আপনাকে এই জাতীয় পথ সরবরাহ করতে হবে:

var config = {
    map: {
        "*": {
            'ui/template/form/element/select.html':'Vendor_Module/templates/form/element/select.html'
        }
    }
};

কারণ এই ফাইলটিতে:

বিক্রেতা / Magento / মডিউল-ui এ / দৃশ্য / বেস / requirejs-config.js

পাথ ম্যাপিং রয়েছে:

/**
 * Copyright © Magento, Inc. All rights reserved.
 * See COPYING.txt for license details.
 */

var config = {
    paths: {
        'ui/template': 'Magento_Ui/templates'
    },
    map: {
        '*': {
            uiElement:      'Magento_Ui/js/lib/core/element/element',
            uiCollection:   'Magento_Ui/js/lib/core/collection',
            uiComponent:    'Magento_Ui/js/lib/core/collection',
            uiClass:        'Magento_Ui/js/lib/core/class',
            uiEvents:       'Magento_Ui/js/lib/core/events',
            uiRegistry:     'Magento_Ui/js/lib/registry/registry',
            consoleLogger:  'Magento_Ui/js/lib/logger/console-logger',
            uiLayout:       'Magento_Ui/js/core/renderer/layout',
            buttonAdapter:  'Magento_Ui/js/form/button-adapter'
        }
    }
};
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.