Updated 026 How to setup a store message method along side the email helper class (markdown)

Amigo 2019-07-04 12:38:12 +02:00
parent 861944c77d
commit 9509e81cfe

@ -7,12 +7,12 @@ In a previous tutorial on the Email Helper, mention had been made of storing mes
At the 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 snippet, thought insignificant as it may seem, it is very beneficial, as may be seen, the result of the email that was sent is placed in 'sendEmail' and this result is transferred to the method as well. [00:01:47](https://www.youtube.com/watch?v=peVNLsAncGY&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h01m47s) First it does a search in the Helper class (which is usually a component name, 'Helper', which is the Helper Class) whether this method exists in that class. At the 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 snippet, thought insignificant as it may seem, it is very beneficial, as may be seen, the result of the email that was sent is placed in 'sendEmail' and this result is transferred to the method as well. [00:01:47](https://www.youtube.com/watch?v=peVNLsAncGY&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h01m47s) First it does a search in the Helper class (which is usually a component name, 'Helper', which is the Helper Class) whether this method exists in that class.
This method will not exist unless it is manually written in the component area. The area where this method should be written , is in the component(In the Component Builder Dashboard) in an area called Admin Helper.[00:02:13](https://www.youtube.com/watch?v=peVNLsAncGY&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h02m13s)<<<<<<<<<<<<<<<<<<<< This method will not exist unless it is manually written in the component area. The area where this method should be written , is in the component(In the Component Builder Dashboard) in an area called Admin Helper.[00:02:13](https://www.youtube.com/watch?v=peVNLsAncGY&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h02m13s)
### Adding Code To Admin Helper Area ### Adding Code To Admin Helper Area
We open a component. We go to libraries and helpers. We scroll down. We see there is email helper. Then underneath it, helper admin class. And it's in this(php) area that you need to add that method. Now I realized I've chosen the wrong components. 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, we have a function called storemessage, and this is in the components, where you edit your component. Storemessage has a signature. Values that it is passing to the method. In the [00:03:19](https://www.youtube.com/watch?v=peVNLsAncGY&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h03m19s) email helper class, you will see that it also has a signature. Wherever it gives this '=null' with a value, that is the default value. If you do not add a value for this position, there is one, two, three, four, fifth, positions, then it will default it to 0, if we do not add this, it will default to null. From there all the way to the end all of those values have the [00:03:51](https://www.youtube.com/watch?v=peVNLsAncGY&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h03m51s) null value. In reality you only need to add the first four values. Those values are all used in this method(see video). If you want to understand exactly how these value should look, look inside of the method, read through the method, and you will see. Open a component(Learning manager) and go to Libs & Helpers. Scroll down and 'Add PHP(admin_helper)' may be seen and in there is a function called 'storemessage', where the component may be editted. [00:02:47](https://www.youtube.com/watch?v=peVNLsAncGY&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h02m47s) This 'Storemessage' has a signature that exists of values that is transferred to the method.<<<<<<<<<<<<<<<<<<<<<<
In the [00:03:19](https://www.youtube.com/watch?v=peVNLsAncGY&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h03m19s) email helper class, you will see that it also has a signature. Wherever it gives this '=null' with a value, that is the default value. If you do not add a value for this position, there is one, two, three, four, fifth, positions, then it will default it to 0, if we do not add this, it will default to null. From there all the way to the end all of those values have the [00:03:51](https://www.youtube.com/watch?v=peVNLsAncGY&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h03m51s) null value. In reality you only need to add the first four values. Those values are all used in this method(see video). If you want to understand exactly how these value should look, look inside of the method, read through the method, and you will see.
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 how 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 equal 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. Then when we have the user id, we can make sure it's the number and we set it to our message as user. We set it as the email. Now we can store the message in whatever table or do whatever we want to do beyond the normal. Even if you want to 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. Storemessage is the method inside which you can do some more custom scripting on top of your email integration. That's just quickly giving a little bit more depth on that specific aspect of using the email class in your component. 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 how 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 equal 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. Then when we have the user id, we can make sure it's the number and we set it to our message as user. We set it as the email. Now we can store the message in whatever table or do whatever we want to do beyond the normal. Even if you want to 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. Storemessage is the method inside which you can do some more custom scripting on top of your email integration. That's just quickly giving a little bit more depth on that specific aspect of using the email class in your component.