PHP 内部的智能变量


smarty variable inside php

我需要在我的php标签中调用smarty变量。我还添加了功能..这是我聪明的变量

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

/resut = 谷歌

我的函数

function smarty_get_video_meta($params, &$smarty)
{
global $video; 
if (empty($params['uniq_id']) && empty($params['video_id']))
    return '';
$video_id = 0;
if ($video['source_id'] == 0)
{
    $sql = "SELECT item_id 
        FROM pm_embed_code, pm_meta
        WHERE pm_embed_code.uniq_id = '". $video['uniq_id'] ."'
        AND pm_embed_code.id = pm_meta.item_id";
        if ($result = mysql_query($sql))
        {
            $row = mysql_fetch_assoc($result);
            mysql_free_result($result);
            $video_id = $row['item_id'];
        }
}
else
{
    $video_id = $params['video_id'];
}
if ( ! $video_id)
    return '';
$meta = get_meta($video_id, IS_VIDEO, $params['key']);
return $meta[$params['key']];
}

PHP代码

    {php}
    $url = $this->get_video_meta('test'); 
    echo $url; 
    {/php}
下面是

一个示例:

{assign var="video_meta" value=$video_data}
{php}
$metas = $this->get_template_vars('video_meta');
echo $metas['id'];
{/php}

get_template_vars分配

编辑

实际问题是:调用一个为{php}{/php}标签之间的智能模板编写的函数......这对我来说真的很有意义,但仍然...

smarty_get_video_meta( array( 'video_id' => $video_data.id, 'key' => 'Google' ), $this );

这就是您在 PHP 中的模板文件中调用函数的方式。

在聪明:

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