Как настроить обработку ошибок в smarty?

Привет, ребята, я хотел настроить мою обработку ошибок… вот сценарий

  1. Определите в контроллере php
    Код:

    $this->CI->smarty->assign('_setData', $set_data);
    
  2. $set_data содержит
    Код:

    Array
    (
        [facebook] => https://facebook.com/ <---- this will be removed i
        [instagram] => https://instagram.com/
        [twitter] => https://twitter.com/
    )
    
  3. код в html

Код:

{$_setData.facebook}
  1. Появляется сообщение об ошибке

Код:

Severity: Notice
Message: Undefined index: facebook
Filename: templates_c/5125124f1e59f2258a491707dcd0a86cf434db62_0.file.home_template.html.php
Line Number: 94
Backtrace:.......

5.Я знаю, что нет facebook в массиве, но я хотел бы настроить ошибку, что если переменная (ex. facebook) не определен в контроллере The smarty code (ex. {$_setData.facebook}) будет просто отображать null/empty / 0.

Как это сделать в smarty? Можно ли это настроить smarty?

Дайте мне знать, если у вас есть вопросы или разъяснения к моему сообщению.

1 ответ

  1. Вы можете изменить уровень отчетов об ошибках smarty в файле php и исключить уведомления (или любые другие уведомления / ошибки в шаблоне) с помощью:

    $smarty->error_reporting = error_reporting() & ~E_NOTICE;
    

    можно также использовать модификатор по умолчанию внутри шаблона:

    {$_setData.facebook|default:''}