The Arcive of Official vBulletin Modifications Site.It is not a VB3 engine, just a parsed copy! |
|
|
#1
|
||||
|
||||
How does the blog product implement custom skins?
Okay, this was mind numbingly simple in the long run.
It involves making a plugin, and making a vb option, both of which can be achieved in debug mode and exported into the XML: for the blog, the plugin code is here: Code:
<plugin active="1" executionorder="5"> <title>Style: Override Style and Setup Group Blog Permissions</title> <hookname>style_fetch</hookname> <phpcode><![CDATA[if (defined('VBBLOG_STYLE') AND $vbulletin->options['vbblog_style']) { $styleid = $vbulletin->options['vbblog_style']; $vbulletin->userinfo['styleid'] = $styleid; $userselect = true; $vbulletin->options['allowchangestyles'] = false; }]]></phpcode> </plugin> and the setting code is here Code:
<setting varname="vbblog_style" displayorder="1"> <datatype>number</datatype> <optioncode><![CDATA[select:eval require_once(DIR . '/includes/adminfunctions_template.php'); global $stylecache; cache_styles(); $options = array(0 => $vbphrase['none']); foreach($stylecache AS $style) { $options["$style[styleid]"] = construct_depth_mark($style['depth'], '--') . " $style[title]"; }]]></optioncode> <defaultvalue>0</defaultvalue> </setting> hope this saves you some time, it took me 5 hours of digging through every file prefixed with blog_ to figure this out and was right under my nose as usual. //---------- when the blog is installed, you are given the option to assign a particular skin to the blog, that is different from the default style of the forum... I would like to implement this in a product I am developing as well. Where/how in the code does this happen? Can anyone give me an abstract or point to a particular file? I noticed the following line in blog.php, but can't find any further refrence: PHP Code:
Code:
<settinggroup name="vbblog" displayorder="678"> <setting varname="vbblog_style" displayorder="1"> <datatype>number</datatype> <optioncode><![CDATA[select:eval require_once(DIR . '/includes/adminfunctions_template.php'); global $stylecache; cache_styles(); $options = array(0 => $vbphrase['none']); foreach($stylecache AS $style) { $options["$style[styleid]"] = construct_depth_mark($style['depth'], '--') . " $style[title]"; }]]></optioncode> <defaultvalue>0</defaultvalue> </setting> Update, this is quite a rabbit hole. I found this in /includes/class_bootstrap.php however it is a protected var: PHP Code:
|
|
|
X vBulletin 3.8.12 by vBS Debug Information | |
---|---|
|
|
More Information | |
Template Usage:
Phrase Groups Available:
|
Included Files:
Hooks Called:
|