smarty如何替换exist char(php added)判断显示图片还是显示其他列

smarty how to replace exist char(php added) to judgment display image or display other column

有一个数据库 table 包括两列 "brand_logo" 和列 "brand_name" 列 "brand_logo" 只放 jpg 文件名(字符串),如

"logo.jpg"

列"brand_name"只放店名(字符串)如

"northwind_store_name"

我希望如果不存在商店标志图像值("brand_logo") 然后更改为仅显示商店名称

代码像 php部分

$tmp["Data"] = "data/brandlogo/" . $brand["brand_logo"];

smarty 模板部分

<div>
{assign "bgImg" "{$brand.brand_logo|replace:'data/brandlogo/':''}.jpg"}
{if file_exists($bgImg)}
        <img src="data/brandlogo/{$bgImg}" />
     {else}
        {$brand.brand_name}
{/if}
</div>    

希望结果(如果brand_logo不为空)

<div>
<img src="data/brandlogo/logo.jpg" />
</div>

希望结果(如果brand_logo为空)

 <div>
 <p>northwind_store_name</p>
 </div>

我不确定我的 smarty 模板部分是否正确 我已经尝试使用简单的 if else 聪明的代码,比如

  <div>
    {if $brand.brand_logo}
            <img src="data/brandlogo/{$brand.brand_logo}" />
         {else}
            {$brand.brand_name}
    {/if}
  </div> 

但它不起作用($brand.brand_logo 总是不为空!!) 因为 "data/brandlogo/" 需要用到另一个 php 代码所以我不能删除 (标记:我不确定我的 smarty 版本,所以 smarty 代码可能有两种写入方式)

smarty中不检查文件是否存在,在php中检查,然后将结果(真或假)发送给smarty。