Mods are installed on the default Theme's template files. It is hard for a Mod's author as well as a Theme creater to make Mods work with other Themes especially if they have several of their own template files. When a template file is not found in a custom non-default Theme the Theme will rollback and use the default Theme's template file. But for the template files that the custom Theme does use, you will need to manually install the mod on to your custom Themes template files if the mod edited the same template file in the default Theme. To apply a Mod to any Theme manually use the following steps.
Unzip or un-archive the Mod package, and look for a file ending with .mod or .xml. If you do not see a ".mod" file, then chances are the mod author is using the newer XML format - look for something like "modification.xml" or "modname.xml".
If this applies to a .xml file please skip to the XML Format instructions below.
1. Open the .mod file with any text editor and search for <edit file>...</edit file> , you will find a file name after the tag. What we are looking for here is a template file i.e. index.template.php, BoardIndex.template.php ..etc.
2. If you locate any template after the <edit file> tag, you will find the <search for>...</search for>tag below it. It will contain a block of code that must be located in the specified template.
3. After the <search for> tag, you will find one of these: <add after>...</add after> , which add a block of code after the code found. <add before>...</add before> , which add a block of code before the code found. <replace>...</replace> , which replace a block of code with the code found.
For example:
<edit file>
Themes/default/Display.template.php
</edit file>
<search>
// Show the anchor for the top and for the first message. If the first message is new, say so.
</search>
<replace>
global $bar_exps, $bar_posts;
// Show the anchor for the top and for the first message. If the first message is new, say so.
</replace>The above tells us to open Display.template.php and look for:
// Show the anchor for the top and for the first message. If the first message is new, say so.Replace with:
global $bar_exps, $bar_posts;
// Show the anchor for the top and for the first message. If the first message is new, say so.XML Format Instructions
The XML format differs slightly from the format described earlier. Once you get the hang of it, it's pretty easy though. Using the same examples as above:
1. Open the .xml file with any text editor and search for <file name="...">. You will find the filename in the "name" attribute.
2. Open up the specified file and look for a set of <operation>...</operation> tags. This indicates a single modification step within the specified file.
3. Within the operation tags, you will see two more pairs of XML tags: <search position="...">...</search> and <add>...</add>. The <![CDATA[ and ]]> tags are there to make sure the text doesn't get parsed as HTML or XML, and are not part of the code to search for or add. This is where it gets confusing. The position attribute of the search tag indicates where the code you're searching for should be in relation to what you're adding (not where you should add the code):
after - Find the code and add the specified code before it (same as <add before>...</add before>)
before - Find the code and add the specified code after it (same as <add after>...</add after>)
There are two other special positions that are relatively easy to understand:
end - Add the specified code at the end of the file.
replace - Find the code and replace it with the specified code (same as <replace>...</replace>).
For example:
<file name="$themedir/Display.template.php">
<operation>
<search position="replace"><![CDATA[
// Show the anchor for the top and for the first message. If the first message is new, say so.
]]></search>
<add><![CDATA[
global $bar_exps, $bar_posts;
// Show the anchor for the top and for the first message. If the first message is new, say so.
]]></add>
</operation>
</file>And that means, we need to open Display.template.php and look for:
// Show the anchor for the top and for the first message. If the first message is new, say so.and replace it with:
global $bar_exps, $bar_posts;
// Show the anchor for the top and for the first message. If the first message is new, say so.
Manual Installation of Mods
. It will tell you what to find and replace
.

Don't forget Daniel15's Mod Parser.
http://modparser.dev.dansoftaustralia.net/
This will give you a GUI (Graphical User Interface) of how to install a modification.