Coroner
01-21-2010, 10:00 PM
This article is for all coders, who want's a quick port of the mods into vB4.
What does this means ?
You can use you vB 3.8 templates in a vB 4.0 include the stylevars.
You need to change ALL the conditions and ALL vars.
This bridge is only for the style !
What must I do before starting ?
You need to create 2 new templates. I call 'em stylebridge.css and stylebridge_headinclude.
You can do this simply by importing the attached product (it will only create those two new templates).
stylebridge.css
this templates contais the new style for the templates (tcat, thead, alt1, alt2 ....)
stylebridge_headinclude
this is the original vB4 headinclude templates without reset-fonts.css and vbulletin.css and some other .css.
How to modify my mod (PHP) ?
Somewhere in you mod, you will find this line
require ("./global.php");
The trick is now, to change the "headinclude".
Simply add below:
$alt1_color = $alt2_color = substr (vB_Template_Runtime::fetchStyleVar('body_color'), 0, 7);
$alt1_background = substr (vB_Template_Runtime::fetchStyleVar('threadbit_bac kground'), 0, 7);
$alt2_background = substr (vB_Template_Runtime::fetchStyleVar('threadbit_alt _background'), 0, 7);
$templater = vB_Template::create('stylebridge.css');
$templater->register('alt1_color', $alt1_color);
$templater->register('alt2_color', $alt2_color);
$templater->register('alt1_background', $alt1_background);
$templater->register('alt2_background', $alt2_background);
$stylebridge = $templater->render();
$templater = vB_Template::create('stylebridge_headinclude');
$templater->register_page_templates();
$templater->register('stylebridge', $stylebridge);
$templater->register('custom_global_css_reference', $custom_global_css_reference);
$headinclude = $templater->render();
some Differencec/changes
If you are using class="page" inside a template, you should change it to: class="body_wrapper".
Also, there are two border classes: One for tcat and the other for thead.
Here comes an example:
<table class="tborder" cellpadding="{vb:raw padding}" cellspacing="{vb:math {vb:raw padding}/2}" border="0">
<tr>
<td class="tcat">enter your text here</td>
</tr>
</table>
<table class="tborder2" cellpadding="{vb:raw padding}" cellspacing="{vb:math {vb:raw padding}/2}" border="0">
<tr>
<td class="thead">enter your text here</td>
</tr>
</table>
Footnote:
Remember that this won't work for ALL mods.
This could be while:
you're mod doesn't use "global.php"
you are using vb3 and vb4 styles at the same time
... anything elseI've tested it with only one of my mods on a vB4 containing 4 different styles.
If you have any excitations, please let me know.
It would also be greatfully, if you gave me feedback how it works.
Regards
Coroner
EDIT: Fixed the Style when the CSS is stored as files
What does this means ?
You can use you vB 3.8 templates in a vB 4.0 include the stylevars.
You need to change ALL the conditions and ALL vars.
This bridge is only for the style !
What must I do before starting ?
You need to create 2 new templates. I call 'em stylebridge.css and stylebridge_headinclude.
You can do this simply by importing the attached product (it will only create those two new templates).
stylebridge.css
this templates contais the new style for the templates (tcat, thead, alt1, alt2 ....)
stylebridge_headinclude
this is the original vB4 headinclude templates without reset-fonts.css and vbulletin.css and some other .css.
How to modify my mod (PHP) ?
Somewhere in you mod, you will find this line
require ("./global.php");
The trick is now, to change the "headinclude".
Simply add below:
$alt1_color = $alt2_color = substr (vB_Template_Runtime::fetchStyleVar('body_color'), 0, 7);
$alt1_background = substr (vB_Template_Runtime::fetchStyleVar('threadbit_bac kground'), 0, 7);
$alt2_background = substr (vB_Template_Runtime::fetchStyleVar('threadbit_alt _background'), 0, 7);
$templater = vB_Template::create('stylebridge.css');
$templater->register('alt1_color', $alt1_color);
$templater->register('alt2_color', $alt2_color);
$templater->register('alt1_background', $alt1_background);
$templater->register('alt2_background', $alt2_background);
$stylebridge = $templater->render();
$templater = vB_Template::create('stylebridge_headinclude');
$templater->register_page_templates();
$templater->register('stylebridge', $stylebridge);
$templater->register('custom_global_css_reference', $custom_global_css_reference);
$headinclude = $templater->render();
some Differencec/changes
If you are using class="page" inside a template, you should change it to: class="body_wrapper".
Also, there are two border classes: One for tcat and the other for thead.
Here comes an example:
<table class="tborder" cellpadding="{vb:raw padding}" cellspacing="{vb:math {vb:raw padding}/2}" border="0">
<tr>
<td class="tcat">enter your text here</td>
</tr>
</table>
<table class="tborder2" cellpadding="{vb:raw padding}" cellspacing="{vb:math {vb:raw padding}/2}" border="0">
<tr>
<td class="thead">enter your text here</td>
</tr>
</table>
Footnote:
Remember that this won't work for ALL mods.
This could be while:
you're mod doesn't use "global.php"
you are using vb3 and vb4 styles at the same time
... anything elseI've tested it with only one of my mods on a vB4 containing 4 different styles.
If you have any excitations, please let me know.
It would also be greatfully, if you gave me feedback how it works.
Regards
Coroner
EDIT: Fixed the Style when the CSS is stored as files