Updated 028 How to change exported values and setup custom import options (markdown)

Amigo 2019-06-14 16:16:53 +02:00
parent 070ce96ffb
commit b8dcc4383a

@ -23,7 +23,12 @@ is, it have this getExportdata method in the model. This getExportdata method ha
### Admin View - PHP - (GetListQuery)
Let's see where this custom scripting is done. If you got your admin view open, you go to PHP and then you scroll down until you see the method it says getListQuery - JModellist. That's the [00:05:43](https://www.youtube.com/watch?v=fau5mZ6naLc&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h05m43s) one and you'd set yes. The code, you put in here, is added both to the getListQuery, as well as to the exportquery. If you want to change the values that are being exported, but not the values that's being shown in your component, you will be doing it in the same area. So going back here you'd see that it's that's the same code over here that is also added over here. You will see that's the same code. [00:06:22](https://www.youtube.com/watch?v=fau5mZ6naLc&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h06m22s) If you were for example in here(see video), you wanted to change some value, you could do that by simply adding another lookup or something, and you add this export is true. Now to see where all this export = true is appearing. We would go to any list model and we would search and see there it is. [00:06:55](https://www.youtube.com/watch?v=fau5mZ6naLc&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h06m55s) And there it is again. We are now in the getExportdata, we are in the area, where is looking, remember we showed you in the previous tutorial how to add some customisation to your values in the listview, some HTML, well here we are asking if the export set? or is it true? Then Don't do this. Don't add this feature here. [00:07:25](https://www.youtube.com/watch?v=fau5mZ6naLc&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h07m25s) We are avoiding adding this customisation of coloring because we don't wanted to run when we are exporting. We only wanted the values. Again you can see we're using the export values. So those are the places where the export function is coming in to play, and how we can by using this [00:07:53](https://www.youtube.com/watch?v=fau5mZ6naLc&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h07m53s) _export we are able to identify whether it's an export or not. If it is we can make the changes to the values as we like. Then going back to our back end just to show you this(PHP) is the place where we did the query. And this is the place - before the translation fix, decryption. We are checking whether we are doing an export. And so you could literally take that(see video) [00:08:30](https://www.youtube.com/watch?v=fau5mZ6naLc&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h08m30s) and say instead of the exclamation that if the export 'isset' and export is true, then over here do your thing in that area there.
Let's see where this custom scripting is done. If you got your admin view open, you go to PHP and then you scroll down until you see the method it says getListQuery - JModellist. That's the [00:05:43](https://www.youtube.com/watch?v=fau5mZ6naLc&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h05m43s) one and you'd set yes. The code, you put in here, is added both to the getListQuery, as well as to the exportquery. If you want to change the values that are being exported, but not the values that's being shown in your component, you will be doing it in the same area. So going back here you'd see that it's that's the same code over here that is also added over here. You will see that's the same code. [00:06:22](https://www.youtube.com/watch?v=fau5mZ6naLc&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h06m22s) If you were for example in here(see video), you wanted to change some value, you could do that by simply adding another lookup or something, and you add this export is true. Now to see where all this export = true is appearing. We would go to any list model and we would search and see there it is. [00:06:55](https://www.youtube.com/watch?v=fau5mZ6naLc&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h06m55s) And there it is again. We are now in the getExportdata, we are in the area, where is looking, remember we showed you in the previous tutorial how to add some customisation to your values in the listview, some HTML, well here we are asking if the export set? or is it true? Then Don't do this. Don't add this feature here. [00:07:25](https://www.youtube.com/watch?v=fau5mZ6naLc&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h07m25s) We are avoiding adding this customisation of coloring because we don't wanted to run when we are exporting. We only wanted the values. Again you can see we're using the export values. So those are the places where the export function is coming in to play, and how we can by using this [00:07:53](https://www.youtube.com/watch?v=fau5mZ6naLc&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h07m53s) _export we are able to identify whether it's an export or not. If it is we can make the changes to the values as we like. Then going back to our back end just to show you this(PHP) is the place where we did the query. And this is the place - before the translation fix, decryption. We are checking whether we are doing an export. And so you could literally take that(see video) [00:08:30](https://www.youtube.com/watch?v=fau5mZ6naLc&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h08m30s) and say instead of the exclamation that if the export 'isset' and export is true, then over here do your thing in that area there. That is if you want to change the values before translation or before decryption or if you want to you can do it after that. So after all was done you want to change the values [00:09:18](https://www.youtube.com/watch?v=fau5mZ6naLc&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h09m18s) on an export. Then you can add it there. And that is really as simple as it is. Adding a change to your exported values.
### Import Features Explained
???That is if you want to change the values before translation or before decryption or if you want to you can do it after After that So after all was done You wanna change the values [00:09:18](https://www.youtube.com/watch?v=fau5mZ6naLc&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h09m18s) On an export Then you can add it there And that is really as simple as it is Adding a Change to your exported values Now If you want to then Have a different import Type as usual Usually to import values you just [00:09:40](https://www.youtube.com/watch?v=fau5mZ6naLc&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h09m40s) Update these right and if you leave the ID in it updates if you take the ID out It creates So without an ID it will create With an ID it will update Now let's say you say we you know what I actually don't wanna use the IDs I want to use these values instead And then you need to create a custom import concept now we have tried to make that Easy as possible and yet I'm sorry to say that it's still quite complex [00:10:13](https://www.youtube.com/watch?v=fau5mZ6naLc&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h10m13s) So You basically go to custom import And then obviously there is a little warning here Because it is quite daunting You that there yes And it will load Into these areas The actual script That are used by Default In these various concepts [00:10:38](https://www.youtube.com/watch?v=fau5mZ6naLc&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h10m38s) Now if you do not understand what you seeing here Then I suppose you should rather not be trying to do this Or you should Then seek some Classes maybe from lynda.com or elsewhere I think Udome it's also a good place Sort of sharpen up some of your PHP skills And Then you could make changes to this for example maybe just take out that chunk And [00:11:09](https://www.youtube.com/watch?v=fau5mZ6naLc&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h11m09s) Then Do a search You know so put something in you can find like Your name or whatever And then save this and compile it And then go and search where does this come up Where does this come out what what is happening And then Obviously You'd realize that [00:11:31](https://www.youtube.com/watch?v=fau5mZ6naLc&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h11m31s) We don't completely remove the default Import method When you do this kind of Changes There is a way that you could make these changes And have two import methods next to each other It's not that easy but it's possible and it all depends on really What you doing and where is it now not save area But [00:11:59](https://www.youtube.com/watch?v=fau5mZ6naLc&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h11m59s) This area the HTML and PHP View area So it depends on what you do in the view so currently this is set up to do your normal Import as you would usually do So changing this will also change your normal import concept Ok so That is how you would In this area you would Change your custom import concept Please read through the code Maybe compile it [00:12:33](https://www.youtube.com/watch?v=fau5mZ6naLc&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h12m33s) Go look at what it's done Look around see how the default import and Concepts work And then make your changes accordingly I have used this area quite a lot for various applications Because sometimes you have a user that says to you or client I want to import these sets of Csv files and they are like 4000 or 40000 lines and it needs to select only specific values [00:13:06](https://www.youtube.com/watch?v=fau5mZ6naLc&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h13m06s) Well in that case this area is definitely what you looking for And you'll be able to actually adapt your import concept to accommodate those kind of complexity Well that is how to Change export values and create custom import values For any field View in the backend of your component So literally changing how that button behaves and how that one behaves is what I have just shown you. Thank you for watching.
Now if you want to have a different import type as usual. Usually to import values you just [00:09:40](https://www.youtube.com/watch?v=fau5mZ6naLc&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h09m40s) update these. If you leave the id in it updates, if you take the id out it creates. Now let's say I don't want to use the ids I want to use these values instead. And then you need to create a custom import concept. We have tried to make that easy as possible and yet it's still quite complex. [00:10:13](https://www.youtube.com/watch?v=fau5mZ6naLc&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h10m13s)
### Custom Import Tab(default import code)
You basically go to custom import. There is a little warning, because it is quite daunting. You add there yes, and it will load into these areas, the actual script that are used by default in these various concepts. [00:10:38](https://www.youtube.com/watch?v=fau5mZ6naLc&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h10m38s) If you do not understand what you seeing here, I suppose you should rather not be trying to do this or you should seek some classes from lynda.com or elsewhere. Udome it's also a good place sharpen up some of your PHP skills. Then you could make changes to this, for example take out that chunk, [00:11:09](https://www.youtube.com/watch?v=fau5mZ6naLc&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h11m09s) then do a search, put something in you can find like your name or whatever. Save and compile it. Go and search where does this come up? Where does this come out? What is happening? You'd realize that [00:11:31](https://www.youtube.com/watch?v=fau5mZ6naLc&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h11m31s) we don't completely remove the default import method when you do this kind of changes. There is a way that you could make these changes, and have two import methods next to each other. It's not that easy but it's possible and it all depends on what you are doing in [00:11:59](https://www.youtube.com/watch?v=fau5mZ6naLc&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h11m59s) this HTML and PHP view area. So it depends on what you do in the view. Currently this is set up to do your normal import as you would usually do. Changing this will also change your normal import concept. That is how you would Change your custom import concept. Please read through the code. Maybe compile it. [00:12:33](https://www.youtube.com/watch?v=fau5mZ6naLc&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h12m33s) Go look at what it's done. Look around see how the default import and concepts work. Then make your changes accordingly. I have used this area quite a lot for various applications, because sometimes you have a user that says to you or a client, I want to import these sets of csv files, and they are like 4000 or 40000 lines and it needs to select only specific values. [00:13:06](https://www.youtube.com/watch?v=fau5mZ6naLc&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h13m06s) Well in that case this area is definitely what you looking for. You'll be able to adapt your import concept to accommodate those kind of complexity. Well that is how to change export values and create custom import values for any field view in the back end of your component. So literally changing how that button behaves and how that one behaves is what I have just shown you.