How can I extend backend extjs?

Hi folks,

I am developing backend plugin, and what I have to do is to extend customer detail page.

For example, when administrator click on the customer, and customer detail page is opened, I want to create another tab called „Markets“ where is going to be a list of markets of that customer.

Thanks in advance!

 

There’s a tutorial at https://developers.shopware.com/developers-guide/backend-extension/#example-#2:-custom-components

In some cases, you also want to add whole new components to a backend module. This example might look similar to the first one, but there are subtle changes. In this example, a new tab is introduced to the customer module ,[…]

 

1 Like

I followed this tutorials, but it didnt work.
 

In the Views dir, there is an structure:
 – backend
 ---- pe_markets
 ------ controller
 ------ model
 ------ store

So, should I create new directory in backend, called for example “pe_customers” and then work in pe_customers/app.js, or I have to work in pe_markets/app.js to create new tab in customer detail page?

You need to share more of your code. How does your event-listener php-function look like? How does your Ext.JS Code look like? Sorry but with this little information we can’t help you. It doesn’t depend on the structure only and the mistake is more likely somewhere else.

Here is my code:

In the tutorial they add a Event-Listener to the Enlight_Controller_Action_PostDispatchSecure_Backend_Customer-Event. That’s missing in your implementation. 

Search for „Enlight_Controller_Action_PostDispatchSecure_Backend_Customer“ in the tutorial and you’ll find the coresponding information.

1 Like

I am going to try it. Will be back with news in few minutes.
Thank you !

Not working again. I am getting an error "SyntaxError: Unexpected token : " as soon as I refresh backend, but as mine eyes can see, there is no such an error :confused:
 

Error is fixed.

I had to name the block in my_own_tab.js file, example:
//{block name=„Shopware.apps.PeCustomers.view.detail.MyOwnTab“}