2012-07-27 6 views
0

나는 정말 열심히 할 일이 있습니다. 솔루션을 찾기 위해 인터넷을 검색하려고했습니다. 어떤 것도 찾지 못하는 것 같습니다. 나는 또한 이것을 몇 시간 동안 시도했다."{FORUM_NAME}"을 에코로 처리하고 "{}"을 무시합니다


내가 뭘하는지 : 테마에 PHP를 포함 할 수있는 MOD 설치 PHPBB2의 테마를 만들기. 문제점 : PHP에서 {} 태그를 수행 할 때 태그를 echo 할 수 없습니다.

CreateMyTable(Name,Size,Color); 

내가 함수에 넣어 그 문자열 :

CreateMyTable("{FORUM_NAME}",1000,red); 

제목은 빈 유지, 나는 실제로 에코 할 의 내가 그런 나를 위해 표를 생성하는 기능을 가지고 있다고 가정 해 봅시다 {포럼 이름}. 어떻게해야합니까?

P.S : 나는 <? = <!-- PHP --> , ?> = <!-- ENDPHP --> becuase 작동하지 않을 것이

CreateMyTable(?>{FORUM_NAME}<?php , 1000, red); 

할 수 없습니다. 당신의 도움에 대한

  • 감사합니다 :)
+1

작은 따옴표를 사용해보세요. 도움이 될지도 몰라. – Palladium

+1

''FORUM_NAME'' 또는''FORUM_NAME' ('FORUM_NAME'이 상수 인 경우) 또는''{FORUM_NAME} ''(실제로'{FORUM_NAME}'을 출력하고 싶다면)을 쓸 수 없습니까? –

+0

아니요, 실제 포럼 이름이 아닌 FORUM_NAME을 표시합니다. html로 {FORUM_NAME}을 (를) 작성하면 포럼 이름이 에코됩니다. –

답변

1

PHPbb2 템플릿 클래스를 살펴보면 템플릿은 eval() 함수를 사용하여 평가 된 PHP 세트라는 것을 알 수 있습니다.

CreateMyTable(((isset($this->_tpldata['.'][0]['FORUM_NAME'])) ? $this->_tpldata['.'][0]['FORUM_NAME'] : ''),1000,randomcolor()); 
:이 평가를()를 사용하여 분석 한 후 템플릿이 제공 변수 이름 (템플릿이 설정이 얼마나 따라 작동하지 않을 수 있습니다)와 같은 IE의 것을 사용하기 전에 당신은 PHP의 내용을 인쇄 할 수 있습니다

위와 비슷한 방법으로 템플릿 클래스에 삽입해야합니다.

더 나은 해결책은 템플릿에서 PHP를 허용하는 mod를 사용하지 말고 템플릿에서 JavaScript를 사용하여 함수를 만든 다음 해당 JavaScript 함수에 대한 호출을 인쇄하는 것입니다.

+0

나는 그것을 시도하고있다. 작동하는 경우 여기에서 알 수 있습니다. –

+0

감사. 그게 :) –

0

이 작동합니다

CreateMyTable(FORUM_NAME,1000,red); 

가 나는 또한 red 따옴표없이 사용할 것을 발견 -이 일정한도? 변수 인 경우 그 앞에 $이 있어야합니다. 문자열이라면 따옴표 사이에 있어야합니다.

CreateMyTable(FORUM_NAME,1000,"red"); 
+0

'{FORUM_NAME} '은 실제 테이블 이름이나 상수가 아니라 파서가 해석하는 변수라고 생각합니다. 그렇다면 뷰티 구문을 사용하여 테이블을 만드는 것 ... TBH 나는 여기서 무슨 일이 일어나는지 전혀 모른다. –

+0

상수가 아닙니다. – fred2

+0

@WesleyMurch 좋은 지적. @ user1557994이 변수가 ALL-CAPS NAME의 RID를 얻었 으면 $ forumName 또는 $ forum_name으로 변경하십시오 (사용하는 명명 규칙에 따라 다름). 그리고 CreateMyTable ($ forum_name, 1000, $ 빨간색); ' – Matt