2012-01-11 4 views
3

매우 간단한 질문입니다. {php} {/ php} 태그 안에 멋진 var를 사용할 수 있습니까? 나는 그것이 deprecated, 무의미한, 권장하지 않음 등을 알고 있지만, 제발, 간단한 패치를 찾고 있습니다!{php} 태그 내에서 멋진 변수 사용하기

뭔가

처럼
{php} 

$result = mysql_query("SELECT value FROM table WHERE fieldid = 9 AND relid = {MYSMARTYVAR}"); 

{/php} 

감사합니다!

업데이트 : 다음 방법을 시도했습니다.

1-$var = $this->get_template_vars('smarty_var'); 
2-$var = $smarty->getTemplateVars('smarty_var'); 
3-$var = $this->_tpl_vars['smarty_var']; 

모든

나에게 치명적인 오류를주고, $이하지 않을 때 아마도 어떤 일이 차단되거나 비활성화되는 이유가 설명하는 경우 등 WHMCS 환경에서 난`개체 컨텍스트에서?

업데이트 2; 보다 단순한 솔루션을 찾았습니다. 바보가되었습니다. $ var = "{$ mysmartyvar}";

감사합니다.

{php} 

$result = mysql_query("SELECT value FROM table WHERE fieldid = 9 AND relid = {$this->_tpl_vars['MYSMARTYVAR']}"); 

{/php} 
+0

왜이 기능이 필요합니까? 나는 당신이 php에서 mysql을 호출하면 (smarty를 호출하기 전에) 더 나을 것이라고 생각한다. 아니면 특별한 이유가 있습니까? – uzsolt

답변

5

사용 $this->get_template_vars('smarty_var')가 멋지 변수를 얻을 : 그것은 다음과 같아야하므로

+0

감사합니다. Preston, 나는 get_template_vars 메소드와 getTemplateVars를 시도했지만, 두 경우 모두''비 객체에 이것을 사용하는 것과 같은 치명적인 오류가 발생합니다. ''; – Sherif

+0

오브젝트 컨텍스트가 아닌 경우 * – Sherif

+0

PHP 파일에서 Smarty 오브젝트에 지정한 이름으로 "$ this"를 바꾸려고 시도 했습니까? – Preston

0

은 예, 모든 변수는 $this->_tpl_vars에 저장됩니다.

$result = mysql_query("SELECT value FROM table WHERE fieldid = '9' AND relid = '" . $this->get_template_vars('smarty_var') . "'"); 
+0

감사합니다. 그러나이 오류가 발생합니다. 경고 : mysql_fetch_array()는 매개 변수 1이 리소스가 될 것으로 예상하고, 부울은 주어진 것입니다. – Sherif

-1

영업에서 "글로벌"

{php} 
global $smarty_object; 
$var = $smarty_object->get_template_vars('whatever'); 
{/php} 
+1

고마워, 나는이 치명적인 오류가 발생합니다 : 비 객체에서 get_template_vars() 멤버 함수를 호출하십시오 :/ – Sherif

2
{php} 
$var = $template->get_template_vars('...') 
{/php} 
0
$myValue = $template->getVariable('myVariable')->value; 
+0

이유를 설명해야합니다. –

1

대답을 사용해보십시오. 다른 사람들에게 도움이 될 수 있습니다.

매우 간단합니다.

$var= "{$mysmartyvar}"; 

이것은 저에게 효과적입니다.

관련 문제