Update files with time links and latest sub-title revisions.
1 parent
6d0bb1da03
commit
ef2a173fd3
21 files changed
+21
-22
No files matched your search
+1
-1
@@ -1 +1 @@
|
||||
Ok we are looking at creating Fields there are two groups I would go Call them Easy or Plain or Common Fuel types Which we will be looking at first We are also advanced fuel types which primarily is your custom field types Which will an undercut after we have covered the admin views and how you connect Fields two views It's quite important because those custom field types Really only makes sense if you see the relationship between views and fields And if you wife already have that knowledge Well We'll acquainted in able to handle Ok so we'll First look at the most more common fuel types Not all of them of course I'm just gonna illustrate to you the text field type And a list field type And all the other sort of follow the same kind of implementation So let's create a new field type We would select Text As our first illustration I need all the magic Lee load The fields here sent all the fuel types default settings we looked at previously When it comes to this information here You need to have a a well Formulated background formulate is all right word there Well it good background On MySQL To understand exactly the What is a varchar What is what is a text what is a medium takes long text Beta basic deleted data type In relation to the database Now I've added the feature of you being able to change that Because I wanted liberate your ability to develop Applications that are more advanced Then A cookie cutter kind of component Builder So this component builder really wants to leave Enough room For you too Make Very advanced choices And the more I constrain it To a sort of just click here there Don't know any code just go on and build something The more I am gonna frustrate the real developer who is wanting to design something more it well More versatile So I didn't choose that option there are component Builders out there that most possibly have done Done that But I don't want to I wanna give you enough tools to really be creative and so that means a little bit More complexity all over Because of that But if you know PHP and you have worked BHP in relation to sequel Or any other sequel database connections via Java or any other language You will know that there is such a thing as a data type and that has a length And it you can Set some default value to it And you can decide whether it's a key or you need P just realise if you said it as a unique ESA Index type then that means that specific field will only allow a value once And if that same value is placed in it it will you know shout at you and it will be an error So You hardly ever use that Not even for an alias will you refuse that because the alias Implementation in July deals with the duplication within the model When it saves the information It actually checks whether there is an alias in the database and increments the earlier so that it doesn't Conflict Even there you did not even need the That feature But it is available and you might see a need to use it so I added it there it you can choose it And then your normal nail switch weather at the table should be know if it's empty Usually Would use One of these default values and then said it not now Ok and then The story method you will most of the time use default This being because these other methods Require much more knowledge Of what you are trying to achieve And if you do have that knowledge Then I could say that Jason Will mostly be used When You are storing An array of items To the database And yet When you are using list which will look at just now you wouldn't need to use Jason because jumilla simpler Limitation of the list fuel type Deals with eraser ready Unless you are using sorry I I'm not saying that correctly If the list Allows for multiple selection Then you need to use Jason But as far as I can remember I think they let me just check here to be sure I mean the code And here is the place where we sort of deal with you know how are we gonna store the data Are we basically tripping the switches for it And let me just look Down here Ok So If the field type is checkboxes It will It will Going here And it will add it As a Jason Object If there is multiple selected It will add a visitation option object If that The type name is tag If you using a tag field type It will not go in here no matter what you do Let me see Store If it's not 0 which is default Then it will fall back onto this Now if it is check box and you have been selected One of those Features For example If you haven't selected one of these Jason Base64 And it is a checkbox Fuel type Then It will fall back 2 To Jason So that's the default switch So in the switch it takes with what you've said If you said it to Jason it will use Jason if you said it to base you use base Done in the Christian who's that But if you said none and it is a checkbox Eagle said it To Jason so Even if you said The checkbox to default We are still gonna make sure it's safe to say Jason because Zuma doesn't deal with checkboxes correctly In fact it tells yoLine truncated
|
||||
Ok we are looking at creating Fields there are two groups I would call Call them Easy or Plain or Common Field types Which we will be looking at first [00:00:15](https://www.youtube.com/watch?v=9NO2rKnC6Ug&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h00m15s) There are also advanced field types which primarily is your custom field types Which we'll only look at after we have covered the admin views and how you connect Fields to views It's quite important because those custom field types Really only makes sense if you see the relationship between views and fields And if you've already have that knowledge Well Well acquainted and able to handle Ok so we'll First look at the most more common field types Not all of them of course I'm just gonna illustrate to you the text field type [00:00:54](https://www.youtube.com/watch?v=9NO2rKnC6Ug&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h00m54s) And a list field type And all the other sort of follow the same kind of implementation So let's create a new field type We would select Text As our first illustration and it will automatically load The fields here set on the field types default settings we looked at previously When it comes to this information here You need to have a well [00:01:29](https://www.youtube.com/watch?v=9NO2rKnC6Ug&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h01m29s) Formulated background formulate is not right word there Well a good background On MySQL To understand exactly the What is a varchar What is what is a text what is a medium text long text these are basically the data type In relation to the database Now I've added the feature of you being able to change that Because I want to liberate your ability to develop [00:02:04](https://www.youtube.com/watch?v=9NO2rKnC6Ug&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h02m04s) Applications that are more advanced Than A cookie cutter kind of component Builder So this component builder really wants to leave Enough room For you too Make Very advanced choices And the more I constrain it To a sort of just click here there [00:02:25](https://www.youtube.com/watch?v=9NO2rKnC6Ug&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h02m25s) Don't know any code just go on and build something The more I am gonna frustrate the real developer who is wanting to design something more advanced More versatile So I didn't choose that option there are component Builders out there that most possibly have done Done that But I don't want to I wanna give you enough tools to really be creative and so that means a little bit More complexity all over Because of that But if you know PHP and you have worked [00:02:59](https://www.youtube.com/watch?v=9NO2rKnC6Ug&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h02m59s) with PHP in relation to sequel Or any other sequel database connections via Java or any other language You will know that there is such a thing as a data type and that it has a length And it you can Set some default value to it And you can decide whether it's a key or a unique key just realise if you set it as a unique key as a Index type then that means that specific field will only allow a value once And if that same value is placed in it it will you know shout at you and it will be an error So [00:03:38](https://www.youtube.com/watch?v=9NO2rKnC6Ug&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h03m38s) You hardly ever use that Not even for an alias will you use that because the alias Implementation in Joomla deals with the duplication within the model When it saves the information It actually checks whether there is an alias in the database and implements the alias so that it doesn't Conflict so even there you do not even need the That feature But it is available and you might see a need to use it so I added it there so you can choose it And then your normal null switch whether the table should be null if it's empty [00:04:15](https://www.youtube.com/watch?v=9NO2rKnC6Ug&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h04m15s) Usually you would use One of these default values and then set it not null Ok and then The story method you will most of the time use default This being because these other methods require much more knowledge Of what you are trying to achieve And if you do have that knowledge Then I could say that JSON [00:04:42](https://www.youtube.com/watch?v=9NO2rKnC6Ug&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h04m42s) Will mostly be used When You are storing An array of items To the database And yet When you are using list which we'll look at just now you wouldn't need to use JSON because Joomla's implementation of the list field type Deals with arrays already Unless you are using sorry I'm not saying that correctly [00:05:09](https://www.youtube.com/watch?v=9NO2rKnC6Ug&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h05m09s) If the list Allows for multiple selection Then you need to use JSON But as far as I can remember I think let me just check here to be sure I'm in the code And here is the place where we sort of deal witLine truncated
|
||||
+1
-1
@@ -1 +1 @@
|
||||
Hi We are looking at admin views Which is The next thing to be setting up In Developing your car So first we started with Fuel types Looking at How to setup your types of improve on them Then We looked at how to use those field types to build Basic Common fields Now we gonna look at how to take those fields And add them To admin views Admin views Like I explained in our initial General planning Video It is basically from the BedRock The basis of your Components database structure Do admin views is where your Database Structure is being Developed All your admin views which have their own table Nice we explained admin views have a single Name and it has a list record Your name And then there is a sister name And the reason why there they actually have Is that let's say you have Wanna reuse this Specific admin View In another component With the same name but obviously adapting it to that component The idea would be that you would then have to preacher Showing up in your selection list When you added to the component And so that might be difficult to discern Which is which And so You can add the name of that specific component As part of Just differentiating between The same Names That means you can have Admin views with the same name But with different implementation Fact that is how You can do different version control Concepts on Components Using the same admin do Just inside of it Making a few changes and in Saving it So you could do that Open preacher for example And India You could say free virgin This is the free version and then say there's coffee Then you can Change the field that is linked You can change some of the link views You can change some of your CSS will whatever Are there things you have done Regarding this admin review And then go to the free version of that component And Link the That specific one That is if you instead of the other Anyway maybe I'm getting head of myself I usually So let's focus now Great mutton you your busy just kick new I'm gonna run Open Twitter again because this is the one we are using As a restoration And You would See that there should be a name for a single record Again that is where you would edit This records so that is In this case I said preacher And then there is a list of Records And that's preachers Then a short description And a normal Justice scription Depending on What you would like to say Then there is a type now the read write and the read only Changes the components editing Have you If you say read only Then it will basically limit The fields to being not you will not be able to edit them If you remember in the In this area wait Here The modified by field cannot be edited Because it's done automatically and when it was modified is Is also updated us every time you You click save So this area count be edited and that's how all The fields are gonna look If you select Read on If you if you leave it on read write it will look like this I know you will be able to edit it Ok so that is Looking at this Fields now there is a place for an icon Via over the icon It gives you the dimensions that is This basically is the icon Then when you look At The dashboard These icons Are the one selected there Ok so You can see that The icon has two of them one is the add icon And one is there just a normal icon so if I have our year You should see the image of Set in In your In yours Images folder sorry So if you open this It goes to your image father is select the icon When your helper here obviously those images In this And then if you gonna add creatures are you if you gonna add a field Just a field Call category that is of the category type Then you should add a category icon Since then The system will automatically know ok then easily category setup And I'll look for this icon to use For that category And If you select Category field that is a general category for the whole component Which isn't directly linked To this View Then it will take the first view This is the mall look at which view when it processes it Which view is the first one And usually that would be the first one you Created And it will use the icon in that But to be on the safe side if you using 1 category for the mall Just said the same icon on them all But if you are gonna use a category Which is primarily focused on the preachers And you just gonna put preachers and a category Then you need to add a category I can't hear Four categories Download permission on switch It's got to do with your accessing and Updating of data So like you can see here We have View edit View edit State View edit own Views create Admin views delete Induce access at the new edit version Now this edit If it's set if your own this managing group and it set to a loud then you can edit it If you are a guest and it said to Deny I no Matter Where You are in The front or the back of the site You won't be able to edit Formation even if you have a Direct Link It won't allow you to edit it Now in also has view axe So somebody who Line truncated
|
||||
Hi We are looking at admin views Which is The next thing to be setting up In Developing your component So first we started with [00:00:13](https://www.youtube.com/watch?v=CdSKSCTzmRA&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h00m13s) Field types Looking at How to setup field types or improve on them Then We looked at how to use those field types to build Basic Common fields Now we gonna look at how to take those fields And add them To admin views [00:00:34](https://www.youtube.com/watch?v=CdSKSCTzmRA&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h00m34s) Admin views Like I explained in our initial General planning Video It is basically from the BedRock The basis of your Components database structure so your admin views is where your Database Structure is being Developed [00:00:56](https://www.youtube.com/watch?v=CdSKSCTzmRA&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h00m56s) All your admin views which have their own table Now as we explained admin views have a single Name and and has a list record or a plural name And then there is a system name And the reason why there they actually have 3 Is that let's say you have Wanna reuse this Specific admin View In another component [00:01:21](https://www.youtube.com/watch?v=CdSKSCTzmRA&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h01m21s) With the same name but obviously adapting it to that component The idea would be that you would then have two preachers Showing up in your selection list When you added to the component And so that might be difficult to discern Which is which And so You can add the name of that specific component As part of Just differentiating between [00:01:47](https://www.youtube.com/watch?v=CdSKSCTzmRA&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h01m47s) The same Names That means you can have Admin views with the same name But with different implementation Fact that is how You can do different version control Concepts on Components Using the same admin do [00:02:03](https://www.youtube.com/watch?v=CdSKSCTzmRA&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h02m03s) Just inside of it Making a few changes and in Saving it So you could do that Open preacher for example And in here You could say free version This is the free version and then save as copy And then you can Change the field that is linked You can change some of the linked views [00:02:25](https://www.youtube.com/watch?v=CdSKSCTzmRA&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h02m25s) You can change some of your CSS will whatever Other things you have done Regarding this admin view And then go to the free version of that component And Link the That specific one That specific view instead of the other Away maybe I'm getting ahead of myself I usually do So let's focus on admin views now to create a admin view you obviously just click new [00:02:54](https://www.youtube.com/watch?v=CdSKSCTzmRA&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h02m54s) I'm gonna Open preacher again because this is the one we are using As our illustration And You would See that there should be a name for a single record Again that is where you would edit This records so that is In this case I said preacher And then there is a list of Records [00:03:14](https://www.youtube.com/watch?v=CdSKSCTzmRA&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h03m14s) And that's preachers Then a short description And a normal description Depending on What you would like to say Then there is a type now the read write and the read only Changes the components editing view If you say read only Then it will basically limit [00:03:36](https://www.youtube.com/watch?v=CdSKSCTzmRA&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h03m36s) The fields to being not you will not be able to edit them If you remember in the In this area Here The modified "By field" cannot be edited Because it's done automatically and when it was modified is Is also updated us every time you You click save So this area can not be edited and that's how all The fields are gonna look [00:04:02](https://www.youtube.com/watch?v=CdSKSCTzmRA&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h04m02s) If you select Read only If you if you leave it on read write it will look like this and you will be able to edit it Ok so that is Looking at these Fields now there is a place for an icon if you hover over the icon It gives you the dimensions that is needed This basically is the icon Then when you look [00:04:24](https://www.youtube.com/watch?v=CdSKSCTzmRA&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h04m24s) At The dashboard These icons Are the one selected there Ok so You can see that The icon has two of them one is the add icon And one is there just a normal icon so if you hover here You should see the image if it is Set in [00:04:46](https://www.youtube.com/watch?v=CdSKSCTzmRA&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h04m46s) In your In yours Images folder sorry So if you open the this It goes to your image folder you select the icon When you hover here obviously those images are not in Line truncated
|
||||
+1
-1
@@ -1 +1 @@
|
||||
Hi we just finished with admin views and we now would like to start Cooking at advanced fuel types now there are a few advanced fuel types and the one there Is most advanced is the one called custom field type so I'm gonna sort this Here by custom Fields it's that one And you see it in This moment we have quite a few custom fields in place Now let's look at two of those one of the local file this List the other one is let's do a sermon sermon one but let's first look Look at the local finalist you'd see that basically from there All the way down to there is simply PHP So I'm creating a view which is most basically Taking information if you know PHP from the global settings of your component so there Any to be a field with a name local folder in your Global settings will still look at how to set up Global settings when we get to component and if it hasn't got a Setting it falls back onto the image which is in the J bus route For your component this will be replaced with your component name and it puts it into local folder And then I just start the options and I The options are a witches Fortune gonna return and the first thing I said to her there's a Please select a File add files Depot yes if there isn't files It will say please add files to and I'll give the local father's name if they There is files it work we gonna update those then over here so firstly we bringing File system classes from Joomla then we Basically check whether that folder exists and if it doesn't exist we created That's just in the fuel pipe now once it's created and if it Just skips this doesn't go in there and it just starts by grabbing all the files And from that folder and place it into files and then starts up an array Where is Loops the files inputted into options and By doing that we are basically images check you insure You're adding the file name and the file name To our options and then returning the options array so you can add your own custom PHP Scripting in the when you extend a listview so the list sorry list field were Extending list field so it's just gonna be a drop down list of all the files in that specific folder Hi there images or the for that it was set be overly in local folder ok so that's your setting up Although now there is a a a field Called filelist I thank Ya that is the reason why I didn't Use filelist is because finalist has a static directory to where You need to add the files so that you can view them and we wanted To have it be able to rename the file folder sorry for the For the files for the media do anything and then have it update itself automatically so that's why we didn't Custom field where we extended the list and we just refreshed this Detailed back so we chose a custom field and then We just extend the list type and we don't want to to have a at You button because you it won't work you will just break and we don't want them to select Multiple ways we are allowing them to select multiple now since we are using multiple We need to go back and make sure that we are storing it as a data so that Jason is when Multiple or erase any kind of arrays in a value you need to store it it's AJ And the opponent builder itself will check if it is a multiple Selection is true it will automatically store it in a Jason object even if you forgot to select this So we have got some things in place to sort of insure that it's system Behaves as expected Ok let me see that Susie quick view on Doing a local file custom field has a local file now Which I'm sure you all if you've been waiting for is let's look at how How to create a sermon preacher custom field so basically it's a Preacher So what is this field gonna do it's gonna show a list of preachers But is gonna basically display the preachers that are set up in the preacher listview ok so Open that so let's see the convention Is that you would call that type preachers that's the listview name But you'd called the name you would use the same as the editing Name which is preacher without the s so if you go back to your app and views you would Use this name as the name of the field but you would use that name as the type You see because you now creating a custom type and the logic behind it is it it's gonna show A list of preachers but you gonna select just one preacher ok so that's just the logic the labour You can really put whatever you like whatever is descriptive enough for your user to understand And then there's a place for adding a description then here we are set Multiple Tiff files we want them to only be able to select one preacher at a time E-40 all basically left to their default values and Extending list is the most common custom field that we have if you wanna See the list of custom Fields that is available you can go up here to extend and you see that list Radio and chicks check boxes are available I think I should update that too also say you User is also a user option to extend user If you want to see if we are what is available then look at thatLine truncated
|
||||
Hi we've just finished with admin views and we now would like to start looking at advanced field types now there are a few advanced field types and the one there Is most advanced is the one called custom field type so I'm gonna sort this Here by custom Fields it's that one And you see it in This moment we have quite a few custom fields in place [00:00:32](https://www.youtube.com/watch?v=VpzYbifqv0M&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h00m32s) Now let's look at two of those one is the local file List the other one is let's do a sermon sermon one but let's first look Look at the local file list you'd see that basically from there All the way down to there is simply PHP So I'm creating a view which is most basically Taking information if you know PHP from the global settings of your component so there need to be a field with a name local folder in your Global settings will still look at how to set up Global settings when we get to component and if it hasn't got a Setting it falls back onto the image which is in the Jpath root For your component this will be replaced with your component name and it puts it into local folder [00:01:36](https://www.youtube.com/watch?v=VpzYbifqv0M&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h01m36s) And then I just start the options and The options array which you gonna return and the first thing I add to it is a Please select a File add files oh yes if there isn't files It will say please add files to and it will give the local folder name if There is files we gonna update those then over here so first we bring in the File system classes from Joomla then we Basically check whether that folder exists and if it doesn't exist we create it That's just in the field type now once it's created and if it exists it obviously skips this doesn't go in there and it just starts by grabbing all the files And from that folder and place it into files and then start something array [00:02:40](https://www.youtube.com/watch?v=VpzYbifqv0M&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h02m40s) Where it Loops the files and put it into options and By doing that we are basically let me just check here and make sure we're adding the file name and the file name To our options array and then returning the options array so you can add your own custom PHP Scripting in the when you extend a listview so the list sorry list field were Extending list field so it's just gonna be a drop down list of all the files in that specific folder either images or the folder that it was set globally in local folder OK so that's your setting up a folder now there is a field type Called filelist I think Ya there it is the reason why I didn't Use filelist is because finalist has a static directory to where [00:03:44](https://www.youtube.com/watch?v=VpzYbifqv0M&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h03m44s) You need to add the files so that you can view them and we wanted To have it be able to rename the file folder sorry the folder For the files for the media do anything and then have it update itself automatically so that's why we then created a Custom field where we extended the list type and let me just refreshed this to get that Detail back so we chose a custom field and then We just extend the list type and we don't want it to have a You button because you it won't work you will just break and we don't want them to select Multiple oh yes we are allowing them to select multiple now since we are using multiple We need to go back and make sure that we are storing it as a Json so the Json is when have Multiple or erase any kind of arrays in a value you need to store it as a Json [00:04:48](https://www.youtube.com/watch?v=VpzYbifqv0M&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h04m48s) And the component builder itself will check if it is a multiple Selection is true it will automatically store it in a Json object even if you forgot to select this So we have got some things in place to sort of ensure that it's system Behaves as expected Ok let me see that's just quick view on Doing a local file custom field as a local file now Which I'm sure you all if you've been waiting for is let's look at how How to create a sermon preacher custom field so basically it's a Preacher custom field So what is this field gonna do it's gonna show a list of preachers But is gonna basically display the preachers that are set up in the preacher listview ok so let's Open that so let's see the convention [00:05:52](https://www.youtube.com/watch?v=VpzYbifqv0M&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h05m52s) Is that you would call that type preachers that's the listview name But you'd called the name you would use the same as the editing Name which is preacher without the s so if you go back to your admin views you would Use this name as the name of the field but you would use that name as the type You see because you now creating a custom type and the logic behind it is it it's gonna show A list of preachers but you gonna select just onLine truncated
|
||||
@@ -1 +1 @@
|
||||
Hi Reef Lock that setting up admin views with group that Creating fields for admin views Bluetooth setting up fuel types and how to use fuel types to create fields Now we would like to look at Setting the admin views to the component Obviously the component itself has so much things that you can do I'm gonna try and Deal with it No airtime So I'm first gonna just look at adding The Admin views to a component Ok so You go to components And will go to 7 distributor And you would go to settings Yeah you'd see Admin views To connect admin views to your component you need to go to settings and open this button Usually when you start to look like this So very straight forward Have a drop down here And you make a selection selection And then click next And you do the next one And if you have a lot of admin use Like I Do here You would Type in the name of the admin View And dairy Howick So I'm gonna type in the name here sermon Now these icons here I spoken about them previously They are the icons from Joomla Which is called I Just look Standard Icomoon font Ok so it's this This font here Now If you select a And I can't hear You show you that little icon with only during the selection face So That is the icon That is gonna be used For the view You're in the right I come there As we click through Component Builder It updates that I can't This icon Is what is being said here Now you can select the icons to Reflect Upward view of your choice Now we have a bunch of switches here and I'll look at them one at a time You have the menu Is basically this menu So the question is do you want that View to show up next to your main View I'll be the first Tick box So it's a yes Then Do you want to have an add record Icon For this review Icon if you go to the dashboard Is this This icon here Basically a shortcut to creating an admin View From the dashboard Song Will say yes Then A dashboard list of records icon So maybe you don't want this icon just Add new Then you can take that Again here we would like yes Then a submenu Number submenu if you've opened Your View that has a submenu year that can collapse away I just submenu You can add this view To the sub menu or not Then Water checking Is a Little tweak that I've added to to my Gmail or components and I'm possibly gonna Make a call request to add it to July it's self What How to check indoors Is it Absa feature to your component Since you see I have clients that complaint That some people will open an item And then in the browser click back instead of picking clothes And I will keep the item locked out Do that Individual And so others cannot access it unless they have admin rights to check it back in So we created an altar checking Now to check in check Whether this item has been checked out longer than a set period I never has been it takes it in automatically know that said period Is Something that the administrator sets in the global settings of the component I'll show you that later Just that you know You can add oil to check into a view By the saying yes or no here Been keeping history of a Back and view Now these three component I must tell you is maybe one of them most exciting things that I could integrate You see what it does is it keeps track of every change you make In any article or any item in your application So for example If I was to go to Let's just look at just a moment To a Preacher And I would open up this acapella music You see that it has that version button here the top Bye-bye was gonna make a change here let's say I typed in Infrared medium And I said Some text here And I clicked save And then I clicked on version You see that it's now locked a new version And there are the old ones And I could click on one of the old ones and click result First let me say I could take the one I'm on currently And I get say keep That would sort of lock it in because You can also set how long How long How long amount of History should the system keep The default is 10 then change is so I can click on the previous version and say restore And this will restore it and you see there Email address is gone and this description is gone If I want to go back to the one I turn I could just get three conversion again I think there and also restore And Now We would see wow The details are Back Again That is the feature of history that is actually extension Which You're able as a application to the component developer Integrate into your own Components And it's not that easy in fact it's maybe very Difficult If I was to show you the amount of product let me do that That you need to write First of all you need to add An asset ID to all your Backend view database tables So if we were to go to 7 distributor And check Front entrance go to the back in And we check out it's equal table You see that all of them have asset ideas Now That is Really not as easy as it is Once you've got the acid ID Then in your model When you basically save Sorry not in the model Table When you start your tabLine truncated
|
||||
Hi We've looked at setting up admin views we've looked at Creating fields for admin views We've looked at setting up field types and how to use field types to create fields Now we would like to look at Setting the admin views to the component Obviously the component itself has so much things that you can do I'm gonna try and Deal with it [00:00:28](https://www.youtube.com/watch?v=39vY66X7GGU&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h00m28s) Little at a time So I'm first gonna just look at adding The Admin views to a component Ok so We'll go to components And will go to sermon distributor And you would go to settings Here you'd see Admin views [00:00:59](https://www.youtube.com/watch?v=39vY66X7GGU&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h00m59s) So to connect admin views to your component and you need to go to settings and open this button here Usually when you start it will look like this So very straight forward You have a drop down here And you make a selection selection And then click next And you do the next one And if you have a lot of Admin views like I Do here You would Type in the name of the admin View [00:01:33](https://www.youtube.com/watch?v=39vY66X7GGU&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h01m33s) And there you have it So I'm gonna type in the name here sermon Now these icons here I spoken about them previously They are the icons from Joomla Which is called I think I let me just look Standard Icomoon font Ok so it's this This font here Now [00:02:02](https://www.youtube.com/watch?v=39vY66X7GGU&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h02m02s) If you select a an icon here It'll show you that little icon but only during the selection face So That is the icon That is gonna be used For the view Here in the right See this icon there As we click through [00:02:24](https://www.youtube.com/watch?v=39vY66X7GGU&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h02m24s) Component Builder It updates that icon Ok so this icon Is what is being set here Now you can select the icons to Reflect to the admin view of your choice Now we have a bunch of switches here and I'll look at them one at a time Now admin menu Is basically this menu [00:02:49](https://www.youtube.com/watch?v=39vY66X7GGU&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h02m49s) So the question is do you want that View to show up next to your main View I'll be the first Tick box So we would say yes Then Do you want to have an add record Icon For this view Now the add record icon if you go to the dashboard [00:03:10](https://www.youtube.com/watch?v=39vY66X7GGU&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h03m10s) Is this This icon here Basically a shortcut to creating an admin View From the dashboard So Will say yes Then A dashboard list of records icon So maybe you don't want this icon just a Add new Then you can tick that as no [00:03:35](https://www.youtube.com/watch?v=39vY66X7GGU&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h03m35s) But again here we would like yes Then a submenu Now the submenu if you've opened Your View that has a submenu here that can collapse away Now this submenu You can add this view To the sub menu or not Then auto check-in [00:03:59](https://www.youtube.com/watch?v=39vY66X7GGU&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h03m59s) Is a Little tweak that I've added to to my Joomla components and I'm possibly gonna Make a pull request to add it to Joomla itself What auto check-in does Is it Adds a feature to your component Since you see I have clients that complaint That some people will open an item And then in the browser click back instead of clicking clothes And that will keep the item locked out [00:04:28](https://www.youtube.com/watch?v=39vY66X7GGU&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h04m28s) to that Individual And so others cannot access it on less they have admin rights to check it back in So we created an auto check-in Now auto check-in checks Whether this item has been checked out longer than a set period and ever it has been it checks it in automatically know that set period Is Something that the administrative sets in the global settings of the component I'll show you that later Just that you know [00:04:57](https://www.youtube.com/watch?v=39vY66X7GGU&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h04m57s) You can add auto check-in to a view By either saying yes or no here Then keeping history of a Backend view Now the history component I must tell you is maybe one of them most exciting things that I could integrate You see what it does is it keeps track of every change you make In any article or any item in your application So for example If I was to go to Let's just look at just a moment [00:05:33](https://www.youtube.com/watch?v=39vY66X7GGU&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h05m33s) To a Preacher And I would open up this acapella music You'd see that it has that version button here at the top No if I was gonna make a change here let's say I typed in Info@vdm And I set Some text here AnLine truncated
|
||||
@@ -1 +1 @@
|
||||
Now that we've added the admin views to the component Let's look at some of the features that is still available inside of components As you can see adding your custom admin views is done there And the site views is done here Then there is a custom admin menus now this this don't let this 3 yard Controlling the menu structures for these Custom at land use in the site views are done inside of these This is if you are actually adding Custom backend Views Which hasn't been developed inside of component Builder So for example Opera browser itself has a compiler View Y'all have seen that If I We go there It's this view here Now this whole view is done outside of component Builder I I actually This is just hand go to the script That kicks off a bunch of Events now It needs a model it needs a controller so I wrote that With my you know just manually Hans and Cody And it also needs a view And so basically the view and everything In regards to it If you look at my infrastructure of component Builder You would see That I have Pioneer I have a place called custom C Inside of cross them Is where everything that you want it into you know include inside of your component is added into the Custom folder Any files in folders anything that you want to integrate is in here now you might look there See there are a bunch of things already there And I would encourage you not to remove them because depending on what you do in component builder it will Automatically include those Specially the the food tables And the import View And you like it Not sure I think you would have sound manager as well That is for 7 distributor And in PHP Excel which is the use for the exporting Data to spreadsheet and Importing a promise pets using this This library So all of that is in the custom tab And then he will see about two files as well now the Report builder itself has its Compiler view here So as you can see it's basically just empty folders And then I have the actual files Here is well there's the default compiler file Which is Then if I open it up It's basically the The Script that shows the That little dropdown of items And I have That in there And I also have the controller somewhere Scroll down Obviously Compile a there's two controller Bester model There is the compiler as well The helper File And so I am including that Into my component We look here Let me open Bodybuilder quickly Go to settings In files I'm including A bunch of things ending and that also means I'm including that here it is the compiler And I'm saying take this file I put it in admin views compiler And view And rename it See it's got the wrong name here So if you add the right name at the end of the string Antique Yes it will rename that file to this Just adding custom Files And As well as custom folders So on Grabbing the compiler views and I'm dumping it interviews And I'm also say rename it to compare the sofa by the views becomes compiler Inside of the views folder And then Obviously we first the system will first build the folders And then move your data your files to those folders so you you you will put the files here And then have the system to the folders and then it will move the files Ok so that's adding custom files to any component and this custom admin menu Is basically what I use The map the compiler menu so I would say I wanna call it compiler the code is compiler I'm not using a link because it's not another extension or another website or something like that Which you can also do And then I would select an icon Here is the information On the same kind of switches As you see with adding and custom admin sorry Mbeki interview you can tweak whether it should be an admin menu or below dashboard And be a sub menu So you can tweak that And then also in which order behind it says select before what happened View This one Should be placed Now That we are facing it before component So that means it can Go The very top Ok so that is adding An custom admin menu Because of custom Feel the fear of the files and folders that you have Created by hand and are importing Into your component when you Violet The same is done with the compiler of component builder I'm actually including it as files so There is the compiler Oh you know what I am I took All the compiler Files and I put it in the folder called compiler it is And so it's a folder which moves all the files at once that obviously can also be done Like for example as you see here BHP Excel Which is a folder Has a lot of content in it if we were to open it You see that's all these files and folders and things And so I put everything I wanted To move Inside of this folder And then in in my component I simply target that folder And it pulls it in Ok so that That's simply showing you how I had it a whole lot of folders to Two component Builder And then When I need a backend admin view custom Deep Added this feature here does that for me Now I also want to quickly cover the The area called comfort Is it this areLine truncated
|
||||
Now that we've added the admin views to the component Let's look at some of the features that is still available inside of components As you can see adding your custom admin views is done there And the site views is done here Then there is a custom admin menus now this this don't let this trough you out Controlling the menu structures for these are Custom admin views in the site views are done inside of these This is if you are actually adding Custom backend [00:00:40](https://www.youtube.com/watch?v=V2WkTjNFjvo&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h00m40s) Views Which hasn't been developed inside of component Builder So for example Component builder its self has a compiler View You all have seen that If I quickly go there It's this view here Now this whole view is done outside of component Builder I I actually [00:01:04](https://www.youtube.com/watch?v=V2WkTjNFjvo&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h01m04s) This is just hand coded little script That kicks off a bunch of Events now It needs a model it needs a controller so I wrote that With my hand know just manually with hand coding And it also needs a view And so basically the view and everything In regards to it If you look at my infrastructure of component Builder [00:01:32](https://www.youtube.com/watch?v=V2WkTjNFjvo&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h01m32s) You would see That I have let me just look at this compiler I have a place called custom you see Now Inside of custom Is where everything that you want it into you know include inside of your component is added into the Custom folder Any files any folders anything that you want to integrate is in here now you might look there [00:02:02](https://www.youtube.com/watch?v=V2WkTjNFjvo&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h02m02s) See there are a bunch of things already there And I would encourage you not to remove them because depending on what you do in component builder it will Automatically include those Specially the the footables And the import View And the uikit and I think some Not sure I think you would have sound manager as well That is for sermon distributor And in PHP Excel which is the use for the exporting of data to spreadsheet and [00:02:32](https://www.youtube.com/watch?v=V2WkTjNFjvo&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h02m32s) Importing a from spreadsheet we using this This library So all of that is in the custom tab And then he will see a bunch of files as well now the Component builder itself has its Compiler view here So as you can see it's basically just empty folders And then I have the actual files Here is well there's the default compiler file Which is [00:02:59](https://www.youtube.com/watch?v=V2WkTjNFjvo&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h02m59s) Then if I open it up It's basically the The Script that shows the That little dropdown of items And I have That in there And I also have the controller somewhere Let's Scroll down Obviously it should Compiler there's the controller [00:03:23](https://www.youtube.com/watch?v=V2WkTjNFjvo&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h03m23s) There's the model There is the compiler as well The helper File And so I am including that Into my component If we look here Let me open Component builder quickly Go to settings [00:03:48](https://www.youtube.com/watch?v=V2WkTjNFjvo&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h03m48s) In files I'm including A bunch of things adding and that also means I'm including that here it is the compiler And I'm saying take this file And put it in admin views compiler And view And rename it See it's got the wrong name here So if you add the right name at the end of the string And click Yes it will rename that file to this so that is adding custom [00:04:16](https://www.youtube.com/watch?v=V2WkTjNFjvo&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h04m16s) Files And As well as custom folders So on Grabbing the compiler views and I'm dumping it into views And I'm also say rename it to compiler so compiler views becomes compiler Inside of the views folder And then Obviously we first the system will first build the folders And then move your data your files to those folders so you you you will put the files here [00:04:44](https://www.youtube.com/watch?v=V2WkTjNFjvo&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h04m44s) And then have the system do the folders and then it will move the files Ok so that's adding custom files to any component and this custom admin menu Is basically what I use to the map the compiler menu so I would say I wanna call it compiler the code is compiler I'm not using a link because it's not another extension or another website or something like that Which you can also do And then I would select an icon Here is the information It's the same kind of switches [00:05:17](https://www.youtube.com/watch?v=V2WkTjNFjvo&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h05m17s) As you see with adding in custom admin sorry A backend admin view you can tweak whetLine truncated
|
||||
+1
-1
@@ -1 +1 @@
|
||||
Hi So we just looked at Settings Of your component And now next we be looking at the scripts tab Here is an area where you most probably Add a lot of custom scripting So this area is focused on giving you Area app you know Interface to add custom Scripting to your component in a global way So obviously you can have custom scripting per Admin Sorry for admin backend View But you can also do that within the global scope with Regards to many Values The the one thing that is Nice to have your ears You can add Create user helper method To the component Another user album method is simply code If you do not know how to write their speed in this method will be of no use to you at all But if you do Then this this method will come in very handy Let me illustrate that to you If you click this yes I have a component in which I've already Implement This feature And it's called The cost-benefit projection tool Now if you click on companies You can actually Click new And then It has an area for you to create a company And I dealer you would connect that company to a user in the system But if you don't add that company to a user Because a user can have multiple companies So that's why If you click on this tab You could select the user But if you haven't selected a user and you've entered an email address and a name Then And also the needed information of course Then I you will Once you click save Close Shave The system will actually create a user for you An automatically email the user details to that And that is because of that specific helper class that I Added So Ticking helper class Now we see it doesn't do it On its own You need to write the code for it So let me show you where I did it In the controller You have an area Open up company You have an area called Post safe K just one here Is the posts April Remember I'm looking at the admin views We could target this area in fact that's exactly what I did So let me show you So I'm in the admin do you for company Unify go to PHP You would see that I have some Ajax there And then I have Area Which is the post safe method I need a post safe method I'm basically checking something some values And then when I realised that this user does not exist Uranus If the user does not exist Basically I'm doing a check here Then I'm using the helper Anyway trust not There it is Create user So again I've spoken about this placeholder Convention before I hear you are using the brackets Convention not the Hash one So three brackets that must be uppercase component And then I get 3 pack your son help her and this will be replaced with the components code Name Ok so That is what that does and then it basically It's the helper class Create user So in the helper class of this component Close this down Can I go to the Alpha Open The helper class you see that is the name Search the components name And then it's called helper And in helper class there is a Feature called Create user So basically it gets an array in it Another Rei has some values Which will be using Like password 1password 2 And we'll set the password so I'm not gonna explain this code basically just showed you where the phone Function is the function that was added to the components helper class and in that I'm super calling that function after having build the the user So I said the erase name and the email is that obviously the function if there is no password Set it will set a random password and again use another method Which also is part of the helper class we explored it with all helper classes as random Random method we can get a random string so That is creating a user and then it sets up the password and then it gets the Erase ready get a model now the model I Got from their get model again we are using a component folder Custom method which gets the specific model from the system And then basically fires the register Method Pontus dataset And then Updates The parameters for the system Regarding this new user Sense in the email And then returns the ID because obviously we were looking Foreign ID That's actually what we want We want to I want to get the Yeah we have the ID If we have the ID If you don't have the idea will send a message To the user And if we have the ID will basically story into that database To connect That item To that user Automatically and then click save Now That is Custom scripting So they're still switch Is this adding that That message to your helper class That's all it does Where is this which adds the uikit library to your media Boulder As well as integrated Dynamically Wherever Are you use The uikit class names So you won't need to write that any in any custom way Automatically adds it The same goes with food table This CSS is global CSS for all the back in views Dial back in So You wanna add CSS that would target the hold back and then you You do it there This is a place for you to add your own custom scripting to the helper class the app and helper class Jazz ucansi I have a whole custom ScLine truncated
|
||||
Hi So we just looked at Settings Of your component [00:00:05](https://www.youtube.com/watch?v=xY9TWQrF8AQ&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h00m05s) And now next we be looking at the scripts tab Here is an area where you most probably Add a lot of custom scripting So this area is focused on giving you Area you know Interface to add custom Scripting to your component in a global way So obviously you can have custom scripting per per Admin Sorry per admin backend view [00:00:28](https://www.youtube.com/watch?v=xY9TWQrF8AQ&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h00m28s) But you can also do that within the global scope with Regards to many certain values The the one thing that is Nice to have here is You can add Create user helper method To the component Now the user helper method is simply code If you do not know how to write php this method will be of no use to you at all [00:00:54](https://www.youtube.com/watch?v=xY9TWQrF8AQ&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h00m54s) But if you do Then this this method will come in very handy Let me illustrate that to you If you click this yes I have a component in which I've already Implemented This feature And it's called The cost-benefit projection tool Now if you click on companies You can actually Click new [00:01:19](https://www.youtube.com/watch?v=xY9TWQrF8AQ&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h01m19s) And then It has an area for you to create a company And ideally you would connect that company to a user in the system But if you don't add that company to a user Because a user can have multiple companies So that's why If you click on this tab You could select the user But if you haven't selected a user and you've entered an email address and a name Then [00:01:49](https://www.youtube.com/watch?v=xY9TWQrF8AQ&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h01m49s) And also the needed information of course Then you will Once you click save Close or save The system will actually create a user for you An automatically email the user details to that user And that is because of that specific helper class that I Added So Ticking helper class [00:02:14](https://www.youtube.com/watch?v=xY9TWQrF8AQ&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h02m14s) Now obviously it doesn't do it On its own You need to write the code for it So let me show you where I did it In the controller You have an area if we open up company You have an area called Post safe OK it's this one here Is the postsaveHook [00:02:38](https://www.youtube.com/watch?v=xY9TWQrF8AQ&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h02m38s) Remember When we'd looking at the admin views We could target this area in fact that's exactly what I did So let me show you So I'm in the admin view for company And if I go to PHP You would see that I have some Ajax there And then I have Area Which is the post safe method [00:03:03](https://www.youtube.com/watch?v=xY9TWQrF8AQ&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h03m03s) I need a post safe method I'm basically checking something some values And then when I realized that this user does not exist let me just check here company Here it is If the user does not exist Basically I'm doing a check here Then I'm using the helper No wait that is not the feature There it is Create user [00:03:41](https://www.youtube.com/watch?v=xY9TWQrF8AQ&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h03m41s) So again I've spoken about this placeholder Convention before I here you are using the brackets Convention not the Hash one So three brackets that must be uppercase component And then I get 3 brackets and helper and this will be replaced with the components code Name Ok so That is what that does and then it basically Gets the helper class Create user So in the helper class of this component [00:04:13](https://www.youtube.com/watch?v=xY9TWQrF8AQ&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h04m13s) If I close this down Can I go to the helper And I open The helper class you see that is the name So it is the components name And then it's called helper And in helper class there is a Feature called Create user there it is [00:04:39](https://www.youtube.com/watch?v=xY9TWQrF8AQ&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h04m39s) So basically it gets an array in it And that array has some values Which will be using Like password 1password 2 And it will set the password so I'm not gonna explain this code basically just showed you where the function is So the function was added to the components helper class and in that script I'm simply calling that function after having build the the user So I said the erase name and the email is that obviously the function if there is no password Set it will set a random password and again use another method Which also is part of the helper class we explored it with all helper classes is random [00:05:28](https://www.youtube.com/watch?v=xY9TWQrF8AQ&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h05m28s) Random method we can get a random string so TLine truncated
|
||||
@@ -1 +1 @@
|
||||
Next in the component view we are gonna add the ReadMe script to a component The reaper script is commonly used as the components Homepage sort of so if you were to go to get out for That's open we're on the demo components page Get up and you'll see that it has this nice image here and it Details and some layout This one is done with the ReadMe file so it's with this file here we can open That had a look at the Roar And here you can see the It's basically the same text this we looking at previously So inside of component Builder you can add this ReadMe and repeat text and This is basically placeholders Now I know that that is part of the markup for a header so You need to Know no better Mark Sorry not more Cup knockout Do you know what is placeholders and what is not That is why I added The Script so you can sort of get an idea of everything that are placeholders And the space holders are Automatically updated from the details that are in these Fields here so So you can see The the actual placeholders Names it's nice so if you change the version here You are updated there Automatically So that is just read me file Video a place for you to give a lot of information to those who are using Your Application Maybe you can add some links to it or you could Some links to help menus ribbon instructions on installing it Error anything else that you'd like to share through the ReadMe file I would ask if it's if it's not too much for you you know for you to leave this area this commenting More people using component builder the more in valve with an accumulator Others getting Restraining set Help us to sustain this project So That and it will certainly be helpful Compulsory If you want to And then if you wanna know more about market mark Down Then you can open this link here And it shows you the Set of a cheat sheet of everything that you can do Ok so that is looking at the ReadMe area Is admin View area And the site View area Should be seen as a place where you can create new admin Have used you realise that if you create a new admin view it's not necessarily linked to this You need to still link it in hearing settings there happened you This is more a place to create admin user Or to edit existing at the news that are linked to this component Same goes with the side views so it's simply a way for you to to gain access to editing Views that already linked to this application easily And then the third one 4 actually 24 You want to look at is the FTP server that has basically been added to Give you a hand in moving this application this component Do your server and also add the feature of that automated updating that is inside So the update server Is actually a Gmail icon set And if you open a component So I'll open Salmon distributor France And we look at the XML file of this component Component builder obviously built this whole file for you But at the very bottom You see that there is a App updates server That is being added Now this is not add it if you Have not Set the service was set to know It will not be adding an update server if you add this Then you can set the link To where the update server is Uno gonna be hosted And it will automatically take that link An added into your XML file like And Bat file itself Component Builder Can also build that file for you The way does it Is that This obviously Suit look like that host = hostname And port = port Enter enter And Auction bracket type = FTP binary FTP binary You're usually is 15 That is the the default value FTP binary Where is that would usually be 21 and that would usually be 5th Steam then add username and ID and a password Now this FTP details should actually login directly To this folder that you have a beer this updates folder Ok So that basically all component does is it logged into your server move this file in there And this information is what will make it possible for him to do that Same goes with the sale server the sails server usually Would be Very much the same concept You're Simply be adding the same kind of string here except usually the The update server and the sails server is not the same place The update server let's the user know that there is an update where is the sales service actually wear this component Zip file will be stored on your server so you have something like whmcs Or Another Component through which you are selling your extensions are you can Use the folder in on your server which it's looking for the files You can use that folder in a great an FTP Account to that folder and then sent that beat In this field here And then Component Builder on the moment that you could compile It has a An option here it says add backup folder and save it sales server Yes and if you compile it now It will move The zip file to yourself server as well as creating a backup now the backup and the gift for Folder is actually set up in your components Global options so we We haven't really spoken much about the global options let us open now here Line truncated
|
||||
Next in the component view we are gonna add the ReadMe script to a component The reapme script is commonly used as the components Homepage sort of so if you were to go to gethub for That's open we are on the demo components page for example Let's open GetHub and you'll see that it has this nice image here and it has some Details and some layout Now this all is done with the ReadMe file so it's with this file here we can open That and then look at the Raw And here you can see the It's basically the same text this we looking at previously [00:00:53](https://www.youtube.com/watch?v=hzbZlLl-xlA&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h00m53s) So inside of component Builder you can add this read me and read me text and This is basically placeholders Now I know that that is part of the markup for a header so You need to Know a little bit about Markdown Sorry not markup markdown to you know what is placeholders and what is not That is why I added The Script so you can sort of get an idea of everything that are placeholders [00:01:27](https://www.youtube.com/watch?v=hzbZlLl-xlA&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h01m27s) And these place holders are Automatically updated from the details that are in these Fields here so So you can see The the actual placeholders Names it's nice so if you change the version here It'll updated there Automatically So that is just read me file Really a place for you to give a lot of information to those who are using Your [00:02:01](https://www.youtube.com/watch?v=hzbZlLl-xlA&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h02m01s) Application so Maybe you can add some links to it or you could has Some links to help menus or even instructions on installing it or anything else that you'd like to share through the ReadMe file I would ask if it's if it's not too much for you you know for you to leave this area this commenting The more people using component builder the more involve within a community Others getting This training set Help us to sustain this project So if [00:02:36](https://www.youtube.com/watch?v=hzbZlLl-xlA&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h02m36s) you leave that in it will certainly be helpful you not Compulsory I mean it's only if you want to And then if you wanna know more about markup markdown markdown not markup Then you can open this link here And it shows you the this little bit of a cheat sheet of everything that you can do Ok so that is looking at the ReadMe area This admin View area [00:03:06](https://www.youtube.com/watch?v=hzbZlLl-xlA&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h03m06s) And the site View area Should be seen as a place where you can create new admin views Do realize that if you create a new admin view it's not necessarily linked to this component You need to still link it in here in settings under admin view This is more a place to create admin view so if you click on new Or to edit existing admin views that are linked to this component Same goes with the site views so it's simply a way for you to to gain access to editing those site views that already linked to this application easily And then the third one forth actually [00:03:51](https://www.youtube.com/watch?v=hzbZlLl-xlA&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h03m51s) one two three four we wanna look at is the FTP server that FTP server basically been added to Give you a hand in moving this application this component to your server and also add the feature of that automated updating that is inside of Joomla. So the update server Is actually a Joomla concept And if you open a component So I'll open Summon distributor wait over there This is the front I need to look at the backend And we look at the [00:04:39](https://www.youtube.com/watch?v=hzbZlLl-xlA&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h04m39s) XML file of this component Component builder obviously built this whole file for you But at the very bottom You see that there is a App updates server That is being added Now this is not added if you Have not Set the service it will set to no It will not be adding an update server if you add this [00:05:03](https://www.youtube.com/watch?v=hzbZlLl-xlA&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h05m03s) Then you can set the link To where the update server is you know gonna be hosted And it will automatically take that link in added into your XML file like it's done here And That file itself Component Builder Can also build that file for you The way does it Is that This obviously [00:05:31](https://www.youtube.com/watch?v=hzbZlLl-xlA&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h05m31s) Should look like that host = hostname And port = port Int& And option bracket type = FTP BINARY Now this FTP binary usually is 15 sorry That is the the default value FTP binary Where is that would usually be 21 and that would usually be 15 And then username and a password [00:06:04](https://www.youtube.com/watch?v=hzbZlLl-xlA&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h06m04s) Now thiLine truncated
|
||||
+1
-1
@@ -1 +1 @@
|
||||
Hi We still working with Summon distributor So I'm gonna use this preacher Which is a Get diary have set up here Are use that Ministration So you can see that I have This Back end View selected So It Intellect nothing This is usually how it will look When you start So YouTube Select This Depending on which Area of the Back into wanna get the data from Youth select Backend View Which is the Best way to do it I would say Then there is the Joomla Database Auction Which basically gives you the access to draw data from any other component installed that no Website So you select your Miller Database You can select any Database That Is actually at that stage On your Database Installed And that means you can reach out to other components Through this dynamic I'm gonna not do that In fact that's also an area which I haven't tested so well I You possibly might try to implement that And ran into some bugs At this stage I can't make any apologies for that since Really thing you should do is instead using Back end View Now My favourite why is the other option there Well it's because that's a future we certainly want in the application right And so I'm busy working in that direction And busy Programming so did that feature will work without any But for the most part if you don't do very complex Mapping If you just do a simple Direct database fetch like that Are you be able to use this it won't give you an issue What it really is about these other Linked Joint database structures That really would make it complex So And that my Cause problems I'm not 100% sure Obviously it did work But I haven't tested it well enough as well as I have tested the other part and that is this back in There is also the custom option Where you can just dump the whole Option of Using component builder to sort of write your Your your BHP for you And here you can add custom PHP It with The method stayed up for you So this is a custom get option where you write the code Basically by hand Where is this option Write the code for you So You select the back in view that you want to use Get that back and view Will be the the view that you could next to your component right So you need to type that you name in here and then select That package And it will load All the field names As a dot i d in a data asset ID a dog named Ali is an icon and So these are all the fields inside of this view An overloaded it will put this as Asset ID Now again I would suggest you don't change that What you can do is you can take Out Arrow You feel ok I don't need that Road Then you can Remove a row Like that And you can say I don't need the Arrow I don't need these Waited there Basically that's all the data you might want And then you will know That this would be the variable name Of the data on When do When these get is used So that's the The basic part of setting up again I need to mention that you have get types as well now the gate types have 4 of them There is the get item Which will get one item so that means from this feature table You will get one item Then you got the gate list query Where to get Multiple Items Ok so depending on how many items you want to get from the database you would select either get item or get list Did you got cast get custom And then you got Get customs that Floral And The difference between these two Is the get item Is what you will use only once per Purview So if you are building a custom at The View You will select a main get Either of a get item or either of a get list But you can add multiple custom get item Or trust and get items So You can see these as Other Methods that you're adding to the page but it's not the main method CF main methods which are these a get item and get list where we Which by the way is the exact naming of the methods that will be used And then you get got this custom get custom and get customs Which is really Is the same as these two it's just that they are not Main There will only be another method in the A model Which will bring data to the view So you can add as many custom Get custom and get customs Methods To your view as you like but you could only add one get item and you pay only That one guid list query Usually the way we were The sign on this That we would Say what is the main objective of The View What is the main dataset that we want to use in the view And that is what we will use the gate list query and get item for Respective Save the main purpose of The View It's a show preachers and a list of preachers I would use the guid list query as domain Selection here Now you see that you have when you do a list query you have the option of adding fake Nation So Basically that would mean whether the data should only return a certain number Mel July has a global number there Which you set in the system administrative area Hundred w Global settings I'm sure you that So you go to system Then Global configuration And then you see there is a default list them it Just one here And That is what will be used asLine truncated
|
||||
Hi [00:00:04](https://www.youtube.com/watch?v=OPuCoxPW35s&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h00m04s) We still working with Sermon distributor So I'm gonna use this preacher Which is a Get that I already have set up here I'll use that In our illustration So here we can see that I have This Back end [00:00:25](https://www.youtube.com/watch?v=OPuCoxPW35s&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h00m25s) View selected So It's been select nothing This is usually how it will look When you start So You'd look Select This Depending on which [00:00:39](https://www.youtube.com/watch?v=OPuCoxPW35s&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h00m39s) Area of the Backend you wanna get the data from You'd select Backend View Which is the Best way to do it I would say Then there is the Joomla Database option Would basically gives you the access to draw data from any other component installed that moment in the Joomla Website [00:01:01](https://www.youtube.com/watch?v=OPuCoxPW35s&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h01m01s) So if you select your Joomla Database You can select any Database That Is actually at that stage On your Database Installed And that means you can reach out to other components Through this dynamic get I'm gonna not do that [00:01:21](https://www.youtube.com/watch?v=OPuCoxPW35s&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h01m21s) In fact that's also an area which I haven't tested so well I You possibly might try to implement that And ran into some bugs And this stage I can't make any apologies for that since Really thing you should do is instead using Back end View Option Now [00:01:42](https://www.youtube.com/watch?v=OPuCoxPW35s&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h01m42s) You might say but why is the other option there Well it's because that's a feature we certainly want in the application right And so I'm busy working in that direction And busy Programming so did that feature will work without any problems In fact for the most part if you don't do very complex Mapping If you just do a simple Direct database fetch like that Are you be able to use this it won't give you an issue [00:02:09](https://www.youtube.com/watch?v=OPuCoxPW35s&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h02m09s) What it really is about these other Linked or Joint database structures That really would make it complex So And that might Cause problems I'm not 100% sure Obviously it did work But I haven't tested it well enough as well as I have tested the other part and that is this back-end view [00:02:32](https://www.youtube.com/watch?v=OPuCoxPW35s&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h02m32s) There is also the custom option Where you can just dump the whole Option of Using component builder to sort of write your Your your PHP for you And here you can add custom PHP it will add The methods data for you So this is a custom get option where you write the code [00:02:55](https://www.youtube.com/watch?v=OPuCoxPW35s&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h02m55s) Basically by hand Where is this option Write the code for you So You select the back-end view that you want to use again that back-end view Will be the the view that you connected to your component right So you need to type that you name in here and then select That package And it will load [00:03:20](https://www.youtube.com/watch?v=OPuCoxPW35s&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h03m20s) All the field names As a.id and a.asset id and a.name and allias and icon So these are all the fields inside of this view And I will load it and I'll put this as Asset ID Now again I would suggest you don't change that What you can do is you can take Out a row You feel ok I don't need that row [00:03:50](https://www.youtube.com/watch?v=OPuCoxPW35s&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h03m50s) Then you can Remove a row Like that And you can say I don't need the row I don't need these Way to there Basically that's all the data you might want And then you will know That this would be the variable name Of the data on When do When these get is used [00:04:13](https://www.youtube.com/watch?v=OPuCoxPW35s&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h04m13s) So that's the The basic part of setting up a Get I need to mention that you have get types as well now the get types have 4 of them There is the get item Which will get one item so that means from this preacher table It will get one item Then you got the get listQuery Which will get Multiple Items [00:04:41](https://www.youtube.com/watch?v=OPuCoxPW35s&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h04m41s) Ok so depending on how many items you want to get from the database you would select either get item or get list Then you get custom And then you got Get customs that plural And The difference between these two or four Is the get item Is what you will use only once per [00:05:04](https://www.youtube.com/watch?v=OPuCoxPW35s&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h05m04s) Per view So if youLine truncated
|
||||
@@ -1 +1 @@
|
||||
Hi now did we have to learn him and get him Place let's attitude Side view and look at the initial implementation who go to side view And then click on new but since we already have That you created we just gonna open it or preacher You see the deer on the right-hand of 3 Fields that you can Populate with your Dynamic get methods the first one is where you would add All the custom Dynamic gets and there you can add multiple custom done in me gets The second one is where you add your main Dynamic get as we explained in that Tutorial you can add 1 Main get method per View a site view since it's gonna be billed in the model Either as a get item or a get items it is all depending on them Main gate weather it's gonna be a list or just an An individual item Yet you can include Dynamic Gates Custom Dynamic get as many as you like You also have this data available in your view So these two first fields are used to load The Dynamic get to love you The third one Is used to display the possible way that you might want to implement The code of a specific Dynamic get option You see that This one only displays Possible main Gates this one only this place customer gets Where is this is this place both The custom and the main kind of Gates Now If you select a Hey ya My girl let's go to One of these Main Gets Sermon This one here You see that it shows us A list Print out of the possible ways that you might Use the result set Obviously each of these are properly you can copy by clicking in it and then clicking on I do right click And Copy or you could click on ctrl V Pokemon The Sorry ctrl C in command C How to copy respectively the accounting Sometimes you might only one of use part of it and not the echo statement included Then you can pick from the area where you want to copy and then before letting go Click on control C or command centre Mac 2 Ensure you only graph that section of the text Once you let it go it will select the whole block and then Obviously if you copy it you will copy everything As you can see We then use that This code in our default View To to display the data In a PHP Fashion You can also get the the customer get here let me show you that one picture Like you see it says that that Values gonna be in this preacher And if we look here at the top that is what we check for checking for here Make sure that you have a Preacher And then this block Basically deals with displaying the data related to that Information This one here Checks whether the main items are on the on the page and now the main items as you can see Is sermons preacher ID get list So if I go down to that 732 I get List You see that again it shows me that the values are in items And it's in array So I can look through it and target the the object values And that's what's being done here We first checking whether it's On the page the values Then If we see that it is here We use make use of templates Do Do display the various Layouts And I will explain in an equatorial how to use templates in layouts inside Of your site View But this is just quickly showing you how to connect A dynamic gait Structure Methods to your view And then how to make use of the data that are being passed through to the view So this data structures here on the right in grade Is basically the the data structure that you can expect From each one of these so if I was to take number sermons As the deer Method that I want to see Then it shows me that That's possibly the way that it will be packed into the data set So it'll be found in this number sermons is how Now that could change Depending on your customer Limitation In your components custom clothing areas you might move this data from that Position to something else But the reality is this at least gives you how it would have looked without you You know I'm leaving the The normal Pass So this is just Proposing the dataset structure Which ideally would be that you would take this value here And Maybe do do this in the code Do a bar down And then exit And then Basically do a build and go look at this view to see exactly the structure If if you are finding that this the structure that we've shown isn't working exactly as a Often this helps us To sort a map the array and see where What value is found same goes with any of the other You can just grab that area That you want to take him to Put it in the Vaal Dam Do a bolt go look at this page In the in the front of your site And you can see exactly the structure of this The subject here Whether it's an array and array with objects or what Is placed inside of this value set through the dynamic get method Now I just want to quickly Pick up the Way that these methods are actually becoming available in your view My going to the code And you looking at Some of the implementations that we've done Ok As you can see we've gone to the front of the site Salmon distributor Models And we've opened The preacher model Use the printer model And As you scroll down you see that there's a gLine truncated
|
||||
Hi now that we have the dynamic Get in place let's add that to a Site view and look at the initial implementation we will go to site view And then click on new but since we already have That you created we just gonna open it called preacher You would see there on the right-hand there are 3 Fields that you can Populate with your Dynamic get methods the first one is where you would add All the custom Dynamic gets and there you can add multiple custom dynamic gets The second one is where you add your main Dynamic get as we explained in the dynamic get Tutorial you can add 1 Main get method per [00:00:57](https://www.youtube.com/watch?v=vEJZe6XqHJE&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h00m57s) View or site view since it's going to be build in the model Either as a get item or a get items it is all depending on the Main get weather it's gonna be a list or just an An individual item Yet you can include Dynamic Gets Custom Dynamic gets as many as you like You also have this data available in your view So these two first fields are used to load The Dynamic get to the view The third one [00:01:37](https://www.youtube.com/watch?v=vEJZe6XqHJE&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h01m37s) Is used to display the possible way that you might want to implement The code of a specific Dynamic get option You'll see that This one only displays Possible main Gets this one only this place customer gets Where is this displays both The custom and the main kind of Gets Now If you select a [00:02:04](https://www.youtube.com/watch?v=vEJZe6XqHJE&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h02m04s) let's go to One of these Main Gets Sermon This one here You see that it shows us A list Print out of the possible ways that you might Use the result set [00:02:32](https://www.youtube.com/watch?v=vEJZe6XqHJE&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h02m32s) Obviously each of these you can copy by clicking in it and then clicking on either right click And Copy or you could click on ctrl V ctrl C and command C to copy respectively the content Sometimes you might only want to use part of it and not the echo statement included Then you can pick from the area where you want to copy and then before letting go [00:03:05](https://www.youtube.com/watch?v=vEJZe6XqHJE&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h03m05s) Click on control C or command C in a Mac to insure you only grab that section of the text Once you let it go it will select the whole block and then Obviously if you copy it you will copy everything As you can see We then use This code in our default View To display the data In a PHP [00:03:36](https://www.youtube.com/watch?v=vEJZe6XqHJE&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h03m36s) Fashion You can also get the the customer get here let me show you that one preacher Like you see it says that that Value is gonna be in this preacher And if we look here at the top that is what we are checking for here Make sure that you have a Preacher And then this block Basically deals with displaying the data related to that Information This one here [00:04:08](https://www.youtube.com/watch?v=vEJZe6XqHJE&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h04m08s) Checks whether the main items are on the on the page and now the main items as you can see Is sermons preacher ID get list So if I go down to that sermon preacher I get List You see that again it shows me that the values are in items And it's in array So I can loop through it and target the the object values And that's what's being done here We first checking whether it's [00:04:38](https://www.youtube.com/watch?v=vEJZe6XqHJE&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h04m38s) On the page the values Then If we see that it is here We use make use of templates to to display the various Layouts And I will explain in a next tutorial how to use templates in layouts inside Of your site View [00:05:01](https://www.youtube.com/watch?v=vEJZe6XqHJE&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h05m01s) But this is just quickly showing you how to connect A dynamic get Structure or Methods to your view And then how to make use of the data that are being passed through to the view So this data structures here on the right in red Is basically the the data structure that you can expect From each one of these so if I was to take number sermons As the Method that I want to see [00:05:36](https://www.youtube.com/watch?v=vEJZe6XqHJE&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h05m36s) Then it shows me that That's possibly the way that it will be packed into the data set So it'll be found in this number sermons is how Now that could change Depending on your custome implementation In your components custom coding areas you might move this data from that Position to something else But the reality is this at least gives you how it would have looked without you You know I'm leaving the [00:06:10](https://www.youtube.com/watch?v=vEJZe6XqHJE&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h06m10s) The Line truncated
|
||||
@@ -1 +1 @@
|
||||
Hi Now that we've added a dynamic get 2 A side view And we have looked at how to access the data sets Through the Examples snippet We need to understand How layouts and templates Link into site views Is it good to know What is the site doing the code And what is the templates What is the layout In the code itself And how This to mulalo distance Well If we go to our example Phone and Sermon Review te And then View And preacher Template Tmpl You see that there is a Default File Mac PHP And there is a default on the score Retail Box Feature panel Richest Mall the PSP files A list of them Now those are all pamphlets The reason why we call them templates It's because of the method by which they are included into the default File Default file is the main file And That's what we call the site View So everything inside of this file Is actually build In the side view so let's open the site View So all this code here in before View From here to there Is added To that default File So you see it says default View And the way it adds to templates It's with this snippet or that says this load Template Preacher panel And you can get these nuts At the bottom of the Site View So if you were to scroll down You first with see the layout Snippets and then after them that template snippet And scroll down to the one you have Maid Looking at these names And then here Is a Preacher grid List Table Panel box Small So That is the snippet that you will use You might sometimes Change the way Boss please stay in the PHP instead of going out HTML So by the way that is what is happening up here If you look at the code From time to time I go out of the BHP I go into the PSP with that tag And I go out of the PHP with that Then I go in again may go out again And then I stay out that I'm Basically in HTML So here is Your HTML And Then Ok this part here is obviously Uikit Class and the implementation And then I go back into PHP And I go out again and ears HTML again So that is a way that you can work with H2O with PHP Interview I'm sorry forgot look at this in the code And be open that default file I see that exactly what is placed there So basically End with PHP there Then we go into PHP again And here is the same text that we just looked at in that Editor So that takes gets placed here and then it through these Snippets it includes the template so basically I'm using a global setting here And I'm checking now this Global setting is set in the components Global settings And I'm checking what type of this play has been set And then on the basis of that I either show this template That one All but one Template view you have access to the same Global Fields or Class Fields and public class methods As you have in the default View So in the default view we have access to this preacher but the same is true of Pamphlet design templates that I've just opened And you see I'm using the same this params Here This preacher website so I am using the same Global Class Fields values in Zone how you wanna pull it And that that is true of your templates So if we go back to our Interface the way that component bargain knows that it needs to add this template to To this site View Is simply because of this code snippet Cheap places code snippet in there and ill go look in the template List Tampered with this name Enable simply add it To that site View now when I'm in AD I mean Added to this Template with the In the right folder So You can you can by doing that At your Templates to the site View And will look at setting up templates we also look at setting up Layouts layouts work a little different Let me see do I have a layout here in this site View It seems I'm mostly using templates you can use templates and layouts in the site View I have just used Templates mostly it seems And that means that possibly the layouts I've used in the templates View But if I wanted to add a template sorry a layout to this view Without doing it inside a template which doesn't matter it's just a way of bundling yours Scripts in a more concise manner so that he doesn't be overwhelming When you look at the code but that you have it Broken up in pieces The layout structure is mostly used When you are dealing with a part of the display area That is used Cross Other Display areas So if I usually used the layout structure The moment I'm using a piece of code In more than one View Or in more than one template The reality is you could You could use Templates inside of pamphlets You cannot use templates inside of layout But you can use templates in soap Amplats And you can use layouts inside of layouts But you cannot use templates in layouts I know but these are all conventions that are set forth because of the way to Miller implements the structure These are not limitations because of component Builder This is just how to analyse it it will allow you to add pamphlets 2 The default Side view But It will not Allow you to add Cite a templates to a layout if you just scream at you And why WeLine truncated
|
||||
Hi [00:00:02](https://www.youtube.com/watch?v=6VBbi3Rl2eY&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h00m02s) Now that we've added a dynamic get to A site view And we have looked at how to access the data sets Through the Examples snippets We need to understand How layouts and templates Link into site views basically to know [00:00:21](https://www.youtube.com/watch?v=6VBbi3Rl2eY&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h00m21s) What is the site view in the code And what is the templates What is the layout In the code itself And how Joomla load those things Well If we go to our example component Sermon [00:00:39](https://www.youtube.com/watch?v=6VBbi3Rl2eY&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h00m39s) distributer And then View And preacher Template or Tmpl You see that there is a Default File PHP [00:00:58](https://www.youtube.com/watch?v=6VBbi3Rl2eY&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h00m58s) And there is a default underscore preacher Box preacher panel preacher small dot PHP files A whole list of them Now those are all templates The reason why we call them templates It's because of the method by which they are included into the default File The Default file is the main file [00:01:20](https://www.youtube.com/watch?v=6VBbi3Rl2eY&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h01m20s) And That's what we call the site View So everything inside of this file Is actually build In the side view so let's open the site View So all this code here in default View From here to there Is added To that default File So you see it says default View [00:01:50](https://www.youtube.com/watch?v=6VBbi3Rl2eY&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h01m50s) And the way it adds to templates It's with this snippet that says this load Template Preacher panel And you can get these snippets At the bottom of the Site View So if you were to scroll down You first with see the layout Snippets and then after them that template snippet And scroll down to the one you have [00:02:19](https://www.youtube.com/watch?v=6VBbi3Rl2eY&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h02m19s) Made by Looking at these names And then here Is a Preacher grid List Table Panel box Small So That is the snippet that you will use [00:02:37](https://www.youtube.com/watch?v=6VBbi3Rl2eY&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h02m37s) You might sometimes Change the way possibly stay in the PHP instead of going out into the HTML So by the way that is what is happening up here If you look at the code From time to time I go out of the PHP I go into the PHP with that tag And I go out of the PHP with that Then I go in again may go out again [00:03:04](https://www.youtube.com/watch?v=6VBbi3Rl2eY&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h03m04s) And then I stay out that I'm Basically in HTML So here is pure HTML And Then Ok this part here is obviously Uikit Class and the implementation And then I go back into [00:03:20](https://www.youtube.com/watch?v=6VBbi3Rl2eY&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h03m20s) PHP And I go out again and here is HTML again So that is a way that you can work with with PHP In the view so if we are going to look at this in the code And we open that default file you see that exactly what is placed there cimit So basically we End with PHP there [00:03:45](https://www.youtube.com/watch?v=6VBbi3Rl2eY&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h03m45s) Then we go into PHP again And here is the same text that we just looked at in that Editor So that text gets placed here and then it through these Snippets it includes the template so basically I'm using a global setting here And I'm checking now this Global setting is set in the components Global settings And I'm checking what type of display has been set And then on the basis of that I either show this template or That one or that one [00:04:22](https://www.youtube.com/watch?v=6VBbi3Rl2eY&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h04m22s) in your Template view you have access to the same Global Fields or Class Fields and public class methods As you have in the default View So in the default view we have access to this preacher but the same is true of templates these are the templates that I've just opened And you see I'm using the same this params Here This preacher website so I am using the same Global Class Fields or values depends on how you wanna call it And that is true of your templates [00:05:07](https://www.youtube.com/watch?v=6VBbi3Rl2eY&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h05m07s) So if we go back to our Interface the way that component builder knows that it needs to add this template to To this site View Is simply because of this code snippet so you place code snippet in there and you'll go look in the template List For a template with this name and it will simply add it To that site View now so what I mean I mean add it to this [00:05:35](https://www.youtube.com/watch?v=6VBbi3Rl2eY&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h05m35s) Template wLine truncated
|
||||
+1
-1
@@ -1 +1 @@
|
||||
In a previous tutorial where's your dad setting up Of Templates and Layout to a site View Now inside of the side view we see that we are loading preacher panel Pictures small Betamox Song Let's go look at how to create those templates I'll go to templates And here they are already created You can click on new to start with a new tablet You could also copy an old one By selecting The temperature Chicken mash And then there is a copy feature here And process And it'll copy it for you Ok so Yeah I have Peter panel open Improve panel it's the same concept it's an HTML area so if I wanna use PHP and Into the PHP And then I can go out again And I can also add this text placeholders Which helps us to insure The text itself Is translatable You can just do your normal English text like that sermon count Sermon total downloads And Important Bola what these things to the language file for you And You don't need to be concerned though at this stage only does Your British English language file And If you need to add more languages You need to look up the documentation of adding languages to a third-party extension And To that same implementation K so here we see that you can add layouts To this template by using any of the Snippets I saw this tablet to this Wealth course to this tempted And you can add other templates to it So you can use templates inside of templates And you could have use layouts as well so more or less the same behaviour as and site for you You also have your snippet box here Which you can make use of adding Script quickly To your page Like that would Fresh We see that that script that I just looked at here In the preacher panel If we go to the code feature and all Is exactly the same script that you seeing here Ok now There are a few Sorry point here missy One of them is a side note is that in your details tab In the template area You're at the bottom You can add JavaScript With your normal script tags So you can just add your JavaScript in there And It will work And be loaded into the page Through the snow snippet That's That's a nice Thing to know As wellness You are still have access as I said before Do all the global This field values Like to see there You can access those What is Lea And that is basically how to set up a template Is the same kind of conventions as setting up a site View Except that this is not the main view it is a tablet used Somewhere in a name and you through Adding this code snippet With Joomla class get Pamphlet Method And Then Basically this Load template Is the method That is being used with that name And then it adds it Do your component site you as well as Ask the code to it So that is a template next up let's look at a layout And really get excited there
|
||||
In the previous tutorial we where looking at setting up Of Templates and Layout to a site View Now inside of the side view we see that we are loading preacher panel Preachersmall Preacherbox So Let's go look at how to create those templates I'll go to templates [00:00:27](https://www.youtube.com/watch?v=khxKeeubhiY&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h00m27s) And here they are already created You can click on new to start with a new template You could also copy an old one By selecting The template you would like to copy click on batch And then there is a copy feature here And click process And it'll copy it for you Ok so [00:00:49](https://www.youtube.com/watch?v=khxKeeubhiY&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h00m49s) here I have Preacher panel open In Preacher panel it's the same concept it's an HTML area so if I wanna use PHP I need to go Into the PHP And then I can go out again And I can also add this text placeholders Which helps us to ensure The text itself Is translatable You can just do your normal English text like that sermon count [00:01:16](https://www.youtube.com/watch?v=khxKeeubhiY&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h01m16s) Sermon total downloads And Component Builder will add these strings to the language file for you And You don't need to be concerned though at this stage only does Your British English language file And If you need to add more languages You need to look up the documentation of adding languages to a third-party extension [00:01:44](https://www.youtube.com/watch?v=khxKeeubhiY&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h01m44s) And do that same implementation Ok so here we see that you can add layouts To this template by using any of the Snippets to this template And you can add other templates to it So you can use templates inside of templates And you could have use layouts as well so more or less the same behaviour as in site view You also have your snippet box here [00:02:15](https://www.youtube.com/watch?v=khxKeeubhiY&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h02m15s) Which you can make use of adding Script quickly To your page Like that Refresh We see that that script that I just looked at here In the preacher panel If we go to the code preacher panel it Is exactly the same script that you seeing here Ok now [00:02:46](https://www.youtube.com/watch?v=khxKeeubhiY&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h02m46s) There are a few exciting points here One of them is a side note is that in your details tab In the template area You're at the bottom You can add JavaScript With your normal script tags So you can just add your JavaScript in there And [00:03:13](https://www.youtube.com/watch?v=khxKeeubhiY&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h03m13s) It will work And be loaded into the page Through the small snippet That's That's a nice Thing to know As well as You are still have access as I said before to all the global This field values Like you can see there [00:03:35](https://www.youtube.com/watch?v=khxKeeubhiY&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h03m35s) You can access those quite easily And that is basically how to set up a template Is the same kind of conventions as setting up a site View Except that this is not the main view it is a template used Somewhere in a main view through Adding this code snippet With Joomla class get template Method [00:04:02](https://www.youtube.com/watch?v=khxKeeubhiY&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h04m02s) And Then Basically this Load template Is the method That is being used with that name And then it adds it Do your component site view as well as Adds the code to it and everything else So that is a template next up let's look at a layout [00:04:29](https://www.youtube.com/watch?v=khxKeeubhiY&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h04m29s) And it really get excited there
|
||||
+1
-1
@@ -1 +1 @@
|
||||
Ok we gonna look at setting up layouts now And we'll setting up layouts you have Some nice ways to reuse code across multiple Surf templates for or site views What are the things that I found is that I would like to know which tablet or Not Not really which tampered rather which side view Is actually calling the layout So that all the bases of that I could use Global settings That are related that specific site View So what I've done is I've just in the dynamic get I've added little string Since it's Dynamic at Target only a specific site View So if I was to open Sermon preacher ID Which is primarily gonna be used in Preacher side view If I look at the custom script You see that I added a view key called preacher And by doing that I know ok since this Dynamic get Is only used in the preacher of you That when the layout is called and I'm in my component I'm only passing The item So not the whole list of items but just one item To the layout That helps me to know ok this this specific item is calling from preacher And I can on that Basis You know do certain implementation To ensure that the layout displays in the way I expected So that's just a little heads up on making your layouts even more Dynamic Then going to the template We will open Your The layout Sorry the template that calls the layout so we wanna see that initial setup I'm one of the templates that really Illustrates this very well Is this sermon list So I'm gonna open 7 list Can someone list you see that I'm looping through the items And then I am I think so Some parameters to the item Object One of them is the Proms the other is there I'm taking the description And making sure that it's you notice Cape and no longer than 19 karat 90 characters And then I'm adding that back to the description with Out And I'm done adding that item To the layout Study class renda Layout help J layout helper Render Website list item As the layout name Sorry sermon List item Ok and that basically is gonna populate The Script window List items That is gonna be placed in an unordered list on the Sermon list page Ok so now let's go look at this specific layout Layout helper Sermon list item So In layouts Look for sermon List item there Rio I didn't summon list item You see that I'm using that Global The item that is being passed is placed inside of displayed data I'm so now display data is basically The item object That's inside price Place the parameters in it so I can use different Get method With the specific Global Field name Who said in the components Global settings And since I'm Targeting a specific layout Sorry View I'm using the Vue key Adding it to the string and shaking what is the value for this specific view in the global of the component And On the basis of this I'm actually able to make this view very dynamic And can use it through multiple layouts Based on that View key Now I know if others want to use the layout in their components extending this one it possibly You might work that well But since we are using it for our own component And really far only implementation I don't think that's too big a deal And At the same Token unable to check Simply what is the view key is it preacher series of category in on a basis of that I asked if Questions that have different in Menlyn implementation of of certain Values like series name preacher name And there is another Convention that I think is very worthwhile mentioning here And that is the convention of actually In the template We go back here And we go to custom scripting There is the S View placeholder Su placeholder Will be replaced With the actual views name Necessary using a template here So you see this is a template But this sermon list That one I'm adding that template To multiple site Muse So I'm not just adding it to one side view I'm adding it to multiple site views But since I want this template again to be Dynamic so wherever I add it I I want it to dynamically Add That side views name here And then is as you can see I'm actually asking The global parameters For that site view sermon list style So That means Is grits gonna add For example preacher there or it's gonna add series there or is gonna add category there it's only the Category sermons the style or it's a and let me show you that in the car So now I have category open I've got preacher open as well as series And you can see That I'm adding sermon grade sermon list sermon table to the mall SIM Android sermon list surman table Simon Britz sermon lemon table But if I was to open Summer list in series You see that that name Strange 2 Series If I was gonna open Sermon list in preacher You see it was changed Preacher If I open it in category You see that it actually added category And that means that our Little Place holder Was dynamically updated by component folder on the build And then It behaves as you expect now That you would know How how is it how where is it getting these values If we If we go to the component in the backend And We opeLine truncated
|
||||
Ok we gonna look at setting up layouts now And we setting up layouts you have Some nice ways to reuse code across multiple templates or or site views and one of the things that I found is that I would like to know which template or Not Not really which tampered rather which side view Is actually calling the layout So that all the bases of that I could use Global settings That are related that specific site View [00:00:31](https://www.youtube.com/watch?v=52OLSZio0F8&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h00m31s) So what I've done is I've just in the dynamic get I've added little string Since each Dynamic get Targets only a specific site View So if I was to open Sermon preacher ID Which is primarily gonna be used in Preacher side view If I look at the custom script You see that I added a view key called preacher And by doing that I know ok since this Dynamic get [00:00:59](https://www.youtube.com/watch?v=52OLSZio0F8&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h00m59s) Is only used in the preacher view That when the layout is called and I'm in my component I'm only passing The item So not the whole list of items but just one item To the layout That helps me to know ok this this specific item is calling from preacher And I can on that Basis You know do certain implementation [00:01:24](https://www.youtube.com/watch?v=52OLSZio0F8&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h01m24s) To ensure that the layout displays in the way I expected So that's just a little heads up on making your layouts even more Dynamic Then going to the template We will open Your The layout Sorry the template that calls the layout so we wanna see that initial setup and one of the templates that really Illustrates this very well [00:01:54](https://www.youtube.com/watch?v=52OLSZio0F8&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h01m54s) Is this sermon list So I'm gonna open sermon list in sermon list you see that I'm looping through the items And then I am adding Some parameters to the item Object One of them is the Params the other is , I'm taking the description And making sure that it's escaped and no longer than 19 characters [00:02:26](https://www.youtube.com/watch?v=52OLSZio0F8&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h02m26s) And then I'm adding that back to the description without the full name And then adding that item To the layout Study class render Layout help J layout helper study class Render [00:02:46](https://www.youtube.com/watch?v=52OLSZio0F8&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h02m46s) sermon List item as the layout name Ok and that basically is gonna populate The Script between List items That is gonna be placed in an unordered list on the Sermon list page Ok so now let's go look at this specific layout Layout helper Sermon list item [00:03:15](https://www.youtube.com/watch?v=52OLSZio0F8&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h03m15s) So In layouts Look for sermon List item there we go and in sermon list item You see that I'm using that Global The item that is being passed is placed inside of displayed data I'm so now display data is basically The item object [00:03:43](https://www.youtube.com/watch?v=52OLSZio0F8&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h03m43s) And since I Placed the parameters in it so I can use different Get method With the specific Global Field name Which is set in the components Global settings And since I'm Targeting a specific layout Sorry View [00:04:02](https://www.youtube.com/watch?v=52OLSZio0F8&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h04m02s) I'm using the view key Adding it to the string and checking what is the value for this specific view in the globals of the component And On the basis of this I'm actually able to make this view very dynamic And can use it through multiple layouts Based on that View key Now I know if others want to use the layout in their components extending this one it possibly will not work that well [00:04:31](https://www.youtube.com/watch?v=52OLSZio0F8&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h04m31s) But since we are using it for our own component And really for only implementation I don't think that's too big a deal And At the same Token I am able to check Simply what is the view key is it preacher series or category and on a basis of that I ask different Questions that have different implementation of certain Values like series name preacher name and category And there is another Convention that I think is very worthwhile mentioning here And that is the convention of actually [00:05:11](https://www.youtube.com/watch?v=52OLSZio0F8&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h05m11s) In the template We go back here And we go to custom scripting There is the S View placeholder S view placeholder Will be replaced With the actual views name Now since we using a template here So you see this is a template [00:05:32](https://www.youtube.com/watch?v=52OLSZio0F8&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h05m32s) But this sermon list ThatLine truncated
|
||||
@@ -1 +1 @@
|
||||
I need to have a quick look at custom admin views They do have some nice ways of doing things Very similar to sight views But some Aspects and adding a two component builder is different And so in the next video We will look at adding site fuses well as component Custom admin Views To the component The reason I didn't speak much about the custom admin user simply because Summon distributor is not Using Custom admin views yet Where is I have another component here I can use as a example Called component It's cold Waited Sia Cost-benefit projection It's a It's a tool that is used to show companies the cost benefits Of intervening on certain diseases and causes in the company Anyway In it we have what we call a company results And combined results Respectively used To display custom data In the back in of the component 2 to the 7 different The people who has permissions to view those data Now in the component itself If we clicked on companies You see there is an icon on the knees each of these Names of the Companies And there is a new button here the top called combine Results Now This button as well as those buttons Are dynamically added by component Builder And in the next week tomorrow I'll show you exactly how that is done What I want to show you here Simply how a custom admin view will look So I'm gonna click on one of these these out this is all dumb information so So you'll see me Let's open this one Now basically you have this big area where you could put a lot of HTML and PHP And you have some custom buttons that you can add on show you that And then So all of this in this white area is simply done in the custom View So if I was to click around I've got a menu here at the side All of this is done inside of the custom Area Of the component Which is the other Custom admin View And That is basically how it will look Different Value sets And you can from here and an edit button Since we've linked it to a specific client Our company or one item in that list We can actually click on edit From here we are riding to the company's data And edit it And What is nice if we were to click close the year You actually take us back to that Exact result page And you can then go and look at The implementation What you've done Is it that is just simply showing you how a custom at nephew could look Let's go back to the company's list or we could go back to dashboard Download component Builder And we looked at discomfort company results we open at 1 And here is older PHP and HTML On my page Doing all the work Adolf course As you might expect I'm loading in a lot of templates here So I'm loading in templates Directly From here And Then I have a custom button area Where I can I can say yes I want to add custom buttons Then I click on Custom buttons here and you see I have Icons I can select Cornet The name of the button And a controller method Which I would like to use to actually make the button work so in this one I'm saying go to company This one is edit company And So I should say Is is this gonna What What kind of Target are we think looking at Is this a A single a list or both And you said that respectively And Then you click save this only saves it to the form not to the database We should have made that done But this is the tumor last way up in committing it And now you have to add In the PHP controller method Add scripting 2 respectively implement the buttons click Method You can also do the model So in the controller You can add script and then in the model Add scripting which is called from the controller if you want to separate your code a bit In the in the and if you're not gonna be adding Any script to the model Just add 9 Movies to Spaces in front of a wise it might scream at you that you Script there And as you can see the go to companies as simply Taking me back to the company's View Where is the Edit company Implements the German horse convention of opening an item to edit it By the correct channels so this is just At work here And we are checking a token and all that So do Miller Bodybuilders sets of all the tokens and everything So you The snippet you can reuse for your purposes if you want And obviously we have an area for Preston scripting and as you can expect There's a lot of practice custom scripting Going on In in that View And it has its respective places again if you wanna know where what's happening at some snippet here Compiler components search for that snippet and you'll see where this comes up If you not certain by the naming conventions refused And that is really how you setup a Hey admin custom admin View To look at the other one Let's close out here That is the combined results View Now the combined results is this one up here if you click it now I will tell you this we need to have some item selector And then you select the items and click There again And it will do a combined resolve Taking both companies And Adding it's data together And giving you a nice layout structure Of office thaLine truncated
|
||||
We need to have a quick look at custom admin views [00:00:04](https://www.youtube.com/watch?v=gtdQ1lwB9ds&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h00m04s) They do have some nice ways of doing things Very similar to sight views But some Aspects and adding it to component builder is different And so in the next video We will look at adding site views as well as component Custom admin Views To the component The reason I didn't speak much about the custom admin views is simply because Summon distributor is not [00:00:33](https://www.youtube.com/watch?v=gtdQ1lwB9ds&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h00m33s) Using Custom admin views yet Where is I have another component here I can use as a example Called component Is called Cost-benefit projection It's a It's a tool that is used to show companies the cost benefits Of intervening on certain diseases and causes in the company Anyway [00:01:04](https://www.youtube.com/watch?v=gtdQ1lwB9ds&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h01m04s) In it we have what we call a company results And combined results Respectively used To display custom data In the back end of the component to the certain different people who has permission to view those data Now in the component itself If we clicked on companies You would see there is an icon underneath each of these [00:01:36](https://www.youtube.com/watch?v=gtdQ1lwB9ds&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h01m36s) Names of the Companies And there is a new button here the top called combine Results Now This button as well as those buttons Are dynamically added by component Builder And in the next tutorial I'll show you exactly how that is done What I want to show you here is Simply how a custom admin view will look So I'm gonna click on one of these, this is all dumb information so [00:02:07](https://www.youtube.com/watch?v=gtdQ1lwB9ds&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h02m07s) So you'll see me Let's open this one Now basically you have this big area where you could put a lot of HTML and PHP And you have some custom buttons that you can add on show you that And then So all of this in this white area is simply done in the custom View So if I was to click around I've got a menu here at the side All of this is done inside of the custom Area [00:02:44](https://www.youtube.com/watch?v=gtdQ1lwB9ds&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h02m44s) Of the component Which is now the Custom admin View And That is basically how it will look It has Different Value sets And you can from here add an edit button Since we've linked it to a specific client Or company or one item in that list [00:03:10](https://www.youtube.com/watch?v=gtdQ1lwB9ds&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h03m10s) We can actually click on edit From here we go right into the company's data And edit it And What is nice if we were to click close here You actually take us back to that Exact result page And you can then go and look at The implementation What you've done [00:03:35](https://www.youtube.com/watch?v=gtdQ1lwB9ds&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h03m35s) Is it that is just simply showing you how a custom admin view could look Let's go back to the company's list or we could go back to dashboard now look at component Builder And we looked at this company results we open that one And here is all PHP and HTML On my page Doing all the work And of course As you might expect I'm loading in a lot of templates here [00:04:05](https://www.youtube.com/watch?v=gtdQ1lwB9ds&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h04m05s) So I'm loading in templates Directly From here And Then I have a custom button area Where I can I can say yes I want to add custom buttons Then I click on Custom buttons here and you see I have Icons I can select Call it [00:04:25](https://www.youtube.com/watch?v=gtdQ1lwB9ds&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h04m25s) The name of the button And a controller method Which I would like to use to actually make the button work so in this one I'm saying go to company This one is edit company And here I should say Is this gonna What kind of Target are we think looking at Is this a A single a list or both [00:04:52](https://www.youtube.com/watch?v=gtdQ1lwB9ds&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h04m52s) And you said that respectively And Then you click save this only saves it to the form not to the database We should have made that done But this is the Joomla's way of implementing it And now you have to add In the PHP controller method Add scripting to respectively implement the buttons click Method [00:05:16](https://www.youtube.com/watch?v=gtdQ1lwB9ds&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h05m16s) You can also to the model So in the controller You can add script and then in the model Add scripting which is called from the controller if you want to separate your code a bit In the in the and if you're not gonna be adding Any script to the model Just add none with this two Spaces in frLine truncated
|
||||
@@ -1 +1 @@
|
||||
Hi Now let's look at adding admin views and side views to component Builders component And looking at all the different switches and the nice features that we have there So first login here They may have component builder open on the component burger And then we will go to Finance And we will open Some industry Tributo And then go to settings And then settings you see there is a place for admin views we're ready illustrated adding the admin views Then there's custom admin views and there are side views I do wanna look at those now so I'll just click on add custom admin View There isn't any added to this component because Sorry 7 distributor does not have Customer reviews But I'll illustrate it in another component for you Land site views It has quite a few You might sometimes open it and see That some of the buttons are not selected Although you know you selected it previously and saved You know now doesn't show This is a glitch and In the July Zone JavaScript for whatever That is causing this and so the only way I have found to solve it as yet is to send Open Like for now you see the app and do the same So if you close it and open it again It has it all selected This is a heads up keep a look out for this because if you make changes and save it with those Your build will Not include those values Since it will be stored is now And Yeah you might get unexpected results So voice make sure that your old pics are Place that just a heads up Something I can change the state Laughing Repeatable fields Ok so if we go to side view And we just Closer again Open it again You see everything is selected You see that it has 123 Four options here Obviously here you select the side views Just add as many as you like Then add menu means that this side view will be added to the admin you Aspect of Joomla Erase you go to create menu And then you go to admin you Item Then there is a select Type and when you click on select type then there is this list Articles and whatever I do say yes there you'll create a XML file Which allows Similar to notice that your component needs to be in the list And the XML file will look at in the moment But that's just do know that's what this Switch here admin you does Add metadata means that Page Is gonna actually make use of the Net the metadata That is being passed to it Usually that means that in your model you've set up your data So that there is a Metadata in the items array or in the Yeah in the item array or in diverse array Either Bye-bye The global setting or Why are the actual item So this is meta implementation You even if you said yes yeah And you did not Set up the data in the in the model Correctly it won't work and the way for you to look at that is obviously clicky is here try it The best setting up the data the model then compile and go look in the view Data SIM Albert php file to see how it grabs the metadata because it will still add The Script that is needed to load the metadata into the You the document But if it doesn't Grab it correctly Then you'd see that as well Ok then Whether you can only have one default View So don't like more than one too yes What to do if your view effectively is is that sometimes when You make a change and the system doesn't know where you wanna go It actually throws you back to the default View Now that before view could I maybe your sites default view being home page Or it can be if your in this component it could be for example on this one it's preachers So Let's say some of these views you you said that they don't let us use her Public user don't have access for example 2 sermon then if they try to access that The system will throw them back to the default view and give him a message saying you don't have access Answer that's what the default View Primarily used for at the moment But I can see it being coming even more useful as we continue to improve in component Builder Then add access It's basically making sure that a Sydney user has the specific access rights You see in a in an item you can set the access rights As well as the view rights So it's multiple implementations Different department Asians one has access groups the other one is just groups And so you can tweak whether you want access on this specific View to be monitored And If you take that N Component building will ensure that the access Table is there Ok So that is adding a side view 2 Do your component Obviously after having created the side view Then this is how you can add it to check it See how it works Ok now next up we gonna look at Custom admin views being added Thank you for watching
|
||||
Hi Now let's look at adding admin views and site views to component Builders component And looking at all the different switches and the nice features that we have there installed for you So we first login here Then we have component builder open on the component builder And then we will go to [00:00:25](https://www.youtube.com/watch?v=zZ_HJeYL8ps&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h00m25s) Let's see components And we will open Sermon Distributor And then go to settings And in settings you see there is a place for admin views we're ready illustrated adding the admin views Then there's custom admin views and their site views And we wanna look at those now so I'll just click on add custom admin View There isn't any added to this component because component builder Sorry [00:01:01](https://www.youtube.com/watch?v=zZ_HJeYL8ps&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h01m01s) sermon distributor does not have a Custom admin views But I'll illustrate it in another component for you Then site views It has quite a few You might sometimes open it and see That some of the buttons are not selected Although you know you selected it previously and saved You know now doesn't show This is a glitch and [00:01:25](https://www.youtube.com/watch?v=zZ_HJeYL8ps&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h01m25s) In the Joomla's own JavaScript or whatever That is causing this and so the only way I have found to solve it as yet is to simply re-open Like for now you see the admin view that's same issue So if you close it and open it again It has it all selected This is a heads up keep a look out for this because if you make changes and save it with those buttons unticked Your build will [00:01:56](https://www.youtube.com/watch?v=zZ_HJeYL8ps&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h01m56s) Not include those values Since it will be stored as null And Yeah you might get unexpected results So always make sure that your old ticks are All in place that just a heads up Not really something I can change at this stage it is a Joomla thing of the repeatable fields Ok so if we go to site view [00:02:21](https://www.youtube.com/watch?v=zZ_HJeYL8ps&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h02m21s) And we just Close it again and Open it again You see everything is selected You see that it has 123 4 options here Obviously here you select the site views Just add as many as you like Then add menu means that this site view will be added to the add menu Aspect of Joomla [00:02:46](https://www.youtube.com/watch?v=zZ_HJeYL8ps&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h02m46s) You know If you go to create menu And then you go to add menu Item Then there is a select Type and when you click on select type then there is this list Articles and whatever Now if you say yes there you'll create a XML file Which allows Joomla to notice that your component needs to be in the list And the XML file we will look at in the moment [00:03:12](https://www.youtube.com/watch?v=zZ_HJeYL8ps&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h03m12s) But that's just you know that's what this Switch here add menu does Add metadata means that this page Is gonna actually make use of the Net the metadata That is being passed to it Usually that means that in your model you've set up your data So that there is a Metadata in the items array or in the In the item array or in the this array [00:03:47](https://www.youtube.com/watch?v=zZ_HJeYL8ps&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h03m47s) Either By by The global setting or By the the actual item So this is meta implementation You even if you set yes here And you did not Set up the data in the in the model Correctly it won't work and the way for you to look at that is obviously click yes here try your best setting up the data the model then compile and go look in the view .HTML.PHP file to see how it grabs the meta data because it will still add [00:04:22](https://www.youtube.com/watch?v=zZ_HJeYL8ps&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h04m22s) The Script that is needed to load the metadata into the the document But if it doesn't Grab it correctly Then you'd see that as well Ok then Whether you can only have one default View So don't click more than one to yes but what the default view effectively is is that sometimes when You make a change and the system doesn't know where you wanna go [00:04:53](https://www.youtube.com/watch?v=zZ_HJeYL8ps&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h04m53s) It actually throws you back to the default View Know that default view could either be your sights default view being home page Or it can be if your in this component it could be for example on this one it's preachers So Let's say some of these views you set that they don't user a Public user don't have access for example to sermon then if they try to access that page The system will throw them back to the default view and give him a message saying you don't have access And so that's what the default View Primarily Line truncated
|
||||
@@ -1 +1 @@
|
||||
Hi Now we'll look at adding custom attribute to a component You make use of cost-benefit projection As our component And then Go to settings And then we'll go to custom admin views And we'll see Close that The game I will see you there has to custom admin views at it Now It is more switches than the site view because of its implementation being more than I make You can choose an icon Because in the backend You possibly I want to have an icon when your on that page The right Page Then you can decide with this should show in the main menu Negative you should show in the main menu the main menu Is a menu that drops down out of Zuma last menu item list Right And then the dashboard Which is that Dashboard we go to every time when we start with a component that All the icons are shown up Then the submenu is the one on the on the left Which you see when you are in a view So these are all placements where you can possibly have This Custom View Now if you remember The company Results we didn't add 2 Any of the Views individually we added 2 items so that's why all of these are set to know And That means we are at with targeting an item In a view Answer all we need to do a select the view which we are dieting Which is company And we say ok Does metadata yes or no And it has access yes or no And That's basically it To ensure that Targets the correct view is simply by selecting company here If I close this from Ormonde And then open that component So you what is happened with the settings Do you have a component open If I was to open Companies You see that has a button here 4 company result Now If you remember when we set up this custom admin View We we ensure that We are targeting an item ID And by selecting company we are saying we are talking to this company's item ID And that is what makes it work And then we said we want to see a chart I'm so if we look at these this little charts The icon itself We take on it We see the custom view shows up and that icon shows up next to it And all works well We also see that there is a combined results Button showing up here in the toolbar And that is because combined results Which selected we want carts To be the icon And we said List of records is set to yes And has metadata Hyundai success and also company And so D selections before Is only really necessary when you select main menu and submenu Because anyone to say before what Item you want this Menu to be created Now we selected dashboard list of Records And because of that Places that in here And you need to select the records that you want to look at And then you can complete on the combined results I'll grab those ID and Since we are modelling a data in the controller and the model It gives back to the view these results Through the custom implementation be done So Just a quick refresher If we go to component Builder And customer reviews Open company results We see that in the custom button We added the PHP You also added the button Explain two Two component builder what we what kind of buttons we want So we said we are struggling a single item is see those Edit company go to company logos does buttons R Actually related to Going inside of the And Then if you come out of this We saw that even and combined results We also added buttons But again those buttons the card companies go to companies Which corresponds to this controller And if we go to the view itself And we see that that's not responding to this button but actually To the buttons inside called companies and edit Those that's the buttons you were building in the custom View Where is the buttons we are looking at in here Is related to opening the custom view itself So That is too quick Refresher Same goes with the combined results Combined results is the button that you are setting up here Where is the other buttons are once you have combined them And you've take combined results You see that it adds two buttons dashboard and companies and those two buttons with setup in the view it Self So that you can know and sort of Understand what Area controls what set of buttons This area controls the buttons before open Bring the view where is interview the buttons your setting up there is 4 when you have opened the view Ok so that is setting up a custom admin View Do your component And some of the switches obviously again If anything is unclear or you not exactly sure You can all this Lee come on on and do anything So simply go change it to what you would think should work and compile a component and go look in the car And see what has been done and look and the Uno car Interface See what is being displayed And play around with it until you get that what you expected Just a quick heads up this Or ordering before is only compulsory when Actually selecting at main menu or at sub menu And if you're even use those It means That If If you got your component You have the icons area and here in the top you have your your Your Main menu items And once you've opened A When you'reLine truncated
|
||||
Hi Now we'll look at adding custom admin view to a component We'll make use of cost-benefit projection As our component And then we Go to settings And then we'll go to custom admin views And we'll see oh let's just [00:00:20](https://www.youtube.com/watch?v=sPEkbuNXwds&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h00m20s) Close that open again Now will see you there has to custom admin views added Now It has more switches than the site view because of its implementation being more dynamic You can choose an icon Because in the backend You possibly want to have an icon when your on that page on the right [00:00:45](https://www.youtube.com/watch?v=sPEkbuNXwds&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h00m45s) of the page Then you can decide where this should show in the main menu Selective if you should show in the main menu the main menu Is a menu that drops down out of Joomla's menu item list Right And then the dashboard Which is that Dashboard we go to every time when we start with a component that All the icons are showing up Then the submenu is the one on the on the left [00:01:14](https://www.youtube.com/watch?v=sPEkbuNXwds&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h01m14s) Which you see when you are in a view So these are all placements where you can possibly add This Custom View Now if you remember The company Results we didn't add to Any of the Views individually we added to items so that's why all of these are set to no [00:01:41](https://www.youtube.com/watch?v=sPEkbuNXwds&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h01m41s) And That means we are targeting an item In a view And so all we need to do a select the view which we are targeting Which is company And we say ok It has metadata yes or no And it has access yes or no And That's basically it [00:02:02](https://www.youtube.com/watch?v=sPEkbuNXwds&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h02m02s) To ensure that Targets the correct view is simply by selecting company here If I close this for a moment And then open that component Show you what is happened with the settings So here we have that component open If I was to open Companies over here You see that has a button here for company result [00:02:27](https://www.youtube.com/watch?v=sPEkbuNXwds&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h02m27s) Now If you remember when we set up this custom admin View We we ensured that We are targeting an item ID And by selecting company we are saying we are targeting this company's item ID And that is what makes it work And then we said we want to see a chart I'm so if we look at these this little charts what shows up in [00:02:55](https://www.youtube.com/watch?v=sPEkbuNXwds&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h02m55s) The icon itself We click on it We see the custom view shows up and that icon shows up next to it And all works well We also see that there is a combined results Button showing up here in the toolbar And that is because combined results Which selected we want cogs To be the icon And we set [00:03:25](https://www.youtube.com/watch?v=sPEkbuNXwds&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h03m25s) List of records is set to yes And has metadata And has access and also company And so These selections before Is only really necessary when you select main menu and submenu Because then you want to say before what Item you want this Menu to be created Now we selected dashboard list of Records [00:03:55](https://www.youtube.com/watch?v=sPEkbuNXwds&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h03m55s) And because of that It places that in here And you need to select the records that you want to look at And then you can click on the combined results And they'll grab those IDs and Since we are modelling a data in the controller and the model It gives back to the view these results Through the custom implementation we've done So Just a quick refresher [00:04:25](https://www.youtube.com/watch?v=sPEkbuNXwds&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h04m25s) If we go to component Builder And custom admin views and we open company results We see that in the custom button We added the PHP We also added the button We explain to To component builder what we what kind of buttons we want So we set we are targeting a single item you see those Edit company go to company now those buttons [00:04:55](https://www.youtube.com/watch?v=sPEkbuNXwds&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h04m55s) are Actually related to Going inside of the view And Then if you come out of this We saw that even and combined results We also added buttons But again those buttons Vcard companies gotocompanies corresponds to this controller And if we go to the view itself [00:05:27](https://www.youtube.com/watch?v=sPEkbuNXwds&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h05m27s) And we'll see that that's not responding to this button but actually To the buttons inside called companies and edit Those that's the buttons you were building in the custom View Where is the buttons we aLine truncated
|
||||
@@ -1 +1 @@
|
||||
Hi You wanna look at MySQL tweaking In the component area It's open a component go to settings And then there is MySQL tweak What is this able to do is if you have multiple versions of a component And Barclay you have demo that relates to a certain version of it but and Implementation of Items And In another version you don't want those items included We have this MySQL tweak area Where you can actually First yield select that specific View That you Want to tweak And do note that you can only make use of this feature If you're actually using the This Area Where we actually add Database Connection between The View Dummy data And view itself So let me quickly show you what I mean So you're I have opened fuel types which is one of component Builders own views And I have a connected To my Database Through this MySQL I added yes I selected table And then I selected The field types In my Database And basically Just let it all be taken into the build file And Now Since you know that some of the versions that we distribute with component Builder Don't have all the field types in it And it's a limited To only a certain few field types So to show you how that was done I will go back to That tweaking Feature So here I have component builder open And if I go to settings And I go to District feature It's you that I have Added Values here Uncertain of thems like custom admin I said no don't Include non no Add MySQL to view Table if set in the view So if the if the interview if you have the MySQL select ID Are you come through this feature Control which items actual ID is Should be Included like in the admin review I'm only including these two ideas From my Database And so it's the ideas in the admin table admin view Table And I'm also saying that it's ID based You have the future of Just including all And then you have it based Saota A way to say what you want here You can also if you are using ID is between that's a 1 and 50 Then you can use this arrow Notation with an equals Open open bracket there Do you know data between 1 and like here 500 You want to add And You can actually Do it quite simply with one two three and then Comma Ok here I'm explaining it nicely it says 1234 or 124 And then you can put a comma and then 20 And then and then 40 to 90 so you can in the same comma Delimited list You can add this notation To show that we need to include 1 to 4 And is immediately after it Add 20 and we will Grab all that IBS and Impact in limonade any other ideas and only use the ones that you have Actually notated So here is another Good example Using 14 2399 So goes on in here We going from 597 to 604 82 - 680 4 And it's in the same comma delimited list And we saying is it based and we say include these So that is That is partly what I'm having why why this is hear what it can be used for So you not including dummy data or example data in your component build structure Then this area is really redundant and you don't need to even use it You can just ignore it system ignores it as if it doesn't exist If there isn't any Data selected Well that is some tweaking feature In component Builders component area That helps you Manage your Dummy data between Versions in In your applications
|
||||
Hi We wanna look at MySQL tweaking In the component area It's open a component go to settings And then there is MySQL tweak What is this able to do is if you have multiple versions of a component [00:00:18](https://www.youtube.com/watch?v=wkSLZUEN-RE&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h00m18s) And Partly you have demo that relates to a certain version of it and Implementation of Items And In another version you don't want those items that you know included We have this MySQL tweak area Where you can actually First you've select that specific View That you [00:00:43](https://www.youtube.com/watch?v=wkSLZUEN-RE&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h00m43s) Want to tweak And do note that you can only make use of this feature If you're actually using the This Area Where we actually add Database Connection between The View Dummy data And view itself So let me quickly show you what I mean [00:01:07](https://www.youtube.com/watch?v=wkSLZUEN-RE&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h01m07s) So here I have opened field types which is one of component Builders own views And I have it connected To my Database Through this MySQL I added yes I selected table And then I selected The field types In my Database And basically Just let it all be taken into the build file And [00:01:33](https://www.youtube.com/watch?v=wkSLZUEN-RE&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h01m33s) Now Since you know that some of the versions that we distribute with component Builder Doesn't have all the field types in it And it's a limited To only a certain few field types So to show you how that was done I will go back to That tweaking Feature So here I have component builder open And if I go to settings [00:01:57](https://www.youtube.com/watch?v=wkSLZUEN-RE&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h01m57s) And I go to this tweak feature It's see that I have Added Values here and certain of them like custom admin I said no don't Include non no Add MySQL to view Table if set in the view [00:02:19](https://www.youtube.com/watch?v=wkSLZUEN-RE&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h02m19s) So if the if the in the view if you have the MySQL selected you can through this feature Control which items actual IDs Should be Included like in the admin view I'm only including these two ids From my Database And so it's the ids in the admin table admin view Table And I'm also saying that it's ID based You have the feature of [00:02:46](https://www.youtube.com/watch?v=wkSLZUEN-RE&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h02m46s) Just including all And then you have id based So it's a A way to say what you want here You can also if you are using ids between let say 1 and 50 Then you can use this arrow Notation with an equals Open open bracket there to know take between 1 and like here 500 You want to add [00:03:15](https://www.youtube.com/watch?v=wkSLZUEN-RE&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h03m15s) And You can actually Do it quite simply with one two three and then Comma Ok here I'm explaining it nicely it says 1234 or 124 And then you can put a comma and then 20 And then another comma and then 40 to 90 so you can in the same comma Delimited list You can add this notation [00:03:41](https://www.youtube.com/watch?v=wkSLZUEN-RE&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h03m41s) To show that we need to include 1 to 4 And is immediately after it Add 20 and we will Grab all that Ids and In fact it illuminate any other ids and only use the ones that you have Actually notated So here is another Good example of Using 1 4 2399 [00:04:08](https://www.youtube.com/watch?v=wkSLZUEN-RE&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h04m08s) So goes on in here We going from 597 to 604 682 - 68 4 And it's in the same comma delimited list And we saying is it's id based and we say include these So that is That is partly what I'm having why why this is here what it can be used for So you not including dummy data or example data in your component build structure Then this area is really redundant and you don't need to even use it all [00:04:46](https://www.youtube.com/watch?v=wkSLZUEN-RE&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h04m46s) You can just ignore it system ignores it as if it doesn't exist If there isn't any Data selected Well that is some tweaking feature In component Builders component area That helps you Manage your Dummy data between Versions in In your applications Thank you for watching.
|
||||
@@ -1 +1 @@
|
||||
Hi They would like to look At Component builders Options Or what we would call Global settings Night possibly through the Tutorials have From time to time touched on certain areas Now we would like to give them all Precise look at The options area of Builder It's accessible through the options button And if you have to Permissions you will see this button Open it Permissions By that I mean certain users may not see this button if they are in it A different group than that Global admin Straighter And You can change those promotional structure is as needed So you click on options All open The component builder configurations or global settings as it's often referred to Your options or settings And there are number of switches here that is worth knowing about These areas here you could add your own details if you would like to Ever displayed In the components front-end Then there is a switch here checking timer We build into component dollar the option to check in the items Every so often And here you can check If it has been locked out for 5 hours it brings it back in 12 hours 24 hours Every second day once a week or never So the check-in timer is set here And you can change it to whatever is best suited to your system Done in Egypt enable in virgin Version control Is what this area is all about You can disable it by simply saying no Or enable it by yes And then you can say how many Virgins should be kept of the item If 0 all all versions will be saved so 0 means Everything And so you can Limited To sort of prevent your system from Are being overloaded with data Then You have many fights as Feature Basically all the JSE that is being built In a component Builder Can be Changed to be minified So Why urine production You can export your components Without minifying with j s In the files and in the photos of the of the documents But the moment you feel that you've reached The place where medication is necessary and you want to use it Then you'd simply trip the switch here And that would mean if I the Joyous which is your JavaScript In the component While it's being Ok And then just some details my wife Being very involved Discussing Osisa Java Developer And Helping me look at some of the implementations As well as my own details And like I said you can add more contribute is here and they will show up And the dashboard underneath contrib Then the you Kit Uikit settings This is primarily for the bakkie that the moment being implemented in certain areas But this is only really need it most of the time and the front-end framework Of your proponent So I've added it to component builder simply soda There If I At some point decide to start adding I found in shop for the components that's being developed That's part of 40 possibly would design eventually is a front end Distributing Software That was built by component Builder So you could install this and Then run it from your Factory with a front end basically And that is still in planning We still looking at some of the security risk since so far we've been carrying people to use the Important offline and not online So we not even sure how this will work possibly we might end up with two core Components ok then the encryption settings component builder has a few places where it is Some of the data in the database And we are using a basic encryption which means we are using this key that you enter here Once you've entered this key I think because it ships without a key and that So it looks like that So once you've entered the key Please ensure that you don't change it Because Diski is what Locks the data and it's the only key that can unlock it So if you remove this key you cannot unlock it so you could remove it if you wanted to Prevent people from knowing the data in those fields But then you need to save it somewhere else because if you don't have it Then you can't retrieve the data And decrypt it Ok The next up his folder paths Before the pass There are two for the fans that you're ready can make use of the backup folder in the get folder path Please read related Notation here Where is the custom folder path in the compiler for the path I would suggested the states that you don't make any changes to them I added this fuse because I envisioned the possibility that we want to move these folders Out of our Web Area of developing Since these are part of the security Concerns we have That these files and his folders might be targeted But I haven't fully implemented this all cross the compiler infrastructure So currently it's best to leave that That folders the way they are by not adding any data in here Sorry I clicked on the back button there anyway Said by just leaving this field blank We ensure that The Next time we can look at the missions Not a permission of structure and component Builder Is not that intense But as you can see there are a lot of commission switches What's the latest Joomla release of Joomla 3.5 This promotional structure updating construct is maLine truncated
|
||||
Hi Today we would like to look At Component builders Options Or what we would call Global settings Now I possibly through the Tutorials have From time to time touched on certain areas Now we would like to give a more [00:00:19](https://www.youtube.com/watch?v=LA2WDi8G79E&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h00m19s) Precise look at The options area of Component Builder It's accessible through the options button And if you have the Permissions you'll see this button and I can open it The Permissions By that I mean certain users may not see this button if they are in it Different group than that Global [00:00:41](https://www.youtube.com/watch?v=LA2WDi8G79E&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h00m41s) administrator And You can change those permissional structures is as needed So you click on options And this will open The component builder configurations or global settings as it's often referred to or options or settings And there are number of switches here that is worth knowing about These areas here you could add your own details if you would like to have it displayed [00:01:13](https://www.youtube.com/watch?v=LA2WDi8G79E&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h01m13s) In the components front-end Then there is a switch here at check-in timer We build into component builder the option to check in the items Every so often And here you can check If an item have been locked out for 5 hours it brings it back in 12 hours 24 hours Every second day once a week or never So the check-in timer is set here And you can change it to whatever is best suited to your system [00:01:47](https://www.youtube.com/watch?v=LA2WDi8G79E&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h01m47s) And then enabling version Version control Is what this area is all about You can disable it by simply saying no Or enable it by yes And then you can say how many Versions should be kept of the item If 0 all all versions will be saved so 0 means Everything And so you can Limit it [00:02:17](https://www.youtube.com/watch?v=LA2WDi8G79E&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h02m17s) To sort of prevent your system from of being overloaded with data in the database Then You have minify JS Feature Basically all the JS that is being built In a component Builder Can be Changed to be minified So [00:02:40](https://www.youtube.com/watch?v=LA2WDi8G79E&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h02m40s) Why you are in production You can export your components Without minifying the j s In the files and in the footers of the of the documents But the moment you feel that you've reached The place where minification is necessary and you want to use it Then you'd simply trip the switch here And that would minify JS which is your JavaScript In the component [00:03:07](https://www.youtube.com/watch?v=LA2WDi8G79E&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h03m07s) While it's being complied Ok And then just some details my wife Being very involved in Discussing She is a Java Developer And Helping me look at some of the implementations As well as my own details And like I said you can add more contributors here and they will show up [00:03:32](https://www.youtube.com/watch?v=LA2WDi8G79E&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h03m32s) in the dashboard underneath contributors Then the UiKit settings This is primarily for the backend at the moment being implemented in certain areas But this is only really needed most of the time and the front-end framework Of your component So I've added it to component builder simply so that There If I [00:04:00](https://www.youtube.com/watch?v=LA2WDi8G79E&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h04m00s) At some point decide to start adding a front end shop for the components that's being developed That's part of what we possibly would design eventually is a front end Distributing Software That was built by component Builder So you could install this and Then run it from your It's Like factory with a front end basically That is still in planning We still looking at some of the security risks since so far we've been encouraging people to use the [00:04:35](https://www.youtube.com/watch?v=LA2WDi8G79E&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h04m35s) Component builder offline and not online So we not even sure how this will work possibly we might end up with two Components ok then the encryption settings component builder has a few places where it encrypts Some of the data in the database And we are using a basic encryption which means we are using this key that you enter here Once you've entered this key I think because it shifts without a key in it So look like that So once you've entered the key Please ensure that you don't change it [00:05:13](https://www.youtube.com/watch?v=LA2WDi8G79E&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h05m13s) Because This key is what Locks the data and it's the only key that can unlock it So if you remove this key you cannot unlock it so you could remove it if you wanteLine truncated
|
||||
@@ -1 +1 @@
|
||||
Hi Ok I would like to quickly demonstrate how to set up a time Beeld Now you know that In programing of his liat time must always be linked to a date Because time is stored as an integer And 4 If you only want A Field Way only 8 times said let's say 5:15 or something Then I would suggest to use a normal text field And you Create a regex Method This could be done via a I just close this This could be done via a Custom form Filter The way to setup a custom filter USA This component If you go to Marshalls and then dude see rules And in here you can create a rule And then you would use that as the filter name So you would Important Builder you create a file And you place it in your custom folder Any any name Put it in here So let me illustrate that let me Well I'm gonna illustrate that I'll just use one of these files to illustrate how to include it But you would basically create a Rule How to create to create a rule I think let me see if I can get you some documentation on that between I think the easiest would be to basically go to your Scroll up here O2 Your in component You're in Germany right So you go to libraries Jamala Then form Rules Can You can open any of these rules And you can look And what they've done And you would follow the same convention She basically extend J form rule You give it a new nickname Make sure it isn't one of these Take form rules And then We are ready component Builder Already when it when it constructs the The XML document That is used In your Construction of your form Computer modules Form If I open any of them that say this one The ready includes the rule path Andrew pass is This rule So if it if you if you using a a filter So how you would apply it is this you would simply add the word filter People's now in component builder is there is actually a way This But basically That would be the same name As That I suppose T e l Ruby the filter Ok And then in here you have your Test Basically test song Whether this is Acceptable And in here you could do regex and all kinds of nice Means to to validate whether the input field On the server side is actually acceptable So this is a server side Verification of the input And so you you you'd see in component builder if I'm just go there New And I would select text Just a normal text field You see that it has year Filter As well as validate No I think the rule gets placed here invalidate That's right Validate is where you place your room name so your custom rule name might be time Example And then that would ensure On the server side that only time was submitted Now The Next Step 2 Ensure that you The user only types in Letters Three numbers and a colon Instead of anything else I would be able to do some JavaScript here in the view footer You could add JavaScript here that targets This field Vampire adding a A class a unique class name here Or Going to the form where the field Free sample this is a field right Seduce firebug And you would select That field I'm in fire by Coetzee the ID So with JavaScript You can You can target the input of that ID And if that ID has input that is not what you would expect from time Then you could Hi there scream at the user shout or just Emptied the box with a dollar note under it But that would be a JavaScript implementation on top of your your text Field Now That is maybe a long explanation But that is how you do a a a field if only you want time If you want time and you don't mind that there is a date in volved I actually have Build a a a field like that already That I'm using You see because in In your AP table Fields you can't use the other calendar Field So I created a field That's sort of Allows me to store Do that let me let me show you There is a component I'm working on Stration component So if we go to events Open an event Then you would see that ok Yeah I can set dates But these dates If I click in the box You see it has it time Adjuster And I can select a date And adjust a time and click done And it updates the field With that selection If that is the kind of field That you're looking for then implementation is quite different I can I can do to show you that So I'll open it you can see it it the type is a text type So basically I've just added it added in Hunt It's just a normal text type you could pause the video And you can look at the the field XML Now since I'm using this field in a repeatable Field PHP editor JavaScript Is quite different right because you You have a working with a repeatable field that you can add as many Fields as you like But you want this date field to be active on everyone of those And you can't really Target A repeatable field Simply by adding some JavaScript in in in in in this area year Unless you know that feels ID and so instead of doing it in here I actually added to Javascript that is needed to make this field work Into the repeatable fields structure so let me close this and show you that Case I think it's just one event dates So one of those Values there Line truncated
|
||||
Hi Ok I would like to quickly demonstrate how to set up a time field Now you know that In programing obviously a time must always be linked to a date Because time is stored as an integer [00:00:21](https://www.youtube.com/watch?v=epA9zv4yWu0&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h00m21s) And therefore If you only want A Field Where only a time is set let's say 5:15 or something Then I would suggest to use a normal text field And you Create a regex Method This could be done via a [00:00:51](https://www.youtube.com/watch?v=epA9zv4yWu0&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h00m51s) I just close this This could be done via a Custom form Filter The way to setup a custom filter let me use This component you go to modules and then you would see rules And in here you can create a rule And then you would use that as the filter name [00:01:23](https://www.youtube.com/watch?v=epA9zv4yWu0&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h01m23s) So you would component Builder you would create a file And you would place it in your custom folder Any any name Put it in here So let me illustrate that let me Well I'm gonna illustrate that I'll just use one of these files to illustrate how to include it But you would basically create a Rule [00:01:54](https://www.youtube.com/watch?v=epA9zv4yWu0&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h01m54s) How to create to create a rule I think let me see if I can get you some documentation on that quickly I think the easiest would be to basically go to your Scroll up here go to Your in component You're in Joomla right So you go to libraries Joomla Then form and then Rules [00:02:21](https://www.youtube.com/watch?v=epA9zv4yWu0&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h02m21s) Can You can open any of these rules And you can look And what they've done And you would follow the same convention you basically extend J form rule You give it a unique name Make sure it isn't one of these Jform rule And then [00:02:43](https://www.youtube.com/watch?v=epA9zv4yWu0&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h02m43s) We are already component Builder Already when it when it constructs the The XML document That is used In your Construction of your form Sermon Distibuter modules your Form If I open any of them let say this one it already includes the rule path [00:03:17](https://www.youtube.com/watch?v=epA9zv4yWu0&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h03m17s) you see and that rule path is This rule So if you are using a filter So how you would apply it is this you would simply add the word filter equals now in component builder there is actually a way to add This But basically That would be the same name As That I suppose that Tel [00:03:48](https://www.youtube.com/watch?v=epA9zv4yWu0&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h03m48s) would be the filter name Ok And then in here you have your Test which Basically tests Whether this is Acceptable And in here you could do regex and all kinds of nice Means to to validate whether the input field On the server side is actually acceptable [00:04:10](https://www.youtube.com/watch?v=epA9zv4yWu0&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h04m10s) So this is a server side Verification of the input And so you'd see in component builder if I'm just go there It's a new And I would select text Just a normal text field You would see that it has here Filter As well as validate Now I think the rule gets placed here in validate [00:04:44](https://www.youtube.com/watch?v=epA9zv4yWu0&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h04m44s) That's right Validate is where you place your rule name so your custom rule name might be time for example And then that would ensure On the server side that only time was submitted Now The Next Step to Ensure that The user only types in . numbers and a colon [00:05:13](https://www.youtube.com/watch?v=epA9zv4yWu0&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h05m13s) Instead of anything else would be able to do some JavaScript here in the View footer You could add JavaScript here that targets This field Via adding a A class a unique class name here Or Going to the form where the field for example this is a field right [00:05:37](https://www.youtube.com/watch?v=epA9zv4yWu0&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h05m37s) it use firebug And you would select That field so in firebug you will see the ID So with JavaScript You can target the input of that ID And if that ID has input that is not what you would expect from time Then you could [00:06:02](https://www.youtube.com/watch?v=epA9zv4yWu0&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h06m02s) either scream at the user or shout or just Emptied the box with a little note under it But that would be a JavaScript implementation on top of your text Field Now That is maybe a long explanation But that is how you do a field if only you want time If you want time and you don't mind that there is a date in volved I actually have Build a field like that already [00:06:36](httpsLine truncated
|
||||
@@ -1,2 +1 @@
|
||||
Hi I would like to give you a quick tutorial on illustration on how to use Asian method In your component What is the user Creation function It is basically a part of code helper function actually The gets added to the helper class How does if you don't know where the helper classes that we could to show you To your Pasta tree Find basically your Gmail install Happiness traitor Now there is a helper class for the front end of every component as well as for the back end Looking in a backend We go to component Extra Database Helpers And it's basically that file there What is the helper Class to open it See that it's the abstract extra database helper Now that help with class gets included Into your component on every page so if you to open the main back in file with that one It's loaded by July 1st you'll see that it actually in A profile in every page So that means everything inside of that Class is available to you everywhere in your component When we cook when we actually then go back to the hour Interface Are we go to components Extra Database You see that there is a lips or actually stand for library and helpers and We have to switch Tech yes ad create user helper method Set to yes That is the The switch that you need to trap So that component build and knows that you actually want the help of class Create users Added to the helper class of your front and backend of your Aishwarya Rai I'm gonna close out here Back to the code And then Simple search 4 I want Goku uses That there is Create user See this is a public static function So you would basically call it Then colon colon Under the name of the function right Create user And you see that it said to new Now New has in it A few variables is basically an array So you can go through this class and you'd see that it has a password one or just password the password to The name Gmail And Create the user That's what this class does so it calls in the Joomla Component uses Schools in its registration And then it basically uses that model to create a user so that's what that switch does it have Fastest class to your component you can then use it in your component it doesn't Set everything else in place you still required to do as a developer to add to correct code And I'm using it View Court experts Option for someone to create a user now let me first demonstrate how it works Go to extra data base and click on experts Let's click on new There is a Expert Which you can select Users within a specific group I will also explain some of that more later There is this button create user Click on it it basically has a pop-up wearing you enter a user name Who's gonna say Testing 123 What is the username The password There we go So everything is testing And you guys click create it basically has this nice effect Busy creating at Setting it up sending out the email doing all of that for you And once it's done It lets you know who's it was created successfully The login details was emailed to the user And then it's here ready to select You can select testing 123 that you just created from the user list In the above field simply click on the blue user icon Click here Type in that testing Search And there is the user created
|
||||
You see that it basically used a very strange conversion here Basically converting the username away from the numbers now you can you can fix that By clicking edit And then changing it to 123 and say save the update Ronaldo My new application doesn't wanna allow you to use Wendy's We have this integrated user now that is connected to an expert And if you were to click there again You can still selected ok but once you select it once you can't create a new expert And select that user again So it's basically want profile connecting to one user To set up the next 4 So that's the feature I am using it for there is different ways that I have implemented this let me show you another one Obviously you realise I'm using a lot of JavaScript on this page I will show you some of that JavaScript but About yourself Ok let me just get out of here Example of be here I wrote this job tracking extension And let's say we want to create a new job order Can say whether it's a new client If it's an existing Simply selected from this list If it's new I click here I can enter all the details of the user and when I click save Create the user Stores the data in the user table not in the job or the table delete all these these So did the job on a table that never stores any user values And so that's another way that I have implemented so if we were to close this out And where to open a client The new one Beauty basically it's the same values And Everything is the same So that's another way that we integrated Integration Different ways to The way I have done it I've just listen to my clients expectation What I really would like to see and how they would like it to work And then simply Make It Happen that way My person I prefer the Ajax Way much more It's it's just seems to me So let me illustrate some of leopard show you some of the code that I used Ok so we back in The Experts View As I've done before I previously another tutorials explained how to make use of the 8 Ajax Within Component Builder Love you that like to understand what's going on let me give you a quick At the code level Within every component that makes use of Ajax A model and a controller is created Controlling is named Ajax Jason dot PHP and the module is name Find Ajax Ok let me open the model And also let me open The controller As you can see the controller basic fire is off The register tasks within the construct And then it adds the tasks Into a switch And tries to run the task basically Also an ink The model Get the module Ajax And then runs the method that basically corresponds to the task And so It runs Uses the Gmail as default Filtering If it's in the way that it gets values that are being posted And then value dates that does values actually are there Then send the values over to the model Now that's looking at it from a code side so if you look at the model Simply shows you Various Some of them are protected And some of them are public and those are usually the ones That I get calls from the controller once the Ajax gets the Verification level tennis Verified Toyota create user class Basically We first check Whether this user now this is custom script I am in this I wrote a custom component build it does not brightness Simply when you go back to the user interface You see that Scroll down here A user fields And then there's great user Just right here And that basically gets placed So that's the Ajax method I simply in that Ajax input I annotate the specific tasks The task name And specific variables And again did the method name Different method names from task names What should be validated whether it's a integer float or whatever And if there's no value What is the value by Default So this is where you set up there basically the controllers information And then hear your customised is write your script so basically Grade user gets data since from what view is it Invalidates with this Information Two actually The Experts area Then it Convert the data because it's a Jason said of datasets that I'm sending across X-ray So you can see I'm still here I'm using that Mobile helper Class and methods Your number of customers it's obviously that That is available in that class to go through it we just added in there as freebies and Always see the Need of them but I'm using them often And even if you have with Improvements on those efforts please make a pull request and we'll make those changes Then you over here Sure that we've got enough data on the right data We basically get that same method and we need to create user Get result And if it's not Bridge Resort we deal with it Morning Lee And if it is the correct result we create Add the user to the user group That's something that the user does not Does you grade user does not do So we Then have a user group setup And Basically in the component And we Set into the correct User Group This is a return message If it's an error Always hits Success So done here is the error message So if it's if it's successful thiLine truncated
|
||||
Hi I would like to give you a quick tutorial or demonstration on how to use user creation method or function In your component What is the user Creation function [00:00:18](https://www.youtube.com/watch?v=ckFakaQ90JY&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h00m18s) It is basically a part of code's helper function actually That gets added to the helper class If you don't know where the helper class is let me quickly show you now if you go to your repository where you Find basically your Joomla install you would go to administrator Now there is a helper class for the front end of every component as well as for the back end so looking in a backend We go to component [00:00:55](https://www.youtube.com/watch?v=ckFakaQ90JY&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h00m55s) Expert Database Helpers And it's basically that file there that is the helper Class if we open it we See that it's the abstract expert database helper Now that helper class gets included Into your component on every page so if you to open the main backend file with that one Which get loaded by Joomla first you'll see that it actually includes that helper file in every page [00:01:28](https://www.youtube.com/watch?v=ckFakaQ90JY&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h01m28s) So that means everything inside of that Class is available to you everywhere in your component When we actually go back to our Interface And we go to components and the Expert Database You would see that there is a libs or actually stand for library and helpers and you see We have to switch Ticked yes add create user helper method Set to yes That is the [00:02:11](https://www.youtube.com/watch?v=ckFakaQ90JY&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h02m11s) The switch that you need to trip So that component builder and knows that you actually want the helper class that Creates users to be Added to the helper class of your front and backend of your component I'm gonna close out here I am going to go back to the code And then I am going to do a Simple search for user [00:02:44](https://www.youtube.com/watch?v=ckFakaQ90JY&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h02m44s) . Here is quite a few users there it is Create user As you can see this is a public static function So you would basically call it with that class name Then colon colon and the name of the function, right which is create user And you see that it is set to new [00:03:26](https://www.youtube.com/watch?v=ckFakaQ90JY&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h03m26s) Now New has in it A few variables is basically an array So you can go through this class and you'd see that it has a password one or is just password or password two, it has a user name it has a name aswell as a e-mail And it then creates the user That's what this class does so it calls in the Joomla Component users [00:04:00](https://www.youtube.com/watch?v=ckFakaQ90JY&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h04m00s) It calles in it's registration model And then it basically uses that model to create a user so that's what that switch does it adds this class to your component you can then use it in your component it doesn't automatically just sets everything else in place you still required to do as a developer to add to correct code I'll show you what I have done and how I am using it There is a admin View called experts it's in this view that I would actually like Option for someone to create a user now let me first demonstrate how it works So I would go to expert data base and click on experts Let's click on new So you would see there is a [00:04:55](https://www.youtube.com/watch?v=ckFakaQ90JY&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h04m55s) field called Expert With which you can select Users within a specific group I will also explain some of that more later But underneath there is this button create user If you Click on it it basically has a pop-up where in you enter a user name I am just gonna say Testing 123 Use that as the username [00:05:26](https://www.youtube.com/watch?v=ckFakaQ90JY&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h05m26s) And as the password There we go, got the user name So everything is testing 123 And if I click create it basically has this nice effect where it is busy creating it Setting it up, sending out the email doing all of that for you And once it's done It lets you know that user was created successfully and the login details was e-mailed to the user And then it says here ready to select [00:06:05](https://www.youtube.com/watch?v=ckFakaQ90JY&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h06m05s) You can now select testing 123 that you just created from the user list In the above field simply click on the blue user icon Click here and you can type in that testing 123 click Search And there is the user created and we click enter You see that it basically used a very strange conversion here Basically converting the username away from the numbers now you can you can fix that By clicking edit [00:0Line truncated
|
||||
@@ -1 +1 @@
|
||||
Hi I want to show you how to use the emailing helper class in your component Email helper class is a class that gets added to your components helper area And therefore available on every page And with which you can then send emails We could look at the helper Class by going to a component that has Included And then into helpers and The filename is usually the component name Email Opened it already here As you can see it's in just the basic abstract class That Thanks Jim Ellis emailer Which is this Gmail And it gets an instance of it And add to mail and then loads in Did the variables that's required Now We'll come back to this in a moment If you look at a component What you need to do first If you are gonna use this feature in any of your components That is open this Learning manager And then go to libraries and helpers And you'll see that there add email helpers been set to on Places the helper class in your component that's all it does It doesn't implemented anywhere else So At the moment that means that if you click yes here You need to still create fields That you are gonna load to your comp Fake area Now if you don't know about the config yet means you've skipped some tutorials But it's basically this area here Which gives you the option to the ability to add Configuration options to your components option area So if we click here I scroll down you'll see that there is Mail configuration and a whole lot of fields there Now these Fields correspond to the gym last default Fields if you didn't know So if you would like to create these Fields and you need some info on what there should be in what should be their names and Everything Then go look at the Joomla Global configuration XML And you'll see all the settings in that fire file For our purposes I'm simply gonna show you how the fields look like We also have the dkm Yeah implementation available And even those Fields you will need to look at the code to know what their names should be So there's a difference of course between name and label and description When we refer to named and that is the The value that will be used in the code Ok I'll show you what I mean I just close out here Go back to the code So for example that work mailer Actually means That the name of the field is called Maile The name of the field is called that and that So goes on So these are all the fears that needs to be said If if if your component If we go back to the component Close this Utilities options area so I'm gonna open that Wanted to open your see there is a mail configuration and a dkm area Dkim So let's open a mail You see that it has the mailer status So it's over set to off then no emails will go out Auto on If it said 2 on you can decide whether you want to override the global function Adiglobal Variables Other global variables are set in your Gmail as components Global area So you would go to Global configurations And then You'd go to System No sorry It's server And then there's this mail settings here Ok These are the main or the the global settings that will be used in the in any component that does Does not add These settings in their config So if you didn't create Those Fields and added it to your component but you text the the button to sort of add the helper Cars to your component Then That means that it will basically fall back to these settings in your Joomla default Area So Just that you know And these are the values that you need to override if you want your Component in two in some way to use other PHP mail or other send mail or Other What's the other one SMTP Values than that of the global you need to set it here And That is basically what this error can do So you use Global it falls back to the Joomla Global Otherwise you can override it on this level And send it out In a way that is What you would like Idk IM area Is there more advanced area which basically allows you to override Sorry not override to encrypt And secure email sent out from you do a centre Cape that it was really you that send it This is very helpful to sort of show your the people that receive these emails that it's not Sam and it's really comes from you it's more advanced I would encourage you to read up on it these are the values Usually would be required to be added private key a public key And obviously stop periods here If this is said to know obviously it will not be used if it said to yes please ensure to add the values Otherwise it still will not be used Ok So that's basically the values that you need to still create Component does not do this for you You need to do it I could possibly foresee that In the future we might add this If you take the helper class it adds these values for you But even then if you have done it manually We'll make sure that it doesn't add in twice So as long as These values obviously be the same Names we will know actually a Somehow identify that And then not Add them dynamically So to avoid clashes But for the meantime it's not automatically being aLine truncated
|
||||
Hi I want to show you how to use the emailing helper class in your component The email helper class is a class that gets added to your components helper area And therefore available on every page And with which you can then send emails We could look at the helper Class by going to a component that has it [00:00:25](https://www.youtube.com/watch?v=tp6mMUTOF2Y&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h00m25s) Included And then into helpers and The filename is usually the component name Email If've opened it already here As you can see it's in just the basic abstract class That That takes Joomlas emailer Which is this Jmail And it gets an instance of it [00:00:48](https://www.youtube.com/watch?v=tp6mMUTOF2Y&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h00m48s) And adds it to mail and then loads in the variables that's required Now We'll come back to this in a moment If you look at a component What you need to do first If you are gonna use this feature in any of your components Let us open this Learning manager And then go to libraries and helpers [00:01:22](https://www.youtube.com/watch?v=tp6mMUTOF2Y&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h01m22s) And you'll see that there add email helpers been set to on and that only Places the helper class in your component that's all it does It doesn't implemented anywhere else So At the moment that means that if you click yes here You need to still create fields That you are gonna load to your config area Now if you don't know about the config yet it means you've skipped some tutorials But it's basically this area here [00:01:55](https://www.youtube.com/watch?v=tp6mMUTOF2Y&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h01m55s) Which gives you the option to the ability to add Configuration options to your components option area So if we click here I scroll down you'll see that there is Mail configuration and a whole lot of fields there Now these Fields correspond to the Joomlas default Fields if you didn't know So if you would like to create these Fields and you need some info on what there should be in what should be their names and Everything Then go look at the Joomla Global configuration XML And you'll see all the settings in that file For our purposes I'm simply gonna show you how the fields look like [00:02:39](https://www.youtube.com/watch?v=tp6mMUTOF2Y&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h02m39s) We also have the dkim implementation available And even those Fields you will need to look at the code to know what their names should be So there's a difference of course between name and label and description When we refer to named and that is the The value that will be used in the code Ok I'll show you what I mean I just close out here Go back to the code So for example that word mailer [00:03:13](https://www.youtube.com/watch?v=tp6mMUTOF2Y&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h03m13s) Actually means That the name of the field is called Mailer The name of the field is called that and that and so it goes on So these are all the fields that needs to be set If if if your component If we go back to the component let me just Close this You would see there is a options area so I'm gonna open that once it open your see there is a mail configuration and a dkim area [00:03:45](https://www.youtube.com/watch?v=tp6mMUTOF2Y&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h03m45s) Dkim So let's open a mail You see that it has the mailer status So it's either set to off then no emails will go out or to on If it set to on you can decide whether you want to override the global function The global Variables now the global variables are set in your Joomlas components Global area [00:04:10](https://www.youtube.com/watch?v=tp6mMUTOF2Y&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h04m10s) So you would go to Global configurations And then You'd go to System No sorry It's server And then there's this mail settings here Ok Now these are the main or the the global settings that will be used in the in any component that Does not add [00:04:40](https://www.youtube.com/watch?v=tp6mMUTOF2Y&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h04m40s) These settings in their config So if you didn't create Those Fields and added it to your component but you ticked the the button to sort of add the helper Class to your component Then That means that it will basically fall back to these settings in your Joomla default Area So Just that you know And these are the values that you need to overwrite if you want your [00:05:08](https://www.youtube.com/watch?v=tp6mMUTOF2Y&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h05m08s) Component into some way to use other PHP mail or other send mail or Other What's the other one SMTP Values than that of the global you need to set it here And That is basically what this area can do So you use Global it falls back to the Joomla Global Otherwise you can overwrite it on this level And send it out In a way that is [00:05:38](https://www.youtube.com/watch?v=tp6mMUTOF2YLine truncated
|
||||
@@ -1 +1 @@
|
||||
Hi I've already done a tutorial how to use the email helper in your components And that it or I'll actually do touch upon The storing of messages Or emails for that matter Once it's been sent Now I would like to just look at that again For those of you that may just be wanting to know that So Obviously at this stage you should know That the email helper class Basically added to the helper folder Of your components backend So and it's usually called your components name and then email That's that's the email help class so to use it In the custom script you could use the three basic brackets Is that ok and then component like that And then just email And send And That is how you would basically construct Your Your script I show that as well in the tutorial We we going to more depth How to use the email helper But At the very bottom of this class in the sent Method There is a little snippet What is significant as it may seem Actually gives you a very great Affinity Because The result Of the email that was sent Is placed in sent email This result is passed to the method as well The first it looks in your helper class Which is usually a component name Helper That's the helper class And whether this method exists in the class And this method will not exist unless you Write it So The area where you would have to write this method Is in the component there is an area Called Admin helper Let's look at that Open a component We go to libraries and helpers Scroll down And we see there is Email helper And then underneath it help her at mint class And it's in this area that you need to add that method Now I realised I've chosen the wrong components is this component actually does not use that storage But there is another one that does let's open that one instead then So again we are in Helper admin class And we have a function called Star message and this is in the components There where you edit your component So this store message has what we call a signature Values that it is passing to the method And in the The Email helper class You see that it Also has A signature But wherever it gives this = with a value That means that that's the default value so if you do not add A value for this position there is one two three four 50 Then it will default 20 if we do not add this it will default to now So From there all the way to the end all of those values halves that basically than all No value So In reality you only need to add you know these values the first for But Those values are all used in this method So do you wanna understand exactly how these value should look look inside of the method Read through the method And you will see So Making a long story short We end up here at this Lil script Basically ask whether you created the method or not If you didn't it's simply skip said and returns the value of sent mail if it That you have created it It'll pass these variables that correspond to the signature And then inside her that method that is in your helper class That is now of this method You need to do the necessary checks and balances And discovering For example since you've got the email address You can Search Navigate bar In the user class It must equal Email Recipient = email And then returns to us the ID So That is basically how the get War works And Then when we have the user ID We can obviously make sure it's so The number and we said it to her message as user And we said it as the email and now we can store The message in whatever table or do whatever we wanna do Beyond The normal So even if you wanna do other things except Storing the message This is the method inside of which you can do it so store message Is the method inside which you can do some more custom scripting On top of your email integration Ok so that's just quickly giving a little bit more depth on that specific aspect Abusing The email class in your component Thank you for watching
|
||||
Hi I've already done a tutorial how to use the email helper in your components And in that tutorial I actually do touch upon The storing of messages Or emails for that matter Once it's been sent Now I would like to just look at that again For those of you that may just be wanting to know that [00:00:24](https://www.youtube.com/watch?v=peVNLsAncGY&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h00m24s) So Obviously at this stage you should know That the email helper class it basically added to the helper folder Of your components backend So and it's usually called your components name and then email That's that's the email helper class so to use it In the custom script you could use the 3 braces brackets Is that ok and then component like that And then just email [00:00:59](https://www.youtube.com/watch?v=peVNLsAncGY&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h00m59s) And sent And That is how you would basically construct Your Your script I show that as well in the tutorial We we going to more depths of how to use the email helper But At the very bottom of this class in the send Method [00:01:21](https://www.youtube.com/watch?v=peVNLsAncGY&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h01m21s) There is a little snippet quite its significant as it may seem Actually gives you a very great Ability Because The result Of the email that was sent Is placed in send email This result is passed to the method as well The first it looks in your helper class [00:01:47](https://www.youtube.com/watch?v=peVNLsAncGY&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h01m47s) Which is usually a component name Helper That's the helper class And whether this method exists in that class And this method will not exist unless you Write it So The area where you would have to write this method Is in the component there is an area Called [00:02:13](https://www.youtube.com/watch?v=peVNLsAncGY&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h02m13s) Admin helper Let's look at that So we open a component We go to libraries and helpers we scroll down And we see there is Email helper And then underneath it helper admin class And it's in this area that you need to add that method Now I realized I've chosen the wrong components so this component actually does not use that storage concept [00:02:47](https://www.youtube.com/watch?v=peVNLsAncGY&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h02m47s) But there is another one that does let's open that one instead then So again we are in Helper admin class And we have a function called Store message and this is in the components That where you edit your component So this store message has what we call a signature Values that it is passing to the method And in the The [00:03:19](https://www.youtube.com/watch?v=peVNLsAncGY&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h03m19s) Email helper class You see that it Also has A signature But wherever it gives this = with a value That means that that's the default value so if you do not add A value for this position there is one two three four fifth position Then it will default to 0 if we do not add this it will default to null So From there all the way to the end all of those values haves basically the [00:03:51](https://www.youtube.com/watch?v=peVNLsAncGY&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h03m51s) Null value So In reality you only need to add you know these values the first four But Those values are all used in this method So if you wanna understand exactly how these value should look look inside of the method Read through the method And you will see So Making a long story short [00:04:17](https://www.youtube.com/watch?v=peVNLsAncGY&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h04m17s) We end up here at this little script Basically ask whether you created the method or not If you didn't it simple skips it and returns the value of send mail if it sees That you have created it It'll pass these variables that correspond to the signature And then inside of that method that is in your helper class That is now this method You need to do the necessary checks and balances And discovering For example since you've got the email address [00:04:52](https://www.youtube.com/watch?v=peVNLsAncGY&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h04m52s) You can Search with the getVar In the user class It must equal Email Recipient = email And then returns to us the ID So [00:05:09](https://www.youtube.com/watch?v=peVNLsAncGY&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h05m09s) That is basically how the getVar works And Then when we have the user ID We can obviously make sure it's The number and we set it to our message as user And we set it as the email and now we can store The message in whatever table or do whatever we wanna do Beyond The normal So even if you wanna do other things except [00:05:38](https://www.youtube.com/watch?v=peVNLsAncGY&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h05m38s) Storing the message This is the method inside of which you can do it so store message IsLine truncated
|
||||
Reference in new issue
Block a user