PHP smarty变量错误

PHP smarty变量错误,php,variables,smarty,Php,Variables,Smarty,我有这个错误 “注意:未定义变量:第291行调用堆栈上的C:\WAMP\WWW\SITE\TOOLS\SMARTY\SYSPLUGINS\SMARTY\u INTERNAL\u DATA.PHP中的徽标” 这是我的PHP代码 function hookFooter($params) { global $smarty; $smarty->assign('ENT_QUOTES', ENT_QUOTES); if( file_exists('modules/ebbrand

我有这个错误

“注意:未定义变量:第291行调用堆栈上的C:\WAMP\WWW\SITE\TOOLS\SMARTY\SYSPLUGINS\SMARTY\u INTERNAL\u DATA.PHP中的徽标”

这是我的PHP代码

function hookFooter($params)
{
    global $smarty;
    $smarty->assign('ENT_QUOTES', ENT_QUOTES);
    if( file_exists('modules/ebbrandingfooter/logo-footer.jpg')){
        $smarty->assign('logo','modules/ebbrandingfooter/logo-footer.jpg');
    };
    $FOOTERdescription=Configuration::get('FOOTER_DESC');
    $smarty->assign('description',$FOOTERdescription );
    return $this->display(__FILE__, 'ebbrandingfooter.tpl');
}
这里是第三方物流

  {if $logo}<img src="{$logo}" />{/if}
  <p>{$description}</p>
{if$logo}{/if}
{$description}

谁能帮我一下我做错了什么?
谢谢

您可以修改PHP代码以确保设置$logo,例如:

function hookFooter($params)
{
    global $smarty;
    $smarty->assign('ENT_QUOTES', ENT_QUOTES);
    if( file_exists('modules/ebbrandingfooter/logo-footer.jpg')){
        $smarty->assign('logo','modules/ebbrandingfooter/logo-footer.jpg');
    } else {
        $smarty->assign('logo', null);
    }
    $FOOTERdescription=Configuration::get('FOOTER_DESC');
    $smarty->assign('description',$FOOTERdescription );
    return $this->display(__FILE__, 'ebbrandingfooter.tpl');
}

还请注意,在
}
之后不需要分号。

您可以修改PHP代码以确保设置$logo,例如:

function hookFooter($params)
{
    global $smarty;
    $smarty->assign('ENT_QUOTES', ENT_QUOTES);
    if( file_exists('modules/ebbrandingfooter/logo-footer.jpg')){
        $smarty->assign('logo','modules/ebbrandingfooter/logo-footer.jpg');
    } else {
        $smarty->assign('logo', null);
    }
    $FOOTERdescription=Configuration::get('FOOTER_DESC');
    $smarty->assign('description',$FOOTERdescription );
    return $this->display(__FILE__, 'ebbrandingfooter.tpl');
}
还要注意,在
}
之后不需要分号。

if(file\u exists)条件是否返回true?否则,您的logo变量赋值将不会发生,然后您的TPL将调用一个不存在的logo变量。您试图在TPL中通过说“if$logo”来解决它,但它仍然在检查布尔值。。。你应该说如果设置$logo代替你的if(file_存在)条件返回true?否则,您的logo变量赋值将不会发生,然后您的TPL将调用一个不存在的logo变量。您试图在TPL中通过说“if$logo”来解决它,但它仍然在检查布尔值。。。你应该说如果设置了$logo