Özel bir modül kullanarak bir HTML dosyasını nasıl geçersiz kılabilirim?


20

Magento 2 ödeme yöntemi için özel bir modül geliştiriyorum. Şu anda, satıcı dizin ve modül iyi çalışıyor cc-form.html kullanıyorum . Aşağıdaki yola bakın:

satıcı / Magento / modül-ödeme / görüş / kullanıcı arayüzü / web / şablon / ödeme / cc-form.html

HTML dosyasını geçersiz kılmanın herhangi bir yolu var mı?

Not: Özel bir uzantı kullanarak geçersiz kılmak istiyorum. Aşağıdaki yola bakın:

Uygulamanın / kod / Namespace / Modül / görünüm / kullanıcı arayüzü / web / şablon / ödeme / cc-form.html

Herhangi bir yardım mutluluk duyacağız. Teşekkür ederim!


bu formu ne zaman kullandınız, lütfen bağlantıyı veya harita sitesini gösterin.
MrTo-Kane

Yanıtlar:


34

Çalışma çözümü.

Sadece aşağıdaki yoldan requirjs-config.js dosyası oluşturun veya düzenleyin.

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

Ve kodun altında requirjs-config.js dosyasına yerleştirin

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

Böylece herhangi bir html dosyasını bu şekilde geçersiz kılabiliriz.


modül satışlarında e-posta şablonu html dosyası için çalışmıyor?
fudu

14

Cc-form.html dosyanızı tema ödeme modülünüzün içine ekleyebilirsiniz.

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

Yukarıdaki yerde gereksinimlerinize göre değiştirebilirsiniz.

Kaldır var kökü ve kaldırma klasörü pub/static/frontendklasöründe.

Çalıştır komutuna sahip olmalısınız php bin/magento setup:static-content:deploy

Tarayıcı önbelleğinizi temizleyin ve kontrol edin.


Temamın altına cc-form.html yerleştirirsem iyi çalışacağını biliyorum. ama ben tema altında yerleştiremiyorum bu yüzden uzantı oluşturuyorum. Bu dosyayı modül dizini altına koymak zorunda.
Makwana Ketan

1
Teşekkürler rakesh. Çözümü stackoverflow.com/questions/37430036/…
Makwana Ketan

9

Kabul edilen çözüm doğru, ama ben burada "Stack Overflow" (çok iyi açıklanmış) tam @AntonGuz cevap kopyalayın :

Evet var. Statik varlığa giden yolun nasıl oluşturulduğunu görmek için pub static'e bakabilirsiniz.

Nasıl çalışır

Her öğeye sayfadan enter code here"RequireJS ID" ile erişilebilir . Gerçek yola benzer, ancak çeşitlidir.

Örneğin dosya http://magento.vg/static/adminhtml/Magento/backend/en_US/Magento_Theme/favicon.ico.

Gerçek yolu /app/code/Magento/Theme/view/adminhtml/web/favicon.ico. It adlı RequireJS kimliğidir Magento_Theme/favicon.ico. Bu, dosyaya require("text!Magento_Theme/favicon.ico")veya benzer bir komutla erişilebileceği anlamına gelir .

Bunu bulabilirsiniz RequireJS kimlik modülü adı ve (klasörün sonra yolun kullanışlı bölümüyle oluşur web).

Bir dosyayı nasıl değiştirebilirim?

Yani dosyanız var
vendor/magento/module-payment/view/frontend/web/template/payment/cc-form.html

Src ile yüklenen sayfada
http://magento.vg/static/frontend/Magento/luma/en_US/Magento_Payment/template/payment/cc-form.html

Yani RequireJS Kimliği
Magento_Payment/template/payment/cc-form.html

Yan not: İç UI bileşenleri buna eşittir Magento_Payment/payment/cc-form. "Template" ve ".html" kelimeleri otomatik olarak eklenir.

Ve şimdi bu dosyayı uygulama için RequireJS config ile değiştirebilirsiniz

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

requirejs-config.jsModülünüzde dosyaya yerleştirdiğiniz bu kod snippet'i . Hepsi bu.

Belki birisinin meydana geldiğini anlamasına yardımcı olacaktır.


Bu html için JS dosyasını nasıl ekler ve değiştirirsiniz
jibin george

4

Magento2'nin hangi sürümünün gerekli olduğunu bilmiyorum ama Magento_Ui modülünden şablonu geçersiz kılmak istiyorsanız, böyle bir yol sağlamanız gerekir:

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

Çünkü bu dosyada:

satıcı / Magento / modül ui / görünüşüdür / baz / requirejs-config.js

Yol eşleme var:

/**
 * 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'
        }
    }
};
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.