我的问题的标题可能不清楚,所以让我解释一下我面临的问题。
我是vBulletin系统的新手,但我在现有论坛上有一些工作要做。给定的论坛在顶部标题上有一个徽标。论坛应该可以从基于语言环境的不同域访问,并且在每种情况下,徽标必须是不同的。
正如我所知,vBulletin系统在数据库中保存了所有模板(一个名为“模板”的表)。我找到了带有标题内容的行,其中插入了徽标。它看起来像这样:
$final_rendered = '<div class="above_body"> <!-- closing tag is in template navbar -->
<div id="header" class="floatcontainer doc_header">
' . '';
if (vB_Template_Runtime::fetchStylevar('titleimage')) {
$final_rendered .= '<div><a name="top" href="' . vB_Template_Runtime::linkBuild("forumhome") . '"
class="logo-image"><img src="' . vB_Template_Runtime::fetchStylevar("titleimage") . '"
alt="' . vB_Template_Runtime::parsePhrase("x_powered_by_vbulletin", '' . $vboptions['bbtitle'] . '') . '" /></a></div>';
} else {
$final_rendered .= '';
}
...
这里的关键部分是src="' . vB_Template_Runtime::fetchStylevar("titleimage") . '"
,它实际上设置了图像源。源本身再次保存在DB中,并在vBulletin的管理工具中设置。现在我需要的是根据域更改源。
我当然知道要这样做,但我不知道该怎么做。我认为手动更改数据库是不对的。 据我所知,系统使用这些数据库行生成每个页面模板,所以我最好在它完成的地方做一些更改?
问题是,我无法找到构建实际模板的正确位置,或者来自DB的这些行首次加载的位置。
任何人都可以告诉我在何处或如何实现这一目标?
请注意,我不仅需要更改页眉图片,还需要更改页脚,侧边栏等其他内容...所以最好找到一些最终的“变量”或其他内容并进行更改它只是替换字符串。
解决方案不需要是一个完美的想法,只需粗略而快速的解决方案就可以满足......
答案 0 :(得分:2)
创建一个使用“global_bootstrap_init_start”挂钩的插件,以便它可以在您需要的各个区域中使用。
让插件确定哪个域正在为页面提供服务,然后设置一个全局变量,您可以在任何需要的位置进行检查。在你的插件中加入这样的东西:
$GLOBALS[yourDomainNameVariable] = "yourKeywordForParticularDomain";
在此处进行交流讨论:HTTP_HOST vs. SERVER_NAME
您需要根据域修改包含您要更改的项目的每个模板。如果您通过查看HTML源具有不同的ID,类等,则查找和更新模板的简便方法是:
Admin Control Panel -> Styles and Templates -> Search in Templates
我尝试搜索“<div class="above_body">
”并快速找到标题模板。这是图像的代码:
`<img src="{vb:stylevar titleimage}" alt="{vb:rawphrase x_powered_by_vbulletin, {vb:raw vboptions.bbtitle}}" />`
最简单的方法是为每个域创建一个包含图像的单独文件夹,并为域中的每个图像使用相同的名称。然后,您可以用您的默认图像路径替换。例如:
`<img src="/images/{vb:raw GLOBALS.yourDomainNameVariable}/title.png" alt="{vb:rawphrase x_powered_by_vbulletin, {vb:raw vboptions.bbtitle}}" />`
我只是仔细查看了您发布的代码,我怀疑您正在使用vBulletin 3.x.我猜是因为我只使用过4.x.我不确定我所写的内容对你有多大帮助。
答案 1 :(得分:0)
选项1替换
上的徽标论坛\图像\杂项\ vbulletin3_logo_white.gif
选项2:按照步骤
进入管理面板-Admin CP
-Expand Styles and Templates
-Style Manager
-Select StyleVars from the menu for the style you using. Click Go.
-In the search box type titleimage. It should show up under ImagePaths.
-In the Url textbox set the location to your new logo.
-Click on Save