Design the user interfaces
#How to add a new tab in System / Configuration
To add or override a tab in the System Configuration page, you can use our form extensions system. The first step is to create a form extension in your custom bundle. This new extension defines and registers a tab with a label and some content:
'use strict';
/*
* /src/Acme/Bundle/BlogBundle/Resources/public/js/configuration/tab.js
*/
define(['pim/form'],
function (BaseForm) {
return BaseForm.extend({
configure: function () {
this.trigger('tab:register', {
code: this.code,
isVisible: this.isVisible.bind(this),
label: 'My tab'
});
return BaseForm.prototype.configure.apply(this, arguments);
},
render: function () {
this.$el.html('<br> Hello world');
return this;
},
isVisible: function () {
return true;
}
});
}
);
|
Once you create your new tab extension, you have to register it in the requirejs.yml file for your bundle:
# /src/Acme/Bundle/BlogBundle/Resources/config/requirejs.yml
config:
paths:
pim/configuration/tab: acme/js/configuration/tab
Now that your file is registered, you can add the extension to the Configuration page:
# /src/Acme/Bundle/BlogBundle/Resources/config/form_extensions.yml
extensions:
oro-system-config-tab-acme:
module: pim/configuration/tab
parent: oro-system-config-tabs
targetZone: container
position: 110
To see your new tab in the Configuration page your need to clear the PIM cache and run webpack:
rm -rf ./var/cache/*
yarn run webpack
Found a typo or a hole in the documentation and feel like contributing?
Join us on Github!