smarty if empty else smarty 值

smarty if empty else smarty value

我有聪明的价值,如果它是空的需要另一个结果

{get_video_meta video_id=$video_data.id key='test'}

打印此值"test"如果此值为空,我该如何使用?

 {if !empty({get_video_meta video_id=$video_data.id key='test'})} 
  No value
 {else}
 {get_video_meta video_id=$video_data.id key='test'}
{/if}

此代码无效

您可以为变量赋值:

{if empty($code)}
    {assign var='code' value='404'}
{/if}

但我想你需要这样的东西:

{if empty($video_data.id)}
    No value
{else}
    {get_video_meta video_id=$video_data.id key='test'}
{/if}

因为 get_video_meta - 它是一个聪明的插件,你不能像尝试使用它那样使用它...

在foreach中:

{foreach from=$video_data key=k item=v}
    {if empty($k)}
        No value
    {else}
        {get_video_meta video_id=$v.id key=$k}
    {/if}
{/foreach}

您可以使用 the {capture} function 将输出捕获到一个变量中,然后选择如何处理它:

{capture name="video_meta"}{get_video_meta video_id=$video_data.id key='test'}{/capture}
{if empty($smarty.capture.video_meta)}
 No value
 {else}
 {$smarty.capture.video_meta}
{/if}