2015-09-01 8 views
0

У меня возникла проблема, когда я обновил WHMCS 5 до WHMCS 6 на одном из моих пользовательских шаблонов.

Одна из инструкций шаблона миграции для PHP блоков, как указано HERE ниже:

Пример:

{php} 

// Retrieve a single template variable. 
$myValue = $this->_tpl_vars['myVariable']; 

// Loop through all template variables. 
foreach ($this->_tpl_vars as $key => $value) { 
    echo "{$key}: {$value}"; 
} 

// Assign a new template variable. 
$this->assign('myNewVariable', 'myNewValue'); 

{/php} 

Преобразует:

{php} 

// Retrieve a single template variable. 
$myValue = $template->getVariable('myVariable')->value; 

// Loop through all template variables. 
foreach ($template->getTemplateVars() as $key => $variable) { 
    echo "{$key}: {$variable->value}"; 
} 

// The assign() method works as it did before, though it must now be 
// called on the $template object instead of $this. 
$template->assign('myNewVariable', 'myNewValue'); 

{/php} 

Теперь проблема заключается в следующем. Как я буду конвертировать многомерные $ this -> _ tpl_vars? Или быть более точным, то как преобразовать код, который выглядит следующим образом:

$email = $this->_tpl_vars['clientsdetails']['email']; 

Я смотрел на новый $ клиента объект, но не знаете, как использовать его либо и как запросить информацию электронной почты от него.

Надеюсь, кто-нибудь может мне помочь. Благодаря!

+0

какая версия php вы используете? – superhero

+0

@ErikLandvall - сервер в настоящее время PHP 5.4 –

ответ

0

In PHP 5.4 dereferencing was introduced, так что вы должны быть в состоянии сделать:

$email = $template->getTemplateVars()['clientsdetails']['email']; 
+0

Спасибо, что сработало отлично. Ты восхитителен! –

1

Вы можете использовать, как это.

$email = $template->getVariable('clientsdetails')->value['email']; 

 Смежные вопросы

  • Нет связанных вопросов^_^