我可以在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');
?>
答案 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中使用它。