0

私の質問のタイトルは不明確かもしれないので、私が直面している問題が何であるかを説明させてください。

vBulletin システムは初めてですが、既存のフォーラムでやるべきことがいくつかあります。指定されたフォーラムには、上部ヘッダーにロゴがあります。フォーラムは、ロケール ベースのさまざまなドメインからアクセスできる必要があり、それぞれの場合でロゴが異なる必要があります。

私が理解したように、vBulletin システムはすべてのテンプレートを DB (「テンプレート」と呼ばれるテーブル) に保持しています。ロゴが挿入されているヘッダー コンテンツの行を見つけました。次のようになります。

$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を手動で変更するのは正しくないと思います。私が理解したように、システムはこれらのDB行を使用して各ページテンプレートを生成するので、それが行われた場所でいくつかの変更を加えた方がよいでしょうか?

問題は、実際のテンプレートが構築される適切な場所、または DB からのこれらの行が最初にロードされる場所を見つけることができないということです。

どこで、またはどのようにこれを達成するかについて、誰かが私に手がかりを与えることができますか?

ヘッダー画像だけでなく、フッターやサイドバーなどの他の部分にも変更を加える必要があることに注意してください...したがって、最終的な「変数」などを見つけて、単に変更することをお勧めします弦の交換。

解決策は完璧なアイデアである必要はありません。ラフで迅速なアイデアで十分です...

4

2 に答える 2

2

「global_bootstrap_init_start」フックを使用するプラグインを作成して、必要なさまざまな領域で利用できるようにします。

ページを提供しているドメインをプラグインに判別させ、必要な場所で確認できるグローバル変数を設定します。プラグインに次のようなものを入れます。

$GLOBALS[yourDomainNameVariable] = "yourKeywordForParticularDomain";

ここでの興味深い議論: HTTP_HOST 対 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 に答える