From 2dc21a156f665819468e312631ad90f0ed939dda Mon Sep 17 00:00:00 2001 From: Amigo <49749100+aamigo@users.noreply.github.com> Date: Fri, 7 Jun 2019 12:35:53 +0200 Subject: [PATCH] Updated 010 Component Settings (markdown) --- 010-Component-Settings.md | 41 +++++++++++++++++++++++---------------- 1 file changed, 24 insertions(+), 17 deletions(-) diff --git a/010-Component-Settings.md b/010-Component-Settings.md index 619c03b..4efcb45 100644 --- a/010-Component-Settings.md +++ b/010-Component-Settings.md @@ -19,10 +19,7 @@ This custom admin menu is basically what I use to the map the compiler menu. I w **Adding Custom Config Fields** -A quick overview of the area called config. This area deals with something that is actually quite useful. That is to set up your back end global fields. [00:07:42](https://www.youtube.com/watch?v=V2WkTjNFjvo&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h07m42s) Let me go to sermon distributor. There we've done some really amazing things.Go to 'Sermon distributor', 'settings' and then 'config'. As you can see it is a very long list of things. If we go to the actual component, let me open it and then I'll click on options. [00:08:25](https://www.youtube.com/watch?v=V2WkTjNFjvo&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h08m25s) You will see that it has many tabs. <<<<<< - - - +A quick overview of the area called config. This area deals with something that is actually quite useful. That is to set up your back end global fields. [00:07:42](https://www.youtube.com/watch?v=V2WkTjNFjvo&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h07m42s) Let me go to sermon distributor. There we've done some really amazing things.Go to 'Sermon distributor', 'settings' and then 'config'. As you can see it is a very long list of things. If we go to the actual component, let me open it and then I'll click on options. [00:08:25](https://www.youtube.com/watch?v=V2WkTjNFjvo&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h08m25s) You will see that it has many tabs. **Custom Switches Using Sermon Component** @@ -42,31 +39,41 @@ To add fields to the config area, you first need to add that field to fields. [0 **Spacer HR Field In Component Fields** -Then there is 'spacer hr'. [00:13:24](https://www.youtube.com/watch?v=V2WkTjNFjvo&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h13m24s) You can see that I have that 'spacer hr' quite often. It's a field that will be included in the paid version of component builder. It already has that 'spacer hr' in it, since you can use the same spacer over and over. The system automatically increment it, it doesn't have conflict in name conventions. I'm just using the same spacer every where. Putting spacers which is this little line [00:14:01](https://www.youtube.com/watch?v=V2WkTjNFjvo&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h14m01s) you see that line there. It's very small but it gives a space between these areas. That is why I'm doing that. You can also put default values which will be used during installation of the component. If you have switches in your config that you want to populate with default values, you should just add those values here. [00:14:27](https://www.youtube.com/watch?v=V2WkTjNFjvo&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h14m27s) Then during the install, those values will be added to the database and component builder puts all that in place for you. This(see video) is where you add the config fields. <<<<<<<<<<<<<<<<<< - - - - - - +Then there is 'spacer hr'. [00:13:24](https://www.youtube.com/watch?v=V2WkTjNFjvo&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h13m24s) You can see that I have that 'spacer hr' quite often. It's a field that will be included in the paid version of component builder. It already has that 'spacer hr' in it, since you can use the same spacer over and over. The system automatically increment it, it doesn't have conflict in name conventions. I'm just using the same spacer every where. Putting spacers which is this little line [00:14:01](https://www.youtube.com/watch?v=V2WkTjNFjvo&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h14m01s) you see that line there. It's very small but it gives a space between these areas. That is why I'm doing that. You can also put default values which will be used during installation of the component. If you have switches in your config that you want to populate with default values, you should just add those values here. [00:14:27](https://www.youtube.com/watch?v=V2WkTjNFjvo&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h14m27s) Then during the install, those values will be added to the database and component builder puts all that in place for you. This(see video) is where you add the config fields. **Tab - View Names Fields added to Site Menu** -And there is another convention which is maybe not that obvious, [00:14:51](https://www.youtube.com/watch?v=V2WkTjNFjvo&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h14m51s) but I added a convention that if you use a tab name, which is exactly the same as a front end view then I will add this field to that front end views menu. -[00:15:13](https://www.youtube.com/watch?v=V2WkTjNFjvo&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h15m13s) If you think about Joomla's Content Manager, it does the same thing. In the global setting of your article manager you can set features for categories and for articles. But if you create a new article in a menu item, then you can overwrite those, you can say use global or you can overwrite them. This feature of using the same tab name, this features name is [00:15:48](https://www.youtube.com/watch?v=V2WkTjNFjvo&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h15m48s) switch, preacher whether it should be a table or a grid. We set the default 2, and we called it preachers plural. That's quite important. Let's look at the front. Here I have a bunch of menus. [00:16:09](https://www.youtube.com/watch?v=V2WkTjNFjvo&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h16m09s) I'm going to go to a menu that I've already created called preachers. And then I'm also going to go to components back end, called preachers. So you see there is a list of items. All I did in the component builder, is I simply added, the name preacher as a tab name. That's all I did and then the fields. There is the list of the fields(see video), from there to there. [00:16:41](https://www.youtube.com/watch?v=V2WkTjNFjvo&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h16m41s) These fields I simply created in the field area with field types. It is some radio buttons. A drop down list, another drop down list, and again some radio buttons. These are the fields. Then in the view, if you click on sermon distributor, you will see those exact same fields. It has the option of using the global [00:17:07](https://www.youtube.com/watch?v=V2WkTjNFjvo&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h17m07s) instead. There it says 'used global' or you can overwrite it. You can decide in this specific admin view if I want to use grid and not the global option. + [00:14:51](https://www.youtube.com/watch?v=V2WkTjNFjvo&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h14m51s) I added a convention that is not that obvious. If you use a tab name, which is exactly the same as a front end view then it will add this field to that front end views menu. +[00:15:13](https://www.youtube.com/watch?v=V2WkTjNFjvo&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h15m13s) If you think about Joomla's Content Manager, it does the same thing. In the global setting of your article manager you can set features for categories and articles. But if you create a new article in a menu item, then you can overwrite those, you can say use 'global' or you can overwrite them. -That whole system of adding this extra features to every item view of the front end, is integrated simply by a convention. If the front end is called preachers which in this case it is, as you can see there, it's called preacher, see I just selected a menu item called preachers. We haven't dealt with setting up your site views and all that so this might be [00:17:47](https://www.youtube.com/watch?v=V2WkTjNFjvo&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h17m47s) how did you get that item name right in everything. But I'm trying to sketch a picture which we will revisit when we eventually get to this area. But just that you know from where it comes it's simply in the config. I added the files and used to convention of the actual front end page, it has a name called preachers. There is as well for preacher which is single. [00:18:15](https://www.youtube.com/watch?v=V2WkTjNFjvo&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h18m15s) If I closed out, select sermon distributor and then select preacher. Which is another view. Then I clicked here(sermon distributor) you see all these switches. They are also mapped in here, from there all the way to there. They have some default values in there. There are the [00:18:43](https://www.youtube.com/watch?v=V2WkTjNFjvo&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h18m43s) fields. In the back end of the component, if I click on preacher, here is the same fields. You can set global settings and then you can overwrite them in the menu itself by not using global. This whole feature is possible through this config little tab. It looks insignificant I suppose [00:19:08](https://www.youtube.com/watch?v=V2WkTjNFjvo&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h19m08s) and you might not expect it like I said it's not that obvious that it does this, but that is what it is doing. And so as you can see all of those certain areas I just mapped it in config. Because of the name of the tab, let me stress that, because of the name of the tab, the system knows this is related to any front end menus as well. Therefore it will automatically create those front end things for you. + +This feature of using the same tab name,(See video) this features name is [00:15:48](https://www.youtube.com/watch?v=V2WkTjNFjvo&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h15m48s) 'preacher/ switch' whether it should be a table or a grid. We set the default 2, and we called it preachers plural. That is quite important. Let's look at the front. Here I have a bunch of menus. [00:16:09](https://www.youtube.com/watch?v=V2WkTjNFjvo&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h16m09s) I'm going to go to a menu that I've already created called 'preachers' and I'm also going to go to the components back end, called 'preachers'. So you see there is a list of items. All I did in the component builder, is I simply added, the name 'preacher' as a tab name. That's all I did and then the fields. There is the list of the fields(see video), from there to there. [00:16:41](https://www.youtube.com/watch?v=V2WkTjNFjvo&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h16m41s) These fields I simply created in the field area with field types. It is some radio buttons, a drop down list, another drop down list, and again some radio buttons. These are the fields. Then in the view, if you click on sermon distributor, you will see those exact same fields. It has the option of using the global [00:17:07](https://www.youtube.com/watch?v=V2WkTjNFjvo&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h17m07s) instead. There it says 'used global' or you can overwrite it. You can decide in this specific admin view if I want to use 'grid' and not the 'global' option. + +That whole system of adding this extra features to every item view of the front end, is integrated simply by a convention. If the front end is called 'preachers' which in this case it is, as you can see there, it's called 'preacher', see I just selected a menu item called preachers. We haven't dealt with setting up your site views and all that so this might be [00:17:47](https://www.youtube.com/watch?v=V2WkTjNFjvo&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h17m47s) how did you get that item name right in everything. But I'm trying to sketch a picture which we will revisit when we eventually get to this area. But just that you know from where it comes it's simply in the config. I added the files and used the convention of the actual front end page, it has a name called preachers, so there is the same for preacher which is single. [00:18:15](https://www.youtube.com/watch?v=V2WkTjNFjvo&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h18m15s) If 'sermon distributor' is selected and then 'preacher', which is another view. If I click 'sermon distributor' all the switches will be mapped out. (see video) They have some default values . There are the [00:18:43](https://www.youtube.com/watch?v=V2WkTjNFjvo&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h18m43s) fields. In the back end of the component, if I click on preacher, here is the same fields. You can set global settings and then you can overwrite them in the menu itself by not using global. This whole feature is possible through this config little tab. It looks insignificant I suppose [00:19:08](https://www.youtube.com/watch?v=V2WkTjNFjvo&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h19m08s) and you might not expect it like I said it's not that obvious that it does this, but that is what it is doing and so as you can see all of those certain areas I have just mapped in config. + + NB. Because of the name of the tab, the system knows this is related to any front end menus as well. Therefore it will automatically create those front end things for you. **Site View Explanation Of Above Tabs** -Now to show you how it is done it's quite simple. [00:19:47](https://www.youtube.com/watch?v=V2WkTjNFjvo&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h19m47s) Not that I want to teach you how the Joomla API works but I want you to at least know what is it doing. I'm going to go to the front of this component. I'm going to open that view, preachers. And you'd see in template, there is a extra file called Default XML. Then I'll open that default XML. All what component builder is doing, it is adding the convention to this file. [00:20:18](https://www.youtube.com/watch?v=V2WkTjNFjvo&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h20m18s) If you're running into troubles and it's not working as you expected, this is the file in which you can come and look to see what's happening. That is in the front end. In views. In the specific view that you have, it must be this view, must be the tab name. In that file called default XML. [00:20:41](https://www.youtube.com/watch?v=V2WkTjNFjvo&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h20m41s) +Here is something about how Joomla API work [00:19:47](https://www.youtube.com/watch?v=V2WkTjNFjvo&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h19m47s) At the front of this component, if the view , 'Preachers' is opened you will see in the template, there is a extra file called 'Default XML'. Then I'll open that 'default XML'. Now Component Builder adds the convention to this file. [00:20:18](https://www.youtube.com/watch?v=V2WkTjNFjvo&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h20m18s) + +(If you're running into troubles and it's not working as you expected, this is the file in which you can come and look to see what is wrong. That is in the front end. In views. In the specific view that you have, it must be this view, must be the tab name. In that file called 'default XML')(See video). [00:20:41](https://www.youtube.com/watch?v=V2WkTjNFjvo&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h20m41s) **Quick Explanation Of Creating Site Views** -This is important since we haven't dealt with adding site views. This site views here, I need to quickly touch on it, that you at least know something that relates to this. That is if you didn't click on add as a menu. If you sets it to 'no' then that file will not exist. That file only exist if this is set to 'yes'. So setting it to 'yes', [00:21:11](https://www.youtube.com/watch?v=V2WkTjNFjvo&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h21m11s) tells component builder to build this default XML file, and setting the tabs to the same name as this view, tells component builder to add those fields to this field and make it so that your user can then have unique implementation. This is important. [00:21:34](https://www.youtube.com/watch?v=V2WkTjNFjvo&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h21m34s) It doesn't make use of this information necessary inside of your site view. You need to make use of this information in your site view. +This is important since we haven't dealt with adding site views. This site views here, I need to quickly touch on it, that you at least know something that relates to this. That is if you didn't click on 'add' as a menu. If you sets it to 'no' then that file will not exist. That file only exist if this is set to 'yes'. So setting it to 'yes', [00:21:11](https://www.youtube.com/watch?v=V2WkTjNFjvo&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h21m11s) tells component builder to build this default XML file, and setting the tabs to the same name as this view, tells component builder to add those fields to this field and make it so that your user can then have unique implementation. This is important. [00:21:34](https://www.youtube.com/watch?v=V2WkTjNFjvo&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h21m34s) It doesn't make use of this information necessarily inside of your site view. You need to make use of this information in your site view. ## Using Of Parameters -If you're a developer you would expect that right you would know inside of your component, you have [00:21:56](https://www.youtube.com/watch?v=V2WkTjNFjvo&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h21m56s) a place where you check params header. Should it show, then it shows it and you are getting it from the parameters. The parameters are set inside of the view.html.php. You see here we set the parameters. We do this 'app- get params'. This actually gets all the parameters in relation to this view. It gets that component parameters, it gets the menu parameters, and it automatically if it has the custom, [00:22:33](https://www.youtube.com/watch?v=V2WkTjNFjvo&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h22m33s) if they've used global, it will automatically fall back on what is set here. Which is excellent. So you're using the same name, display and display. It's the same name. And so if you are using global, what parameters does, its getting this place, parameter. [00:23:02](https://www.youtube.com/watch?v=V2WkTjNFjvo&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h23m02s) The display field is getting that parameter. It first looks at the menus settings and that one is set to global, it automatically falls back to the global settings. That is done by Joomla itself. It's not really something I build. It's just the way Joomla works, which is excellent. That means that by using params and then doing a check-up. This value is inside of 'this params'. [00:23:34](https://www.youtube.com/watch?v=V2WkTjNFjvo&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h23m34s) And then I go to the default view and let's see where am I implementing some of that. Let's go to here the 'preacher display'. The field name wasn't just display I'm sorry it was called preachers display. That's the field name in the global configurations. [00:24:03](https://www.youtube.com/watch?v=V2WkTjNFjvo&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h24m03s) If you're not with me it is what we used for this field - 'switch preacher tablegrid'. It's called preacher display. If I was to go and open this field you see the whole picture, 'switch preachers tablegrid'. Here is the list of the switch preachers [00:24:37](https://www.youtube.com/watch?v=V2WkTjNFjvo&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h24m37s) fields. As you can see I'm in the fields tab. I'll open that specific field. And you'd see that the name of this field is preachers_display. [00:24:56](https://www.youtube.com/watch?v=V2WkTjNFjvo&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h24m56s) You need to make sure that none of the fields have the same name. That is quite important. What I mean by none of the fields, I mean this(preacher) field must not be the same name as that(plain) field. Every field in this global area must be unique. It should never overlap. That is why I use the convention of preachers display so that I can also use preacher without the 's' display and I can use [00:25:25](https://www.youtube.com/watch?v=V2WkTjNFjvo&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h25m25s) category_display in you see so that I have that site of convention of implementation. You should all around as you develop think about conventions using sort of logical repetitive scalable concepts. And so this is one of them that I've done. I just added it here. It's that specific item. And then in the global area you go to preachers. It is this field here(Display - Table - Grid - List). [00:25:59](https://www.youtube.com/watch?v=V2WkTjNFjvo&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h25m59s) And in the code, if preacher_display = 1, then show the table. If preacher_display = 2, then show the grid. And if non is selected then show the list. Which is the three options if you look at the button. The button has table grid list. [00:26:21](https://www.youtube.com/watch?v=V2WkTjNFjvo&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h26m21s) I'm not asking does the global have this or that, none of that, I'm just calling the field directly. Because the way that Joomla gets that initial data like I showed you here. They sort that out for you. That's quite nice. I've tested it and made sure that my explanation is the truth. So goes with the colors. You can see here I again I do 'this.>params.>get('preachers_tables_color') colors. But this is actually knowledge that you would have [00:26:55](https://www.youtube.com/watch?v=V2WkTjNFjvo&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h26m55s) if you have developed a component for Joomla. You would know about these tricks. I'm just showing to you how component builder makes it easy to implement these kind of things. Which otherwise would take so much time to write this up and then make sure it's exactly the same inside of the XML folder menu and so forth. Component Builder does all of that out of this config file simply with a convention that relates to the actual front end. [00:27:26](https://www.youtube.com/watch?v=V2WkTjNFjvo&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h27m26s) I think we have covered that thoroughly enough. That will be all for this tutorial. I will continue looking at more concepts of the component. And it's features. +If you're a developer you would know that inside of your component, you have [00:21:56](https://www.youtube.com/watch?v=V2WkTjNFjvo&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h21m56s) a place where you check the params header. Should it show, then it shows it and you are getting it from the parameters. The parameters are set inside of the 'view.html.php'. Here we set the parameters( See video). We do this 'app- get params'. This actually gets all the parameters in relation to this view. It gets that component parameters, it gets the menu parameters, and it automatically, [00:22:33](https://www.youtube.com/watch?v=V2WkTjNFjvo&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h22m33s) if they've used global, it will automatically fall back on what is set here. Which is excellent. So you're using the same name, display and display. It's the same name. If you are using global, what parameters does, it's getting this place, parameter. [00:23:02](https://www.youtube.com/watch?v=V2WkTjNFjvo&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h23m02s) + + +The display field is getting that parameter. It first looks at the 'menus settings' and that one(See video) is set to global, it automatically falls back to the global settings. It's just the way Joomla works, which is excellent. That means that by using params and then doing a check-up. This value is inside of 'this params' [00:23:34](https://www.youtube.com/watch?v=V2WkTjNFjvo&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h23m34s) and going to the default view and see some of the implementing of that. Going to 'preacher display'. That's the field name in the global configurations. [00:24:03](https://www.youtube.com/watch?v=V2WkTjNFjvo&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h24m03s) What we used for this field was - 'switch preacher tablegrid'. It's called 'preacher display'. If I was to go and open this field you see the whole picture, 'switch preachers tablegrid'. Here is the list of the 'switch preachers' [00:24:37](https://www.youtube.com/watch?v=V2WkTjNFjvo&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h24m37s) fields. In the fields tab (See video). I'll open that specific field and see that the name of this field is 'preachers_display'. [00:24:56](https://www.youtube.com/watch?v=V2WkTjNFjvo&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h24m56s) NB. It is quite important that none of the fields have the same name. What is meant by none of the fields, is that this 'preacher' field must not have the same name as that 'plain' field. Every field in this global area must be unique. That is why I use the convention of 'preachers display' so that I can also use 'preacher' without the 's' 'display' and I can use [00:25:25](https://www.youtube.com/watch?v=V2WkTjNFjvo&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h25m25s) 'category_display' so that I have that sight of convention of implementation. You should all around as you develop think about conventions using sort of logical repetitive scalable concepts.<<<<<<<<<<<<<<<<<< + + + + + + <<<<<<<params.>get('preachers_tables_color') colors. But this is actually knowledge that you would have [00:26:55](https://www.youtube.com/watch?v=V2WkTjNFjvo&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h26m55s) if you have developed a component for Joomla. You would know about these tricks. I'm just showing to you how component builder makes it easy to implement these kind of things. Which otherwise would take so much time to write this up and then make sure it's exactly the same inside of the XML folder menu and so forth. Component Builder does all of that out of this config file simply with a convention that relates to the actual front end. [00:27:26](https://www.youtube.com/watch?v=V2WkTjNFjvo&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h27m26s) I think we have covered that thoroughly enough. That will be all for this tutorial. I will continue looking at more concepts of the component. And it's features. Possibly it might be ideal for us to [00:27:48](https://www.youtube.com/watch?v=V2WkTjNFjvo&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h27m48s) stop here with the component and go look at setting up a custom admin view or setting up a site view. Yet I'm thinking you know if we go that route, It's going to take us on a very long road so the ideal with me. Let me sort of Dealt with some of this component features first and finish that. [00:28:12](https://www.youtube.com/watch?v=V2WkTjNFjvo&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h28m12s) And then as soon as we've finished it, we'll jump into the custom very nice area of your front-end development and custom admin development. And then we will obviously be relating back to what we have discussed here as we go. So I've now looked at the setting tab and try to cover as much of this area as I can I didn't talk much about MySQL tweak. This is a very advanced feature and [00:28:44](https://www.youtube.com/watch?v=V2WkTjNFjvo&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h28m44s) you can know that what it really does if we have dummy data. You're able to exclude them through this area so that if you have different versions you will through this MySQL tweak. Be able to exclude certain information which I realize it's a little bit advance and so for most cases people will just not use this. It's only when you start having multiple versions of the same extension and you selling them at different pricing and want to be able to [00:29:17](https://www.youtube.com/watch?v=V2WkTjNFjvo&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h29m17s) from within component builder just export the different versions then you start using this feature and I think we possibly deal with it with when we start looking at more advanced implementations. We'll start in the next run with scripts