0

我的问题的标题可能不清楚,所以让我解释一下我面临的问题是什么。

我是 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") . '"实际设置图像源。源本身再次保存在数据库中,并在 vBulletin 的管理工具中设置。现在我需要的是根据域更改源。

我当然知道要这样做,但我不确定在哪里做。我认为手动更改数据库是不对的。据我了解,系统使用这些数据库行生成每个页面模板,所以我最好在完成的地方做一些更改?

问题是,我找不到构建实际模板的正确位置,或者第一次加载DB 中这些行的位置。

谁能给我一个线索在哪里或如何实现这一目标?

请注意,我不仅需要对标题图像进行更改,还需要对页脚、侧边栏等中的其他一些内容进行更改……所以最好找到一些最终的“变量”或其他东西,然后对其进行更改替换字符串。

解决方案不需要是一个完美的想法,只要一个粗略而快速的想法就会令人满意......

4

2 回答 2

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。我不确定我写的任何东西对你有多大用处。

于 2012-07-07T04:50:17.447 回答
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 
于 2012-06-22T09:40:27.607 回答