سؤال

أنا أمد customer address لهذه لا بد لي من ذلك تعديل/تمديد vendor/Magento/module-ui الملفات الأساسية.

أي

root/vendor/magento/module-ui/view/base/web/js/form/components/collection.js

و

root/vendor/magento/module-ui/view/base/web/templates/form/components/collection.html

عندما قمت بتعديل الملفات الأساسية، كان الأمر يعمل بشكل جيد، ولكن هذا ليس إجراء/فكرة جيدة للتوسيع.

لذلك قمت بإنشاء اسم البائع كـ Magento في root/app/code/ ولقد قمت بوضع الملفات المعدلة أعلاه في نفس المجلد محليًا.

أي

root/app/code/magento/module-ui/view/base/web/js/form/components/collection.js

و

root/app/code/magento/module-ui/view/base/web/templates/form/components/collection.html

بعد وضع هذه الملفات قمت بمسح ذاكرة التخزين المؤقت.ولكن لا يزال لا يظهر التغييرات التي أجريتها.

لقد ركضت php bin/magento setup:static-content:deploy الأمر أيضا ولكن لا حظ.

هل يمكن أن توحي لي كيف أفعل هذا؟

هل كانت مفيدة؟

المحلول 2

وأخيرا حققت نفسي.

يخلق requirejs-config.js ملف من التعلم/HelloWorld/عرض/قاعدة والصق الكود أدناه

var config = {
    map: {
        '*': {
            'Magento_Ui/js/form/components/collection':'Learning_HelloWorld/js/form/components/collection'
        }
    }
};

يخلق collection.js ملف من التعلم/HelloWorld/view/base/web/js/form/components ونسخ ولصق الكود الأساسي وتعديله.

   /**
     * Copyright © 2015 Magento. All rights reserved.
     * See COPYING.txt for license details.
     */
    define([
        'underscore',
        'mageUtils',
        'uiRegistry',
        'uiComponent',
        'uiLayout',
        'Magento_Ui/js/modal/confirm'
    ], function (_, utils, registry, Component, layout, confirm) {
        'use strict';

        var childTemplate = {
            parent: '${ $.$data.name }',
            name: '${ $.$data.childIndex }',
            dataScope: '${ $.name }',
            nodeTemplate: '${ $.$data.name }.${ $.$data.itemTemplate }'
        };

        return Component.extend({
            defaults: {
                lastIndex: 0,
                template: 'Learning_HelloWorld/form/components/collection'
            },

/* my custom methods */
            sendAddress: function (elem) {
                var self = this;
                self._sendAddress(elem);
            },

/* my custom methods */
            _sendAddress: function (elem) {


                this.bubble('update');
            }

        });
    });

يخلق collection.html ملف من التعلم/HelloWorld/view/base/web/template/form/components المسار ولصق الكود الأساسي وتعديله

   <div class="ui-tabs">
<!-- My Extra html code -->
     <button type="button" data-bind="click: $parent.sendAddress.bind($parent, element)">
         Send this Address
     </button>
    </div>

الآن قم بتشغيل الأوامر أدناه.

  1. الإعداد: الترقية
  2. الإعداد: محتوى ثابت: نشر

الآن سوف تعمل.

لا تتردد في طرح أي استفسار.

نصائح أخرى

يتم تسجيل وحدة واحدة ضمن مسار واحد، ولهذا السبب يمكن قراءتها من البائع، ولكن لا يمكن قراءتها من التطبيق/الكود.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى magento.stackexchange
scroll top