Mysidia Adoptables Support Forum

Mysidia Adoptables Support Forum (http://www.mysidiaadoptables.com/forum/index.php)
-   Mys v1.3.x Mods (http://www.mysidiaadoptables.com/forum/forumdisplay.php?f=42)
-   -   Mys v1.3.4 Encyclopedia (http://www.mysidiaadoptables.com/forum/showthread.php?t=5319)

Dinocanid 12-29-2016 12:09 PM

Encyclopedia
 
I quickly made this last night as a way to add more depth to pets. Currently it's only for adopts, but it could be used for items as well.

-What this does-
This script adds a "bestiary" sort of page where users can find information on your adoptables, like so:
http://www.clipular.com/c/5634076130...rst0VN1hOdylI4
It makes the use of public functions, so no need for a separate php file for every entry!

-Step 1-
Make a new file called encyclopedia.php and paste this inside:
PHP Code:

<?php

class EncyclopediaController extends AppController{

    public function 
__construct(){
        
parent::__construct("member");    
    }
    
    public function 
index(){
        
$mysidia Registry::get("mysidia");
    }
    
    public function 
species_name_here(){
                
$mysidia Registry::get("mysidia");   
        }
}
?>

-Step 2-
Now go to your view folder and make a new file called encyclopediaview.php and paste this inside:
PHP Code:

<?php
class EncyclopediaView extends View{

    public function 
index(){
        
$mysidia Registry::get("mysidia");
        
$document $this->document;        
        
$document->setTitle("Encyclopedia");  
        
$document->add(new Comment("<h2>Choose a species below</h2>"));
        
        
$document->add(new Comment("<a href='SITEURL/encyclopedia/species_name_here'>Species name</a>"));
    }
    
    public function 
species_name_here(){
    
$mysidia Registry::get("mysidia"); 
    
$document $this->document;
    
$species "Species name here";
    
$topclicks $mysidia->db->select("owned_adoptables", array("totalclicks"), "Type='{$species}'""1 ORDER BY totalclicks DESC LIMIT 1")->fetchColumn();
    
$topadopt $mysidia->db->select("owned_adoptables", array("name"), "Type='{$species}'""1 ORDER BY totalclicks DESC LIMIT 1")->fetchColumn();
    
$topadoptowner $mysidia->db->select("owned_adoptables", array("owner"), "Type='{$species}'""1 ORDER BY totalclicks DESC LIMIT 1")->fetchColumn();
    
$count $mysidia->db->select("owned_adoptables", array(), "Type='{$species}'")->rowCount();
    
$document->setTitle("<center>{$species}</center>");
    
$document->add(new Image("PetDirectImageLink"));
    
$document->add(new Comment("<center><table class='myTable'>
<tr>
<th>Basic info</th>
</tr>
<tr>
<td><b>Species:</b> 
{$species} <br></br><b>Height:</b> height<br></br><b>Group:</b> group <br></br><b>Rarity:</b> rarity<br></br><b>Description:</b> pet description <br></br><b>Obtainable:</b> where users can find it<br></br</td>
</tr>
</table>"
));

    
$document->add(new Comment("<center><table class='myTable'>
<tr>
<th>Background</th>
</tr>
<tr>
<td>In depth description goes here. It can include origins, date created, etc.</td>
</tr>
</table>"
));

    
$document->add(new Comment("<center><table class='myTable'>
<tr>
<th>Statistics</th>
</tr>
<tr>
<td><b>Amount In-Game:</b> 
{$count}<br></br><b>Top {$species}:</b> {$topadopt} with {$topclicks} clicks. (Owned by {$topadoptowner})</td>
</tr>
</table>"
));

$document->add(new Comment("<a href='SITEURL/encyclopedia'>Return to Encyclopedia</a>"));
    }

-In Depth Explanation/ How This Works-
1. For SITEURL you post your full site url. For example, mine is located at http://adopttest.mysidiahost.com/encyclopedia

2. For PetDirectImageLink you get the image of your adoptable. This can easily be done by right clicking on an adoptable on your site and selecting "open image in new tab". Then copy the full url and paste it in.

3. This script is created to be used with custom tables! You can use the default tables as if you wish though.

4. For public function species_name_here, the name must be the same in both the base php file and view php file or else it won't work!

5. If you wish to add more entries, just copy and paste the same lines of code for each adoptable you want to add!

-Example Code-
If you require a reference to help you understand the script, here is a part of mine. (It includes my table css)

PHP Code:

<?php

class EncyclopediaController extends AppController{

    public function 
__construct(){
        
parent::__construct("member");    
    }
    
    public function 
index(){
        
$mysidia Registry::get("mysidia");
    }
    
    public function 
spaniel_flan(){
                
$mysidia Registry::get("mysidia");   
        }
        
        public function 
egg_cat(){
                
$mysidia Registry::get("mysidia");   
        }
}
?>

(encyclopedia.php)

PHP Code:

 <style>
   .myTable { width:600px; border-collapse:collapse; }
.myTable th { background-color:#543210;width:600px; padding:5px;border:5px solid #543210;color:#000;}
.myTable td { padding:5px;border:5px solid #543210;height:100px; }
</style>
<?php
class EncyclopediaView extends View{

    public function 
index(){
        
$mysidia Registry::get("mysidia");
        
$document $this->document;        
        
$document->setTitle("Encyclopedia");  
        
$document->add(new Comment("<h2>Choose a species below</h2>"));
        
        
$document->add(new Comment("<a href='http://adopttest.mysidiahost.com/encyclopedia/spaniel_flan'>Spaniel Flan</a>"));
        
$document->add(new Comment("<a href='http://adopttest.mysidiahost.com/encyclopedia/egg_cat'>Eggsotic Shorthair</a>"));
        
$document->add(new Comment("<a href='http://adopttest.mysidiahost.com/encyclopedia/hotdach'>Hotdach</a>"));
        
$document->add(new Comment("<a href='http://adopttest.mysidiahost.com/encyclopedia/ragamuffin'>Ragamuffin</a>"));
        
$document->add(new Comment("<a href='http://adopttest.mysidiahost.com/encyclopedia/black_forest_dog'>Black Forest Dog</a>"));
        
$document->add(new Comment("<a href='http://adopttest.mysidiahost.com/encyclopedia/chowchowder'>Chowchowder</a>"));
        
$document->add(new Comment("<a href='http://adopttest.mysidiahost.com/encyclopedia/apple_pom'>Apple pom</a>"));
        
$document->add(new Comment("<a href='http://adopttest.mysidiahost.com/encyclopedia/cranberry_tufted_deer'>Cranberry Tufted Deer</a>"));
        
$document->add(new Comment("<a href='http://adopttest.mysidiahost.com/encyclopedia/blue_raspberry_dragon'>Blue Raspberry Dragon</a>"));
        
$document->add(new Comment("<a href='http://adopttest.mysidiahost.com/encyclopedia/black_licorice_dragon'>Black Licorice Dragon</a>"));
    }
    
    public function 
spaniel_flan(){
    
$mysidia Registry::get("mysidia"); 
    
$document $this->document;
    
$species "Spaniel Flan";
    
$topclicks $mysidia->db->select("owned_adoptables", array("totalclicks"), "Type='{$species}'""1 ORDER BY totalclicks DESC LIMIT 1")->fetchColumn();
    
$topadopt $mysidia->db->select("owned_adoptables", array("name"), "Type='{$species}'""1 ORDER BY totalclicks DESC LIMIT 1")->fetchColumn();
    
$topadoptowner $mysidia->db->select("owned_adoptables", array("owner"), "Type='{$species}'""1 ORDER BY totalclicks DESC LIMIT 1")->fetchColumn();
    
$count $mysidia->db->select("owned_adoptables", array(), "Type='{$species}'")->rowCount();
    
$document->setTitle("<center>{$species}</center>");
    
$document->add(new Image("http://adopttest.mysidiahost.com/picuploads/png/SF.png"));
    
$document->add(new Comment("<center><table class='myTable'>
<tr>
<th>Basic info</th>
</tr>
<tr>
<td><b>Species:</b> 
{$species} <br></br><b>Height:</b> 7cm<br></br><b>Group:</b> Canine <br></br><b>Rarity:</b> Common<br></br><b>Disposition:</b> Good<br></br><b>Description:</b> Cool to the touch and feels like jelly. <br></br><b>Obtainable:</b> Adoption Center<br></br</td>
</tr>
</table>"
));

    
$document->add(new Comment("<center><table class='myTable'>
<tr>
<th>Background</th>
</tr>
<tr>
<td>The very first bab created. A popular choice among new breeders for their playful personality and friendly smile. They're rather high maintenance pets, since their sticky coat attracts all sorts of dirt, dust, and residue.</td>
</tr>
</table>"
));

    
$document->add(new Comment("<center><table class='myTable'>
<tr>
<th>Statistics</th>
</tr>
<tr>
<td><b>Amount In-Game:</b> 
{$count}<br></br><b>Top {$species}:</b> {$topadopt} with {$topclicks} clicks. (Owned by {$topadoptowner})</td>
</tr>
</table>"
));

$document->add(new Comment("<a href='http://adopttest.mysidiahost.com/encyclopedia'>Return to Encyclopedia</a>"));
    }
    
    public function 
egg_cat(){
    
$mysidia Registry::get("mysidia"); 
    
$document $this->document;
    
$species "Eggsotic Shorthair";
    
$topclicks $mysidia->db->select("owned_adoptables", array("totalclicks"), "Type='{$species}'""1 ORDER BY totalclicks DESC LIMIT 1")->fetchColumn();
    
$topadopt $mysidia->db->select("owned_adoptables", array("name"), "Type='{$species}'""1 ORDER BY totalclicks DESC LIMIT 1")->fetchColumn();
    
$topadoptowner $mysidia->db->select("owned_adoptables", array("owner"), "Type='{$species}'""1 ORDER BY totalclicks DESC LIMIT 1")->fetchColumn();
    
$count $mysidia->db->select("owned_adoptables", array(), "Type='{$species}'")->rowCount();
    
$document->setTitle("<center>{$species}</center>");
    
$document->add(new Image("http://adopttest.mysidiahost.com/picuploads/png/1bb920fa3db230cc12df5725d64410e5.png"));
    
$document->add(new Comment("<center><table class='myTable'>
<tr>
<th>Basic info</th>
</tr>
<tr>
<td><b>Species:</b> 
{$species} <br></br><b>Height:</b> 4cm<br></br><b>Group:</b> Feline <br></br><b>Rarity:</b> Common<br></br><b>Disposition:</b> Good<br></br><b>Description:</b> Likes to sizzle. <br></br><b>Obtainable:</b> Adoption Center<br></br</td>
</tr>
</table>"
));

    
$document->add(new Comment("<center><table class='myTable'>
<tr>
<th>Background</th>
</tr>
<tr>
<td>One of the first babs created. They only have front paws, which limits mobility, but that doesn't stop them from crawling around when unsupervised, so expect to find them in odd places if left alone for a while. This little critter enjoys the company of their owner, and is easy to care for.</td>
</tr>
</table>"
));

    
$document->add(new Comment("<center><table class='myTable'>
<tr>
<th>Statistics</th>
</tr>
<tr>
<td><b>Amount In-Game:</b> 
{$count}<br></br><b>Top {$species}:</b> {$topadopt} with {$topclicks} clicks. (Owned by {$topadoptowner})</td>
</tr>
</table>"
));

$document->add(new Comment("<a href='http://adopttest.mysidiahost.com/encyclopedia'>Return to Encyclopedia</a>"));
    }
}
?>

(encyclopediaview.php)

And this is an example of how it works:
http://i.imgur.com/cthUO0C.gif

Silver_Brick 12-29-2016 12:15 PM

Thanks was waiting for this :)

bisexuowl 12-29-2016 01:45 PM

was literally just about to try to figure out how to make this :o Thanks!

parayna 12-29-2016 04:30 PM

Ooh, very nice! Thank you! :D

I'm gonna attempt a few modifications actually.. I only have a few species on my site but loads of recolours planned and don't want all the recolours having their own name and instead just using the species name, so I might see if I can add individual pages for all pets....... not sure if it will work, but I can try XD

EDIT: Also! You don't need to have your site url anywhere in it. If you put:

$document->add(new Comment("<a href='../encyclopedia/vija'>Vija</a>")); [[Put your own species in, etc. XD]]

with the dots instead, it links you to the correct url. This is preferred as then if you ever update your url (maybe get paid hosting/domain name) you don't need to edit every single file ^_^

parayna 06-28-2017 02:27 PM

I've finally got around to adding this to my site, and I have a quick question! I want the links to be [my site]/archive/[species name]/[id of the species colouration] (the id wouldn't actually be the id if you get my drift... it would just be the number of the entry, and one I manually put in when I write the colours profile and stuff) So like 1 for the first colour I add to the site. (As I don't like each and every colour to have its own special name...) But also this way I can have special designs that DO have a name there instead of the number if it's special enough. But anyways lol...

I have been doing research into public, protected and private functions but I still can't really grasp how I'd do it.. (or if you'd use one of them)

I thought it was a protected function but if it is I'm not sure how I'd actually go about making that come after the species name part of the link... >.>

Sorry for the trouble ^_^''

Dinocanid 06-28-2017 03:20 PM

I think subpages are one of my weaknesses lol. I've been looking all over google on how to do it, but I can't find any information on it even though it's extremely common. I found nesting functions, but I can't get it to work with the mysidia script.

parayna 06-28-2017 03:28 PM

Yeah that's where I hit a snag too >.> I was trying to find perhaps examples within the script itself but can't, no matter which file I look in XD I might just be missing it, though... >.>

goofyunicorn 04-06-2018 12:29 PM

I put this on Beau's Aviary and it doesn't seem to be working when I click on a pet. It comes up with this.

  Spoiler: Error 
Class Beausaviary.mysidiahost.comController does not exist

Dinocanid 04-06-2018 01:33 PM

Looks like you added something wrong. Near the top of encyclopedia.php, it should say "Class Encyclopedia" or something. (Same for the view file, but it would be Class EncyclopediaView) From the looks of it, you have a url there instead.

goofyunicorn 04-06-2018 01:44 PM

Quote:

Originally Posted by Dinocanid (Post 37134)
Looks like you added something wrong. Near the top of encyclopedia.php, it should say "Class Encyclopedia" or something. (Same for the view file, but it would be Class EncyclopediaView) From the looks of it, you have a url there instead.

Nope, it's fine. No url. For the birds ID's for the URL I put beausaviary.mysidiahost.com/encyclopedia/green_budgie (and the id of the bird changes for each bird). Did I do that part wrong?


All times are GMT -5. The time now is 04:10 PM.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.