From de45c841993ac704924f4ec921e506675505af09 Mon Sep 17 00:00:00 2001 From: Amigo <49749100+aamigo@users.noreply.github.com> Date: Mon, 17 Jun 2019 15:00:31 +0200 Subject: [PATCH] Updated 029 How to overwrite the custom fields (markdown) --- 029-How-to-overwrite-the-custom-fields.md | 26 +++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) diff --git a/029-How-to-overwrite-the-custom-fields.md b/029-How-to-overwrite-the-custom-fields.md index 982e22d..6ea9877 100644 --- a/029-How-to-overwrite-the-custom-fields.md +++ b/029-How-to-overwrite-the-custom-fields.md @@ -1,8 +1,26 @@ # HOW TO OVERWRITE THE CUSTOM FIELDS -* ### Using Default Fields With Custom Code +### Using Default Fields With Custom Code -It often happens that you would like to use some of the default fields differently than how component builder is actually implementing it. Now what is the default fields? [00:00:12](https://www.youtube.com/watch?v=FHQfIhWHYyQ&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h00m12s) If you go to add a new admin view or if you go to an admin view that already exists. You'd see that there is this little note above adding fields. It says that the ID, the asset_id, the state, the access, the ordering, the created_by, the date_created, modified_by, date_modified, checked_out, Check_out_time, version, hits, metakey, [00:00:41](https://www.youtube.com/watch?v=FHQfIhWHYyQ&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h00m41s) metadescription, and metadata is already added to the view. +It often happens that you would like to use some of the default fields differently than how component builder is actually implementing it. Now what is the default fields? [00:00:12](https://www.youtube.com/watch?v=FHQfIhWHYyQ&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h00m12s) If you go to add a new admin view or if you go to an admin view that already exists. You'd see that there is this little note above adding fields. It says that the ID, the asset_id, the state, the access, the ordering, the created_by, the date_created, modified_by, date_modified, checked_out, Check_out_time, version, hits, metakey, [00:00:41](https://www.youtube.com/watch?v=FHQfIhWHYyQ&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h00m41s) metadescription, and metadata is already added to the view. These are your default fields that always gets added to the view even if you don't create them. In fact you don't need to create them. I have seen that sometimes you might want to display some of these fields in a different area of the application. Currently the id field and the [00:01:20](https://www.youtube.com/watch?v=FHQfIhWHYyQ&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h01m20s) state field is the only field that is been shown by default in the list view. -???? -so these are your default Fields That always gets added to the view even if you don't create them in fact you don't need to create them But I have seen that sometimes you might want to display some of these fields in a different Area Of the application You see currently The ID field and the published Where is it [00:01:20](https://www.youtube.com/watch?v=FHQfIhWHYyQ&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h01m20s) I think that is State Yeah State field Is the only field that is been shown by Default In the listview So here you can see there is the ID field and there is the states field and the ordering field but the ordering field Obviously Doesn't show the order number you basically click on that button there And then you can move them [00:01:45](https://www.youtube.com/watch?v=FHQfIhWHYyQ&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h01m45s) You know order them so all that is done by Default and so as you can see The sorry The other Values are not displayed in the listview And so I had a client once saying to me that they would like to actually see the date that something was created And also by whom it was created And so I had to adapt component builder so that those things can also be overwritten And this is exactly what we've done What is done is if you create a field In component builder as you would normally create a field and you give it [00:02:23](https://www.youtube.com/watch?v=FHQfIhWHYyQ&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h02m23s) Any of these names you see created by or created date but obviously exactly the same name then it actually will overwrite The default so in this specific view the job order View Excuse me There is a field Created by So I can open that in a new tab there is also a field Created [00:02:57](https://www.youtube.com/watch?v=FHQfIhWHYyQ&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h02m57s) That's basically the date let me just See where it is Oh there it is create a date I'll also open that one So in the Field You see that I basically used The name created by it's obviously a user is the type of field And the label is created by the user that created this is the description [00:03:26](https://www.youtube.com/watch?v=FHQfIhWHYyQ&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h03m26s) And that's all that's needed For a user type Then In the created date Basically it's a calendar type And I used created The date it was created The label and some of its defaults now these values if you don't know them You can actually go and look At the compiled [00:03:51](https://www.youtube.com/watch?v=FHQfIhWHYyQ&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h03m51s) Field Let me show you that So in the backend of your component that is administrator components Then the relevant component You would open models and then there is a place called forms And you would basically open that And you'd see a list Of forms that correspond to the backend views that you've created so now in our case This job order Is the one [00:04:19](https://www.youtube.com/watch?v=FHQfIhWHYyQ&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h04m19s) You're obviously open the XML So you double click on it And then scrolling down You can look at modified by And some of its default So you gonna overwritten I'm sorry overwrite this value Then you need to update or basically use these values here Make sure this is the only part that is You shouldn't change it if you change it [00:04:45](https://www.youtube.com/watch?v=FHQfIhWHYyQ&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h04m45s) We won't know that you're trying to Overwrite one of Default fields because it basically uses the name As the identifier Ok so back here We basically created the fields that was the first part I'll just close them again And then We would like any normal any other field [00:05:08](https://www.youtube.com/watch?v=FHQfIhWHYyQ&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h05m08s) We simply went to fields And we added those Fields So here you would see you scroll down There's the created date and there is the created by We add both to be shown and also the position and how it should be treated And we said it was be in the left tab Of the 15th [00:05:37](https://www.youtube.com/watch?v=FHQfIhWHYyQ&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h05m37s) Oh yeah that's the other thing If you would like the fields to again display in the same place as before in the edit view Then you would add it to the 15th tab I reckoned that its Very unlikely that somebody would create so many tabs Now what is a tab? If you would to go to the view Then this is tab 1 this tab 2 3 4 5 and 6 So Since publishing can really vary [00:06:14](https://www.youtube.com/watch?v=FHQfIhWHYyQ&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h06m14s) It wasn't Making any sense to me that I would Targeted in any way Directly as the 5th of the 4th So I took a very high number 15 It's not very obvious and this is why I had to make this tutorial If you select the number 15 It will basically add these two fields in the same place it would if it had to build it for you But if for some reason you say no I want to also display the field in a different tab You could actually click and say let's say put in in the 3rd tab you click save [00:06:53](https://www.youtube.com/watch?v=FHQfIhWHYyQ&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h06m53s) And and then you would compile The components install it And then You see 1, 2, 3 it's in the third tab It's showing up So That's All You Had to Do as they had to say and what tab you would like it now to display if go here you would see It no longer shows in the publish tab the create date Its only created by that shows up here so it literally moves the field to a different tab [00:07:24](https://www.youtube.com/watch?v=FHQfIhWHYyQ&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h07m24s) As well as Now displays the field In the listview And that Simply because you added the value the fields here you said that you wanted to display and you added to the third tab I'm gonna move it back to 15 Which is the tab number if you wanted to be in its default place So I click save and then save there compile this install it [00:08:03](https://www.youtube.com/watch?v=FHQfIhWHYyQ&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h08m03s) Basically updating the component Refresh the page and now If we go to where it was it's no longer showing there it's not showing there It is not showing there it's back in published in the correct place that's where it Will usually anyway be set if you don't overwrite it so using the 15th tab As the the target Puts it's in default place And if you use another tab number it removes it from its default place and puts it where you have assigned it to be placed well that is how you can overwrite the custom Added fields Fields of a backend View [00:08:49](https://www.youtube.com/watch?v=FHQfIhWHYyQ&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h08m49s) I hope that will be very helpful Thank you for watching +* ### Example Of Shoen Default Fields in List view + +Here you can see there is the id field and there is the state field and the ordering field. The ordering field doesn't show the order number you basically click on that button there(see video), then you can move them and order them [00:01:45](https://www.youtube.com/watch?v=FHQfIhWHYyQ&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h01m45s) All that is done by default. The other values are not displayed in the list view. I had a client once saying to me that they would like to actually see the date that something was created, and also by whom it was created. I had to adapt component builder so that those things can also be overwritten. And this is exactly what we've done. What we have done is if you create a field in component builder, as you would normally create a field and you give it [00:02:23](https://www.youtube.com/watch?v=FHQfIhWHYyQ&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h02m23s) any of these names, created by or created date, but exactly the same name. Then it actually will overwrite the default. + +* ### Example Create_By Field In View + +In this specific job order view, there is a field created-by. I can open that in a new tab, there is also a field created-date. let's open that one. [00:02:57](https://www.youtube.com/watch?v=FHQfIhWHYyQ&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h02m57s) So in the field that I used the name and created_by, it's a user is the type of field. The label is created by, and 'the user that created this' is the description. [00:03:26](https://www.youtube.com/watch?v=FHQfIhWHYyQ&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h03m26s) That's all that's needed for a user type. Then in the created-date, it's a calendar type. I used created, the date, it was created, the label and some of its defaults. + +### Compiled In Code + +These values, if you don't know them, you can actually go and look at the compiled [00:03:51](https://www.youtube.com/watch?v=FHQfIhWHYyQ&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h03m51s) field. So in the back end of your component, open administrator, components, then the relevant component. You would open models and then there is a place called forms, you would open it. And you'd see a list of forms that correspond to the back end views that you've created. Now in our case this job order is the one. [00:04:19](https://www.youtube.com/watch?v=FHQfIhWHYyQ&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h04m19s) You will obviously open the XML. Double click on it, scrolling down. You can look at modified by, and some of its default. So you going to overwrite this value. Then you need to update or use these values. Make sure this is the only part you shouldn't change, if you change it, [00:04:45](https://www.youtube.com/watch?v=FHQfIhWHYyQ&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h04m45s) we won't know that you're trying to overwrite one of the default fields because it uses the name as the identifier. Back in editing the field. We basically created the fields that was the first part. Close them again. + +### Adding The Fields + +We would like any normal, any other field, [00:05:08](https://www.youtube.com/watch?v=FHQfIhWHYyQ&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h05m08s) we simply go to fields, we added those fields. There's the created-date and there is the created-by. We add both to be shown, and also the position and how it should be treated. We set it was be in the left tab of the 15th. [00:05:37](https://www.youtube.com/watch?v=FHQfIhWHYyQ&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h05m37s) + +### Adding In Tabs(default 15 tab) + +The other thing, if you would like the fields to display in the same place as before, in the edit view, then you would add it to the 15th tab. I reckoned that its very unlikely that somebody would create so many tabs. +Now what is a tab? If you would to go to the view, then this is tab 1 this tab 2 3 4 5 and 6(see video). Since publishing can really vary. [00:06:14](https://www.youtube.com/watch?v=FHQfIhWHYyQ&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h06m14s) It wasn't making any sense to me that I would targeted in any way directly as the 5th of the 4th. So I took a very high number 15. If you select the number 15, it will add these two fields in the same place it would if it had to build it for you. But if for some reason you say no I want to also display the field in a different tab, you could click and put in the 3rd tab, you click save, [00:06:53](https://www.youtube.com/watch?v=FHQfIhWHYyQ&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h06m53s) then you compile the components, install it. You will see 1, 2, 3, it's in the third tab, it's showing up. That's all you had to do as they had to say and what tab you would like it now to display. If you go here(publishing) you would see the create date no longer shows in the publish tab. Its only created by that shows up here. It literally moves the field to a different tab, [00:07:24](https://www.youtube.com/watch?v=FHQfIhWHYyQ&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h07m24s) as well as displays the field in the list view. Simply because you added the fields here(see video), you set that you wanted to display and you added to the third tab. I'm going to move it back to 15. Which is the tab number if you wanted to be in its default place. I click save and then save there, compile this, install it. [00:08:03](https://www.youtube.com/watch?v=FHQfIhWHYyQ&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h08m03s) Basically updating the component. Refresh the page, if we go to where it was, it's no longer showing there(documents), it's not showing there(production), It is not showing there(stock list), it's back in published in the correct place. That's where it will be set if you don't overwrite it. Using the 15th tab as the the target puts it's in default place. If you use another tab number, it removes it from its default place, and puts it where you have assigned it to be placed. That is how you can overwrite the custom added fields, fields of a back end view. [00:08:49](https://www.youtube.com/watch?v=FHQfIhWHYyQ&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h08m49s) I hope that will be very helpful. \ No newline at end of file