Smarty:找不到配置文件

时间:2012-12-23 14:43:54

标签: php templates smarty

尝试正确使用Smarty,我创建了一个配置文件。文件结构如下:

/Smarty/
/Smarty/cache
/Smarty/configs
/Smarty/configs/main.conf
/Smarty/plugins
/Smarty/sysplugins
/Smarty/templates_c
/templates/
/templates/main.tpl
index.php

在main.tpl中,我尝试通过以下方式从/Smarty/configs/main.conf加载main.conf: {config_load "main.conf"}如此处所述:http://www.smarty.net/docs/en/language.config.variables.tpl 这不起作用(“致命错误:未捕获异常'SmartyException',消息'无法读取配置文件'main.conf''在...中),但这确实有效:

{config_load "/var/www/vhosts/*domain*/subdomains/cms/httpdocs/Smarty/configs/main.conf"}

为什么第一个例子不起作用?我之前通过以下方式设置了配置目录:

$smarty->setConfigDir(SMARTY_DIR.'configs/');

但找不到配置目录。有人可以帮帮我吗?提前谢谢!

2 个答案:

答案 0 :(得分:1)

我遇到同样的问题,我在CodeIgniter中巧妙地集成了。这就是我所做的 1)$this->smarty->addConfigDir('YourPath');
在您的情况下可能会$smarty->addConfigDir('YourPath');

然后在浏览器中打印var_dump($this->smarty->getConfigDir()); 在您的情况下可能会var_dump($smarty->getConfigDir());

2)之后你可以改变$this->smarty->setConfigDir('YourPath'); 在你的情况下可能会成为$smarty->setConfigDir('YourPath');
它适用于我的情况。

答案 1 :(得分:0)

这里是我使用的配置示例,它与我一起正常工作

/////Smarty including
require_once('libs/Smarty.class.php');
$smarty = new Smarty();
$smarty->template_dir = 'template'; // template folder
$smarty->compile_dir = 'cache'; // Create a Folder Cache with 777 Permission

此设置适用于最新智能版Smarty 3.x。