![]() |
Home Community Mys-Script Creative Off-Topic |
|
|
Thread Tools | Display Modes |
#6
|
||||
|
||||
![]()
Since I was asked to explain all this in more detail while helping someone, here's a more detailed explanation of how all this works.
Ok, so, as I said, let's open up classes/class_template.php. Find where private function assignTemplateVars(){ is. You'll see this inside of it: PHP Code:
Alright, beneath this small tower of $this->assign();s, we're going to assign some variables of our own. In this example, the user's current currency and the name of your site's currency. First, we will need the line $mysidia = Registry::get("mysidia");. We need this so we can have the variable '$mysidia' contain a dynamic, yet static, link to the parent class called "mysidia", so we can invoke methods and properties from it. Bellow you'll see that 'user' and 'settings' are child classes of '$mysidia' and the functions and variables that come after them are literally found inside classes/class_user.php and classes/class_settings.php. You only need to define $mysidia once inside of a function, so best to do it very early on. The next line we'll need is $this->assign("cash",$mysidia->user->getcash());. We're calling the template class, '$this' since its the one we're currently in, to use the function 'assign()' to assign a Smarty variable to the word "cash", and the variable we're assigning is the result of the 'getcash()' function found inside the 'user' class, a child class of the '$mysidia' class. And finally, this is optional -- if you want the name of your currency as defined in your settings (hint: inside the 'settings' class this variable is known as 'cost' and is being pulled from the database table adopts_settings) you can obtain it using the line $this->assign("currency",$mysidia->settings->cost);, which will assign the variable 'cost' inside the 'settings' class, a child class $mysidia, to the word "currency". So, here we go: PHP Code:
PHP Code:
Now that these are in place, save the template class file and be sure to reupload it to your server. You can now head over to your template file, template.tpl -- the one I had you create for your theme in the original post. We assigned data to the variables {$cash} and {$currency}. Place these wherever you like, save, upload the updated file, and go view your site! Great. Now to only make them display if the user is logged in. Smarty can handle some basic if-statements inside curly braces, like this: PHP Code:
__________________
Please do not contact me directly outside of Mysidia.
I also cannot troubleshoot code more than two years old - I legit don't remember it. |
|
|
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
Tips for theme? | Abronsyth | Templates and Themes | 6 | 01-03-2013 06:04 PM |
Any tips for writing a TOS? | Kesstryl | Feedback and Suggestions | 5 | 03-30-2012 06:37 PM |
Some Site Planning Tips | Tequila | Tutorials and Tips | 2 | 04-08-2011 09:17 AM |
Templates | CrystalShards | Suggestions and Feature Requests | 1 | 07-18-2009 12:48 PM |
templates | aroymart | Questions and Supports | 15 | 02-18-2009 01:46 PM |
What's New? |
What's Hot? |
What's Popular? |