Как я могу переопределить параметр vendor/magento/module-configurable-product/view/adminhtml/web/js/changes/steps/summary.js на локальный. Я попытался https://magento.stackexchange.com/questions/60276/extending-overriding-js-in-magento-2 это, но не повезлоMagento 2 override admin js file
1
A
ответ
2
Наконец я получил ответ
Я написал модуль, которые содержат requirejs-config.js по пути Vendor/модуль/просмотр/adminhtml/requirejs -config.js и имеющий
var config = {
"map": {
"*": {
"Magento_ConfigurableProduct/js/variations/steps/summary": "Vendor_Module/js/variations/steps/summary-custom",
}
}
}
и в Vendor/модуль/просмотр/adminhtml/веб/JS/изменения/шаги/резюме-custom.js, у меня есть
/** * Copyright © 2016 Magento. All rights reserved. * See COPYING.txt for license details. */ // jscs:disable jsDoc
define([
'uiComponent',
'jquery',
'ko',
'underscore',
'mage/translate',
'Magento_ConfigurableProduct/js/variations/steps/summary'
], function (Component, $, ko, _, $t, summary) {
'use strict';
return Component.extend({
defaults: {
modules: {
variationsComponent: '${ $.variationsComponent }'
},
notificationMessage: {
text: null,
error: null
},
gridExisting: [],
gridNew: [],
gridDeleted: [],
attributes: [],
attributesName: [$.mage.__('Images'), $.mage.__('SKU'), $.mage.__('Quantity'), $.mage.__('Cost'), $.mage.__('Msrp'), $.mage.__('Price')],
sections: [],
gridTemplate: 'Magento_ConfigurableProduct/variations/steps/summary-grid'
},
initObservable: function() {
this._super().observe('gridExisting gridNew gridDeleted attributes sections');
this.gridExisting.columns = ko.observableArray();
this.gridNew.columns = ko.observableArray();
this.gridDeleted.columns = ko.observableArray();
return this;
},
nextLabelText: $.mage.__('Generate Products'),
variations: [],
generateGrid: function (variations, getSectionValue) {
var productSku = this.variationsComponent().getProductValue('sku'),
productPrice = this.variationsComponent().getProductValue('price'),
productWeight = this.variationsComponent().getProductValue('weight'),
variationsKeys = [],
gridExisting = [],
gridNew = [],
gridDeleted = [];
this.variations = [];
_.each(variations, function (options) {
var product, images, sku, quantity, cost, msrp, price, variation,
productId = this.variationsComponent().getProductIdByOptions(options);
if (productId) {
product = _.findWhere(this.variationsComponent().variations, {
productId: productId
});
}
images = getSectionValue('images', options);
sku = productSku + _.reduce(options, function (memo, option) {
return memo + '-' + option.label;
}, '');
quantity = getSectionValue('quantity', options);
if (!quantity && productId) {
quantity = product.quantity;
}
msrp = product.msrp;
cost = product.cost;
price = getSectionValue('price', options);
if (!price) {
price = productId ? product.price : productPrice;
}
if (productId && !images.file) {
images = product.images;
}
variation = {
options: options,
images: images,
sku: sku,
quantity: quantity,
cost: cost,
msrp: msrp,
price: price,
productId: productId,
weight: productWeight,
editable: true
};
if (productId) {
variation.sku = product.sku;
variation.weight = product.weight;
gridExisting.push(this.prepareRowForGrid(variation));
} else {
gridNew.push(this.prepareRowForGrid(variation));
}
this.variations.push(variation);
variationsKeys.push(this.variationsComponent().getVariationKey(options));
}, this);
this.gridExisting(gridExisting);
this.gridExisting.columns(this.getColumnsName(this.wizard.data.attributes));
if (gridNew.length > 0) {
this.gridNew(gridNew);
this.gridNew.columns(this.getColumnsName(this.wizard.data.attributes));
}
_.each(_.omit(this.variationsComponent().productAttributesMap, variationsKeys), function (productId) {
gridDeleted.push(this.prepareRowForGrid(
_.findWhere(this.variationsComponent().variations, {
productId: productId
})
));
}.bind(this));
if (gridDeleted.length > 0) {
this.gridDeleted(gridDeleted);
this.gridDeleted.columns(this.getColumnsName(this.variationsComponent().productAttributes));
}
},
prepareRowForGrid: function (variation) {
var row = [];
row.push(_.extend({
images: []
}, variation.images));
row.push(variation.sku);
row.push(variation.quantity);
row.push(variation.cost);
row.push(variation.msrp);
_.each(variation.options, function (option) {
row.push(option.label);
});
row.push(this.variationsComponent().getCurrencySymbol() + ' ' + variation.price);
return row;
},
getGridTemplate: function() {
return this.gridTemplate;
},
getGridId: function() {
return _.uniqueId('grid_');
},
getColumnsName: function (attributes) {
var columns = this.attributesName.slice(0);
attributes.each(function (attribute, index) {
columns.splice(5 + index, 0, attribute.label);
}, this);
return columns;
},
render: function (wizard) {
this.wizard = wizard;
this.sections(wizard.data.sections());
this.attributes(wizard.data.attributes());
this.gridNew([]);
this.gridExisting([]);
this.gridDeleted([]);
this.generateGrid(wizard.data.variations, wizard.data.sectionHelper);
},
force: function() {
this.variationsComponent().render(this.variations, this.attributes());
$('[data-role=step-wizard-dialog]').trigger('closeModal');
},
back: function() {
}
});
});
Что мне нужно здесь было показать «MSRP» и «стоимость» при редактировании вариации
Смежные вопросы
- 1. Magento 2.0 override admin css (style.css)
- 2. Override контроллер Функция Magento 2
- 3. Magento - Override контроллер порядка
- 4. Override prestashop admin TPL
- 5. Active admin override action
- 6. Magento Model override
- 7. Magento Override сердечника Блок
- 8. admin url auto redirect magento 2
- 9. Ошибка входа в Chrome Admin Magento 2
- 10. Magento widget (product_new) Override
- 11. Magento override enterpirse banner
- 12. Magento Override getPrice()
- 13. Magento Block Override - Report_Filter_Form
- 14. Magento Override Методы доставки
- 15. Magento layout override!
- 16. Magento Admin Category tree
- 17. Symfony Admin Generator title override
- 18. Где я могу найти Magento advance cms admin html file
- 19. Magento hidden css file
- 20. Magento Oauth Класс контроллера Adminhtml Override
- 21. phpbb admin config file
- 22. Override Struts 2 Сообщения
- 23. Symfony 2 translations in external js file
- 24. Не удалось войти Magento Admin
- 25. Override Magento Class (Adminhtml-View)
- 26. Override itemrender в блоке - Magento
- 27. Override/Extend Magento Аннотация класс?
- 28. Override модуль Magento, никакого результата
- 29. Magento IndexController override not working
- 30. Magento admin URL изменен