如何从PHP中读取smarty配置变量?

时间:2010-05-29 10:08:25

标签: php smarty

我可以在PHP中使用什么函数来从Smarty的配置文件中读取变量值的类Smarty?

这是我的代码:

<?

session_start();

require('libs/Smarty.class.php');

$smarty = new Smarty;

$smarty->config_load("settings.conf");

include('settings.php');
include('meta.php');

$smarty->debugging = false;
$smarty->caching =false;
$smarty->cache_lifetime = 120;



include("categories.php");
include("manufacturers.php");
include("logos.php");

print_r($smarty->getConfigVariable("showCategories"));

close_database_session($dbconn);

//$smarty->display('index.tpl');



?>

4 个答案:

答案 0 :(得分:4)

使用get_config_vars()(您必须事先使用config_load()加载配置。)

文档中的示例:

// get loaded config template var #foo#
$myVar = $smarty->get_config_vars('foo');

// get all loaded config template vars
$all_config_vars = $smarty->get_config_vars();

更新(Smarty 3.0 RC1):

对于Smarty 3.0 RC1,它是

$smarty->configLoad($config_file, $sections = null)
// and
$smarty->getConfigVariable($variable)

请注意,目前还没有官方文档,但可用的方法列在随附的README文件中。

答案 1 :(得分:1)

我使用此代码完成了它:

$templ->fetch('template_that_loads_config.tpl');
print_r($templ->_config[0]['vars']);

答案 2 :(得分:1)

smarty->configLoad(...)会产生类似

的通知
  

“注意:函数调用'config_load'未知或已弃用。”

一种解决方法是将@置于呼叫前面,如
@smarty->configLoad($cfgFile)

答案 3 :(得分:0)

以下是获取智能分配配置变量的简单方法:

<{1}} print_r$smarty对象,记下配置变量。

获取说settings.conf的变量:

 $category_title1 = $smarty->_config[0]['vars']['driving_license_category'];

然后您可以在PHP中使用它。