2012-06-22 5 views
0

제 질문의 제목이 명확하지 않을 수 있으므로 제가 직면 한 문제에 대해 설명하겠습니다.vBulletin 템플릿의 포럼 로고 변경

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의이 라인이 인 첫 번째 위치는입니다.

누구나 내게 이걸 달성하는 방법이나 실마리를 줄 수 있습니까?

머리글 이미지뿐만 아니라 바닥 글, 사이드 바 등의 다른 부분을 변경해야합니다. 따라서 최종 "변수"또는 무언가를 찾고 변경하는 것이 좋습니다 그냥 문자열을 대체하여 그것에.

이 솔루션은 완벽한 아이디어, 단지 거칠고 빠른 사람이 만족 될 것 일 필요는 없습니다

...

답변

2

"global_bootstrap_init_start"후크를 사용하는 플러그인을 만들어 필요한 다양한 영역에서 사용할 수있게하십시오.

플러그인이 페이지를 제공하는 도메인을 결정한 다음 필요에 따라 확인할 수있는 전역 변수를 설정하십시오. 플러그인이 뭔가를 넣어 : 여기

$GLOBALS[yourDomainNameVariable] = "yourKeywordForParticularDomain";

Intersting 토론 : 당신은 도메인에 따라 변경을 원하는 항목을 가지고 각 템플릿을 수정해야합니다 HTTP_HOST vs. SERVER_NAME


. 고유 ID, 클래스 등이있는 경우
Admin Control Panel -> Styles and Templates -> Search in Templates

나는 "<div class="above_body">"에 대한 검색을 시도하고 신속하게 헤더 템플릿을 발견 : HTML 소스보고에서 찾아 템플릿을 업데이트 할 수있는 쉬운 방법이있다. 다음은 이미지의 코드는 다음과 같습니다 쉬운 일 각 도메인에 대한 이미지가 별도의 폴더가 있고 도메인에서 각 이미지에 같은 이름을 사용하는 것처럼

`<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에서만 작업했기 때문에 추측하고 있습니다. 내가 쓴 것 중 어떤 것이 당신에게 유용 할 지 모르겠다.

0

옵션 1 \ 기타 \ vbulletin3_logo_white

포럼 \의 이미지를 로고로 교체


옵션 2 .gif 참고 : 관리자 패널로 이동 단계를 수행

-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 
+0

내가 추측하는 질문을 이해하지 못했습니다. 하나의 로고가 관리자 패널에 설정됩니다. 그러나 동일한 포럼은 다른 도메인에서 액세스 할 수 있으며 각 도메인에 대해 로고가 달라야합니다. ** 코드 **에서는 어떤 도메인을 통해 액세스했는지 확인하고 로고를 변경해야합니다. – ArVan

관련 문제