php 内的 smarty 变量
smarty variable inside php
我需要在我的 php 标签中调用 smarty 变量。我也添加了功能..
这是我的聪明变量
{get_video_meta video_id=$video_data.id key='test'}
//结果=google
我的函数
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}
编辑:
实际问题是:在 {php}{/php}
标签之间调用一个为 smarty 模板编写的函数...这对我来说确实很有意义,但仍然...
smarty_get_video_meta(
array(
'video_id' => $video_data.id,
'key' => 'Google'
), $this
);
这就是您在 PHP.
的模板文件中调用函数的方式
自作聪明:
{get_video_meta video_id=$video_data.id key='test'}
我需要在我的 php 标签中调用 smarty 变量。我也添加了功能.. 这是我的聪明变量
{get_video_meta video_id=$video_data.id key='test'}
//结果=google
我的函数
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}
编辑:
实际问题是:在 {php}{/php}
标签之间调用一个为 smarty 模板编写的函数...这对我来说确实很有意义,但仍然...
smarty_get_video_meta(
array(
'video_id' => $video_data.id,
'key' => 'Google'
), $this
);
这就是您在 PHP.
的模板文件中调用函数的方式自作聪明:
{get_video_meta video_id=$video_data.id key='test'}